/
TODO
67 lines (42 loc) · 2.04 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
MulticoreSQL todo list
H More Usage examples
H python wrapper and unit tests
M Distinguish dbdir from shard list to allow specificity about how to run queries
shards mod J == K ?
specific shard list
randomly chosen shard
M Template system for internals based on replace_words
M split query into phases for async use
M document libmulticoresql.h file
M move minor programs into libmulticoresql.c and eliminate
getopt duplication
L split all error strings to top of file in libmulticoresql.c
L comment libmulticoresql.c file
COMPLETED
---QH change default collect table name: from t --> maptable
---QH print errors from minor programs using custom mu_error_string
---QH mu_error_clear()
---QH .bail on
---QH return query result text
---QH Remove PRAGMA synchronous 0 -- risky with no obvious improvement
---QH In all sql inputs, allow either sql string or sql filename as input
(to stay at least somewhat DRY, necessitated create_query()/run_query()
split in functionality and addition of a new struct mu_QUERY )
---H Code Review: Code shall not check errno for errors, but instead
check the return code of the involved function appropriately.
Thanks to participants on this Stack Overflow question:
http://stackoverflow.com/questions/30569981/does-free-set-errno
---QH refactor, give each task a dbname to make run_query cleaner. reduce dbname can be reset to the first map dbname. Eliminate query3, etc...
--- H diagnose and correct: query leaves tmp files around when query succeeds
--- H fix tests to run from freshly downloaded git repo. Currently requires some setup.
Tests can now be run from docker container that does a fresh git clone and build
SUGGESTS
?M query options struct? make DBconf->otablename a query option?
TABLED
Already supported in explicit reducesql.
QH .headers on
QH .mode ascii|csv|column|html|insert|line|list|tabs|tcl
Not necessary. Query output as char *, error string and tmp directory
should be sufficient for most users.
H create struct for multivariable query output
H create getters for struct