Modified prepare_sql_update_stmt to fileter with WHERE
This commit is contained in:
parent
19778cc114
commit
b65c098f3d
23
Makefile
23
Makefile
@ -5,30 +5,34 @@ TEST_DIR = tests
|
||||
SRC_DIR = src
|
||||
OBJ_DIR = obj
|
||||
X_STRING_DIR = $(SRC_DIR)/xlibc/x_string
|
||||
X_CTYPES_DIR = $(SRC_DIR)/xlibc/x_ctypes
|
||||
SQLITE_DIR = $(SRC_DIR)/sqlite3
|
||||
|
||||
# Sources
|
||||
SRC = $(wildcard $(SRC_DIR)/*.c)
|
||||
X_STRING_SRC = $(wildcard $(X_STRING_DIR)/src/*.c)
|
||||
X_CTYPES_SRC = $(wildcard $(X_CTYPES_DIR)/src/*.c)
|
||||
SQLITE_SRC = $(wildcard $(SQLITE_DIR)/src/*.c)
|
||||
TEST_SRC = $(wildcard $(TEST_DIR)/*.c)
|
||||
|
||||
# Headers
|
||||
HEADERS = $(wildcard $(SRC_DIR)/*.h)
|
||||
X_STRING_HEADERS = $(wildcard $(X_STRING_DIR)/src/*.h)
|
||||
X_CTYPES_HEADERS = $(wildcard $(X_CTYPES_DIR)/src/*.h)
|
||||
SQLITE_HEADERS = $(wildcard $(SQLITE_DIR)/src/*.h)
|
||||
TEST_HEADERS = $(wildcard $(TEST_DIR)/*.h)
|
||||
|
||||
# Objects
|
||||
OBJ = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC))
|
||||
X_STRING_OBJ = $(patsubst $(X_STRING_DIR)/src/%.c, $(OBJ_DIR)/%.o, $(X_STRING_SRC))
|
||||
X_CTYPES_OBJ = $(patsubst $(X_CTYPES_DIR)/src/%.c, $(OBJ_DIR)/%.o, $(X_CTYPES_SRC))
|
||||
SQLITE_OBJ = $(patsubst $(SQLITE_DIR)/src/%.c, $(OBJ_DIR)/%.o, $(SQLITE_SRC))
|
||||
ALL_OBJS = $(wildcard $(OBJ_DIR)/*.o)
|
||||
TEST_OBJ = $(patsubst $(TEST_DIR)/%.c, $(OBJ_DIR)/%.o, $(TEST_SRC))
|
||||
|
||||
|
||||
SQLITE_DB_SCHEMA = $(SRC_DIR)/dodo.schema
|
||||
INC_DIRS=-I./$(X_STRING_DIR)/src/ -I./$(SQLITE_DIR)/src/ -I./src
|
||||
INC_DIRS=-I./$(X_STRING_DIR)/src/ -I./$(X_CTYPES_DIR)/src/ -I./$(SQLITE_DIR)/src/ -I./src
|
||||
|
||||
CFLAGS = -ggdb
|
||||
|
||||
@ -40,22 +44,25 @@ DFLAGS = -DDB_PATH=\"$(DB_FILE)\"
|
||||
|
||||
all: dodo
|
||||
|
||||
$(OBJ): $(SRC) $(X_STRING_OBJ) $(SQLITE_OBJ) $(HEADERS)
|
||||
$(OBJ): $(SRC) $(X_STRING_OBJ) $(X_CTYPES_OBJ) $(SQLITE_OBJ) $(HEADERS)
|
||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(INC_DIRS) $(CFLAGS) $(DFLAGS) $(SRC_DIR)/$(@F:.o=.c)
|
||||
|
||||
$(X_STRING_OBJ): $(X_STRING_SRC) $(X_STRING_HEADERS)
|
||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(CFLAGS) $(X_STRING_SRC)
|
||||
|
||||
$(X_CTYPES_OBJ): $(X_CTYPES_SRC) $(X_CTYPES_HEADERS)
|
||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(CFLAGS) $(X_CTYPES_SRC)
|
||||
|
||||
$(SQLITE_OBJ): $(SQLITE_SRC) $(SQLITE_HEADERS)
|
||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(CFLAGS) $(SQLITE_SRC)
|
||||
|
||||
dodo: test $(OBJ) $(X_STRING_OBJ) $(SQLITE_OBJ)
|
||||
$(CC) -o $@ $(CFLAGS) $(OBJ) $(X_STRING_OBJ) $(SQLITE_OBJ)
|
||||
dodo: test $(OBJ) $(X_STRING_OBJ) $(X_CTYPES_OBJ) $(SQLITE_OBJ)
|
||||
$(CC) -o $@ $(CFLAGS) $(OBJ) $(X_STRING_OBJ) $(X_CTYPES_OBJ) $(SQLITE_OBJ)
|
||||
./test
|
||||
rm ./test
|
||||
rm test
|
||||
|
||||
test: $(OBJ) $(TEST_SRC) $(X_STRING_OBJ) $(SQLITE_OBJ)
|
||||
$(CC) -o $@ $(TEST_SRC) $(INC_DIRS) $(DFLAGS) $(CFLAGS) obj/dodo.o $(X_STRING_OBJ) $(SQLITE_OBJ)
|
||||
test: $(OBJ) $(TEST_SRC) $(X_STRING_OBJ) $(X_CTYPES_OBJ) $(SQLITE_OBJ)
|
||||
$(CC) -o $@ $(TEST_SRC) $(INC_DIRS) $(DFLAGS) $(CFLAGS) obj/dodo.o $(X_STRING_OBJ) $(X_CTYPES_OBJ) $(SQLITE_OBJ)
|
||||
|
||||
|
||||
install:
|
||||
@ -69,6 +76,6 @@ clean_all:
|
||||
rm -f dodo test $(ALL_OBJS)
|
||||
|
||||
clean:
|
||||
rm -f dodo test $(OBJ) $(X_STRING_OBJ)
|
||||
rm -f dodo test $(OBJ) $(X_STRING_OBJ) $(X_CTYPES_OBJ)
|
||||
|
||||
.PHONY: all clean_all clean install uninstall
|
||||
|
134
src/dodo.c
134
src/dodo.c
@ -3,6 +3,7 @@
|
||||
#include "sqlite3.h"
|
||||
#include "x_string.h"
|
||||
#include "x_curses.h"
|
||||
#include "x_ctypes.h"
|
||||
#include "dodo.h"
|
||||
|
||||
//TODO: check that only one row is modified with sqlite3_change()
|
||||
@ -39,33 +40,6 @@ void init_filtered_tasks(filtered_tasks* task){
|
||||
task->due_date = NULL;
|
||||
}
|
||||
|
||||
// TODO: this really needs to only be one function with update_stmt()
|
||||
int gen_sql_update_stmt_v2(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){
|
||||
char sql_query[SQLQUERY_MAX];
|
||||
int rc = 0;
|
||||
|
||||
if (task->new_title != NULL && task->due_date != NULL){
|
||||
snprintf(sql_query, SQLQUERY_MAX, "UPDATE tasks SET title='%s', due_date='%s' WHERE title='%s' OR active_id='%d'", task->new_title, task->due_date, task->title, task->active_id);
|
||||
}
|
||||
else if (task->new_title != NULL){
|
||||
snprintf(sql_query, SQLQUERY_MAX, "UPDATE tasks SET title='%s' WHERE title='%s' OR active_id='%d'",
|
||||
task->new_title, task->title, task->active_id);
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
rc = sqlite3_prepare_v2(db, sql_query, -1, out_stmt, NULL);
|
||||
|
||||
// TODO: Error checking is still pretty subpar
|
||||
if (checksqlerr(rc, "prepare broken in gen_sql_insert_stmt")){
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
char* concat_with_mem_cleanup(char* str1, char* str2){
|
||||
char *temp;
|
||||
|
||||
@ -85,6 +59,7 @@ int prepare_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks
|
||||
char *sql_query;
|
||||
int rc = 0;
|
||||
int num_params = 0;
|
||||
char test[SQLQUERY_MAX];
|
||||
|
||||
sql_query = malloc(SQLQUERY_MAX * sizeof(char));
|
||||
|
||||
@ -113,24 +88,85 @@ int prepare_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks
|
||||
if ( !(x_strcmp(task->status, "complete")) ){
|
||||
sql_query = concat_with_mem_cleanup(sql_query, ",");
|
||||
sql_query = concat_with_mem_cleanup(sql_query, "active_id='NULL'");
|
||||
}
|
||||
}
|
||||
|
||||
sql_query = concat_with_mem_cleanup(sql_query, " WHERE ");
|
||||
|
||||
if ( task->title ){
|
||||
sql_query = concat_with_mem_cleanup(sql_query, "title=?");
|
||||
num_params++;
|
||||
}
|
||||
else if ( task->active_id != -1 ){
|
||||
sql_query = concat_with_mem_cleanup(sql_query, "active_id=?");
|
||||
num_params++;
|
||||
}
|
||||
else {
|
||||
free(sql_query);
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
rc = sqlite3_prepare_v2(db, sql_query, -1, out_stmt, NULL);
|
||||
free(sql_query);
|
||||
|
||||
if (checksqlerr(rc, "prepare broken in gen_sql_insert_stmt")){
|
||||
return -1;
|
||||
}
|
||||
|
||||
//if (task->status != NULL){
|
||||
// snprintf(sql_query, SQLQUERY_MAX, "UPDATE tasks SET status='%s' WHERE title='%s' OR active_id='%d'",
|
||||
// task->status, task->title, task->active_id);
|
||||
//}
|
||||
//else{
|
||||
// snprintf(sql_query, SQLQUERY_MAX, "UPDATE tasks SET active_id='NULL',status='complete' WHERE title='%s' OR active_id='%d'", task->title, task->active_id);
|
||||
//}
|
||||
return num_params;
|
||||
}
|
||||
|
||||
//rc = sqlite3_prepare_v2(db, sql_query, -1, out_stmt, NULL);
|
||||
//if (checksqlerr(rc, "prepare broken in gen_sql_insert_stmt")){
|
||||
// return -1;
|
||||
//}
|
||||
int bind_sql_update_stmt(filtered_tasks* task, int num_params, sqlite3_stmt* out_stmt){
|
||||
int max_param = 0;
|
||||
int param_pos = 0;
|
||||
int rc = 0;
|
||||
|
||||
max_param = num_params;
|
||||
|
||||
if ( task->new_title ){
|
||||
param_pos = max_param - num_params + 1;
|
||||
rc = sqlite3_bind_text(out_stmt, param_pos, task->new_title, -1, SQLITE_STATIC);
|
||||
num_params--;
|
||||
}
|
||||
|
||||
if (checksqlerr(rc, "prepare broken in bind_sql_update_stmt")){
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( task->due_date ){
|
||||
param_pos = max_param - num_params + 1;
|
||||
rc = sqlite3_bind_text(out_stmt, param_pos, task->due_date, -1, SQLITE_STATIC);
|
||||
num_params--;
|
||||
}
|
||||
|
||||
if (checksqlerr(rc, "prepare broken in bind_sql_update_stmt")){
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( task->status ){
|
||||
param_pos = max_param - num_params + 1;
|
||||
rc = sqlite3_bind_text(out_stmt, param_pos, task->status, -1, SQLITE_STATIC);
|
||||
num_params--;
|
||||
}
|
||||
|
||||
if ( task->title ){
|
||||
param_pos = max_param - num_params + 1;
|
||||
rc = sqlite3_bind_text(out_stmt, param_pos, task->title, -1, SQLITE_STATIC);
|
||||
num_params--;
|
||||
}
|
||||
else if ( task->active_id != -1 ){
|
||||
param_pos = max_param - num_params + 1;
|
||||
rc = sqlite3_bind_int(out_stmt, param_pos, task->active_id);
|
||||
num_params--;
|
||||
}
|
||||
else{
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (checksqlerr(rc, "prepare broken in bind_sql_update_stmt")){
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -269,9 +305,13 @@ int parse_args(int argc, char** argv, filtered_tasks* task){
|
||||
if ( argc > 2 ){
|
||||
// TODO: We should do something about this ugly thing where we are setting
|
||||
// active ID to any string passed
|
||||
task->title = argv[2];
|
||||
if ( x_isnumber(argv[2]) ){
|
||||
task->active_id = atoi(argv[2]);
|
||||
}
|
||||
else {
|
||||
task->title = argv[2];
|
||||
}
|
||||
}
|
||||
|
||||
if ( argc > 3 ){
|
||||
if ( x_strcmp(argv[1], "update") ){
|
||||
@ -487,11 +527,12 @@ int update_task_status(sqlite3 *db, int argc, char** argv){
|
||||
parse_args(argc, argv, task);
|
||||
|
||||
task->status = argv[1];
|
||||
if ( prepare_sql_update_stmt(db, &out_stmt, task) ){
|
||||
if ( ( rc = prepare_sql_update_stmt(db, &out_stmt, task) ) ){
|
||||
free(task);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if ( ( rc = sqlite3_step(out_stmt) ) == SQLITE_DONE){
|
||||
free(task);
|
||||
return 0;
|
||||
@ -532,20 +573,23 @@ int complete_task(sqlite3 *db, int argc, char** argv){
|
||||
|
||||
int update_task(sqlite3 *db, int argc, char** argv){
|
||||
int rc = 0;
|
||||
int num_params = 0;
|
||||
sqlite3_stmt* out_stmt;
|
||||
filtered_tasks* task = malloc(sizeof(filtered_tasks));
|
||||
|
||||
init_filtered_tasks(task);
|
||||
|
||||
|
||||
//parse_args(argc, argv, task);
|
||||
parse_args(argc, argv, task);
|
||||
// TODO this can definitely be made into one func with all the other updates
|
||||
// no v2s allowed
|
||||
|
||||
task->new_title = "cool_beans";
|
||||
task->due_date = "0303-03-03";
|
||||
task->status = "complete";
|
||||
if ( prepare_sql_update_stmt(db, &out_stmt, task) ){
|
||||
if ( ( num_params = prepare_sql_update_stmt(db, &out_stmt, task) ) == -1 ){
|
||||
free(task);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( ( rc = bind_sql_update_stmt(task, num_params, out_stmt) ) ){
|
||||
free(task);
|
||||
return -1;
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 4fb48e69126058c09a93a102970d182db3be31b9
|
||||
Subproject commit 8ca828ebf6e39fb20abd5c4a8f847393a05f8ddd
|
96
tags
96
tags
@ -76,9 +76,9 @@
|
||||
!_TAG_ROLE_DESCRIPTION!Make!makefile optional /optionally included/
|
||||
$(OBJ) Makefile /^$(OBJ): $(SRC) $(X_STRING_OBJ) $(SQLITE_OBJ) $(HEADERS) $/;" t
|
||||
$(OBJ) src/xlibc/x_string/src/Makefile /^$(OBJ):$/;" t
|
||||
$(SQLITE_OBJ) Makefile /^$(SQLITE_OBJ): $(SQLITE_HEADERS)$/;" t
|
||||
$(SQLITE_OBJ) Makefile /^$(SQLITE_OBJ): $(SQLITE_SRC) $(SQLITE_HEADERS)$/;" t
|
||||
$(TEST_OBJ) src/xlibc/x_string/src/Makefile /^$(TEST_OBJ): $(TEST_SRC)$/;" t
|
||||
$(X_STRING_OBJ) Makefile /^$(X_STRING_OBJ): $(X_STRING_HEADERS)$/;" t
|
||||
$(X_STRING_OBJ) Makefile /^$(X_STRING_OBJ): $(X_STRING_SRC) $(X_STRING_HEADERS)$/;" t
|
||||
A src/sqlite3/src/sqlite3.c /^ int Y, M, D, A, B, X1, X2;$/;" l function:computeJD typeref:typename:int file:
|
||||
A src/sqlite3/src/sqlite3.c /^ int Z, A, B, C, D, E, X1;$/;" l function:computeYMD typeref:typename:int file:
|
||||
ADDR src/sqlite3/src/sqlite3.c /^#define ADDR(/;" d file:
|
||||
@ -2873,6 +2873,7 @@ argvIndex src/sqlite3/src/sqlite3.c /^ int argvIndex; \/* if >0, co
|
||||
argvIndex src/sqlite3/src/sqlite3.h /^ int argvIndex; \/* if >0, constraint is part of argv to xFilter *\/$/;" m struct:sqlite3_index_info::sqlite3_index_constraint_usage typeref:typename:int
|
||||
argv_1 tests/tests.c /^ char *argv_1[3] = {".\/dodo", "new", "jello"};$/;" l function:test_add_new_task_with_date_and_delete typeref:typename:char * [3] file:
|
||||
argv_1 tests/tests.c /^ char *argv_1[3] = {".\/dodo", "new", "jello"};$/;" l function:test_add_then_update_task_status_then_delete typeref:typename:char * [3] file:
|
||||
argv_1 tests/tests.c /^ char *argv_1[3] = {".\/dodo", "new", "jello"};$/;" l function:test_update_task typeref:typename:char * [3] file:
|
||||
argv_2 tests/tests.c /^ char *argv_2[3] = {".\/dodo", "del", "jello"};$/;" l function:test_add_new_task_with_date_and_delete typeref:typename:char * [3] file:
|
||||
argv_2 tests/tests.c /^ char *argv_2[3] = {".\/dodo", "today", "jello"};$/;" l function:test_add_then_update_task_status_then_delete typeref:typename:char * [3] file:
|
||||
argv_3 tests/tests.c /^ char *argv_3[3] = {".\/dodo", "del", "jello"};$/;" l function:test_add_then_update_task_status_then_delete typeref:typename:char * [3] file:
|
||||
@ -2942,6 +2943,7 @@ backtrace_symbols_fd src/sqlite3/src/sqlite3.c /^# define backtrace_symbols_fd(/
|
||||
base src/sqlite3/src/sqlite3.c /^ u8 base = infop->base;$/;" l function:sqlite3_str_vappendf typeref:typename:u8 file:
|
||||
base src/sqlite3/src/sqlite3.c /^ etByte base; \/* The base for radix conversion *\/$/;" m struct:et_info typeref:typename:etByte file:
|
||||
bft src/sqlite3/src/sqlite3.c /^typedef unsigned bft; \/* Bit Field Type *\/$/;" t typeref:typename:unsigned file:
|
||||
bind_sql_update_stmt src/dodo.c /^int bind_sql_update_stmt(filtered_tasks* task, int num_params, sqlite3_stmt* out_stmt){$/;" f typeref:typename:int
|
||||
bom src/sqlite3/src/sqlite3.c /^ u8 bom = 0;$/;" l function:sqlite3VdbeMemHandleBom typeref:typename:u8 file:
|
||||
btreeMask src/sqlite3/src/sqlite3.c /^ yDbMask btreeMask; \/* Bitmask of db->aDb[] entries referenced *\/$/;" m struct:Vdbe typeref:typename:yDbMask file:
|
||||
buf src/sqlite3/src/sqlite3.c /^ char buf[etBUFSIZE]; \/* Conversion buffer *\/$/;" l function:sqlite3_str_vappendf typeref:typename:char[] file:
|
||||
@ -3021,12 +3023,8 @@ colNotIdxed src/sqlite3/src/sqlite3.c /^ Bitmask colNotIdxed; \/* Unindexed
|
||||
colUsed src/sqlite3/src/sqlite3.c /^ Bitmask colUsed; \/* Bit N set if column N used. Details above for N>62 *\/$/;" m struct:SrcItem typeref:typename:Bitmask file:
|
||||
colUsed src/sqlite3/src/sqlite3.c /^ sqlite3_uint64 colUsed; \/* Input: Mask of columns used by statement *\/$/;" m struct:sqlite3_index_info typeref:typename:sqlite3_uint64 file:
|
||||
colUsed src/sqlite3/src/sqlite3.h /^ sqlite3_uint64 colUsed; \/* Input: Mask of columns used by statement *\/$/;" m struct:sqlite3_index_info typeref:typename:sqlite3_uint64
|
||||
col_name src/dodo.c /^ char *col_name = "COUNT(*)";$/;" l function:get_num_rows typeref:typename:char * file:
|
||||
col_name src/dodo.c /^ const unsigned char* col_name;$/;" l function:display_task_list typeref:typename:const unsigned char * file:
|
||||
col_val src/dodo.c /^ const unsigned char* col_val;$/;" l function:display_task_list typeref:typename:const unsigned char * file:
|
||||
colnames src/dodo.c /^ char* colnames = "(title, due_date)";$/;" l function:add_new_task typeref:typename:char * file:
|
||||
colnames src/dodo.c /^ char* colnames = "active_id,title,due_date";$/;" l function:display_heading typeref:typename:char * file:
|
||||
colnames src/dodo.c /^ char* colnames = "active_id,title,due_date";$/;" l function:view_tasks typeref:typename:char * file:
|
||||
commands README.md /^## commands$/;" s chapter:dodo
|
||||
compare2pow63 src/sqlite3/src/sqlite3.c /^static int compare2pow63(const char *zNum, int incr){$/;" f typeref:typename:int file:
|
||||
complete_task src/dodo.c /^int complete_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int
|
||||
@ -3036,6 +3034,7 @@ computeHMS src/sqlite3/src/sqlite3.c /^static void computeHMS(DateTime *p){$/;"
|
||||
computeJD src/sqlite3/src/sqlite3.c /^static void computeJD(DateTime *p){$/;" f typeref:typename:void file:
|
||||
computeYMD src/sqlite3/src/sqlite3.c /^static void computeYMD(DateTime *p){$/;" f typeref:typename:void file:
|
||||
computeYMD_HMS src/sqlite3/src/sqlite3.c /^static void computeYMD_HMS(DateTime *p){$/;" f typeref:typename:void file:
|
||||
concat_with_mem_cleanup src/dodo.c /^char* concat_with_mem_cleanup(char* str1, char* str2){$/;" f typeref:typename:char *
|
||||
constraintName src/sqlite3/src/sqlite3.c /^ Token constraintName;\/* Name of the constraint currently being parsed *\/$/;" m struct:Parse typeref:typename:Token file:
|
||||
cookieMask src/sqlite3/src/sqlite3.c /^ yDbMask cookieMask; \/* Bitmask of schema verified databases *\/$/;" m struct:Parse typeref:typename:yDbMask file:
|
||||
costMult src/sqlite3/src/sqlite3.c /^ LogEst costMult; \/* Cost multiplier for using this table *\/$/;" m struct:Table typeref:typename:LogEst file:
|
||||
@ -3043,7 +3042,6 @@ count src/sqlite3/src/sqlite3.c /^ unsigned int count; \/* Number of e
|
||||
count src/sqlite3/src/sqlite3.c /^ unsigned int count; \/* Number of entries in this table *\/$/;" m struct:Hash typeref:typename:unsigned int file:
|
||||
countLookasideSlots src/sqlite3/src/sqlite3.c /^static u32 countLookasideSlots(LookasideSlot *p){$/;" f typeref:typename:u32 file:
|
||||
cpuCount src/sqlite3/src/sqlite3.c /^ int cpuCount;$/;" l function:sqlite3MemInit typeref:typename:int file:
|
||||
creation_date src/dodo.h /^ date creation_date;$/;" m struct:__anon569311380208 typeref:typename:date
|
||||
cset src/sqlite3/src/sqlite3.c /^ const char *cset = &aDigits[infop->charset];$/;" l function:sqlite3_str_vappendf typeref:typename:const char * file:
|
||||
csrApp src/sqlite3/src/sqlite3.c /^ int csrApp; \/* Function cursor (used by min\/max) *\/$/;" m struct:Window typeref:typename:int file:
|
||||
ctimeFunc src/sqlite3/src/sqlite3.c /^static void ctimeFunc($/;" f typeref:typename:void file:
|
||||
@ -3120,8 +3118,8 @@ display_column_heading src/dodo.c /^void display_column_heading(const char* str)
|
||||
display_column_headings_for_all_task_lists src/dodo.c /^void display_column_headings_for_all_task_lists(){$/;" f typeref:typename:void
|
||||
display_heading src/dodo.c /^void display_heading(){$/;" f typeref:typename:void
|
||||
display_heading src/dodo.h /^void display_heading();$/;" p typeref:typename:void
|
||||
display_task_list src/dodo.c /^int display_task_list(int start_col, sqlite3 *db, char* colnames, char* table, char* status){$/;" f typeref:typename:int
|
||||
display_task_list src/dodo.h /^int display_task_list(int start_col, sqlite3 *db, char* colnames, char* table, char* status);$/;" p typeref:typename:int
|
||||
display_task_list src/dodo.c /^int display_task_list(int start_col, sqlite3 *db, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
display_task_list src/dodo.h /^int display_task_list(int start_col, sqlite3 *db, filtered_tasks*);$/;" p typeref:typename:int
|
||||
display_task_list_heading src/dodo.c /^void display_task_list_heading(char* heading){$/;" f typeref:typename:void
|
||||
do_atof_calc src/sqlite3/src/sqlite3.c /^do_atof_calc:$/;" L function:sqlite3AtoF file:
|
||||
dodo Makefile /^dodo: test $(OBJ) $(X_STRING_OBJ) $(SQLITE_OBJ)$/;" t
|
||||
@ -3131,8 +3129,7 @@ done src/sqlite3/src/sqlite3.c /^ etByte done; \/* Loop terminati
|
||||
done src/sqlite3/src/sqlite3.c /^ int done; \/* Set to true when thread finishes *\/$/;" m struct:SQLiteThread typeref:typename:int file:
|
||||
double src/sqlite3/src/sqlite3.c /^# define double /;" d file:
|
||||
double src/sqlite3/src/sqlite3.h /^# define double /;" d
|
||||
due_date src/dodo.c /^ char* due_date = NULL;$/;" l function:add_new_task typeref:typename:char * file:
|
||||
due_date src/dodo.h /^ date due_date;$/;" m struct:__anon569311380208 typeref:typename:date
|
||||
due_date src/dodo.h /^ char *due_date;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
e src/sqlite3/src/sqlite3.c /^ LogEst e;$/;" l function:sqlite3LogEstFromDouble typeref:typename:LogEst file:
|
||||
e src/sqlite3/src/sqlite3.c /^ int e = 0; \/* exponent *\/$/;" l function:sqlite3AtoF typeref:typename:int file:
|
||||
e src/sqlite3/src/sqlite3.c /^ int e, exp = 0;$/;" l function:sqlite3FpDecode typeref:typename:int file:
|
||||
@ -3231,6 +3228,7 @@ fg src/sqlite3/src/sqlite3.c /^ } fg;$/;" m struct:SrcItem typeref:struct:SrcIt
|
||||
file_format src/sqlite3/src/sqlite3.c /^ u8 file_format; \/* Schema format version for this file *\/$/;" m struct:Schema typeref:typename:u8 file:
|
||||
filename src/main.c /^ char* filename = x_strconcat(home_dir, DB_PATH);$/;" l function:main typeref:typename:char * file:
|
||||
filename tests/tests.c /^ char* filename = x_strconcat(home_dir, DB_PATH);$/;" l function:set_up_db typeref:typename:char * file:
|
||||
filtered_tasks src/dodo.h /^}filtered_tasks;$/;" t typeref:struct:__anon569311380208
|
||||
first src/sqlite3/src/sqlite3.c /^ HashElem *first; \/* The first element of the array *\/$/;" m struct:Hash typeref:typename:HashElem * file:
|
||||
fixed_width src/dodo.c /^ int fixed_width = 0;$/;" l function:display_task_list typeref:typename:int file:
|
||||
fkeyHash src/sqlite3/src/sqlite3.c /^ Hash fkeyHash; \/* All foreign keys by referenced table name *\/$/;" m struct:Schema typeref:typename:Hash file:
|
||||
@ -3265,15 +3263,15 @@ fts5_tokenizer src/sqlite3/src/sqlite3.h /^typedef struct fts5_tokenizer fts5_to
|
||||
funcFlags src/sqlite3/src/sqlite3.c /^ u32 funcFlags; \/* Some combination of SQLITE_FUNC_* *\/$/;" m struct:FuncDef typeref:typename:u32 file:
|
||||
g_elapsed src/sqlite3/src/sqlite3.c /^static sqlite_uint64 g_elapsed;$/;" v typeref:typename:sqlite_uint64 file:
|
||||
g_start src/sqlite3/src/sqlite3.c /^static sqlite_uint64 g_start;$/;" v typeref:typename:sqlite_uint64 file:
|
||||
gen_sql_delete_stmt src/dodo.c /^int gen_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* title_or_active/;" f typeref:typename:int
|
||||
gen_sql_delete_stmt src/dodo.h /^int gen_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* title);$/;" p typeref:typename:int
|
||||
gen_sql_insert_stmt src/dodo.c /^int gen_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* colnames, char*/;" f typeref:typename:int
|
||||
gen_sql_insert_stmt src/dodo.h /^int gen_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* colnames, char*/;" p typeref:typename:int
|
||||
gen_sql_select_stmt src/dodo.c /^int gen_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* colnames, char* table, char*/;" f typeref:typename:int
|
||||
gen_sql_select_stmt src/dodo.h /^int gen_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* colnames, char* table, char*/;" p typeref:typename:int
|
||||
gen_sql_update_stmt src/dodo.c /^int gen_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* status, char* t/;" f typeref:typename:int
|
||||
gen_sql_update_stmt src/dodo.h /^int gen_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* status, char* t/;" p typeref:typename:int
|
||||
gen_sql_update_stmt_v2 src/dodo.c /^int gen_sql_update_stmt_v2(sqlite3 *db, sqlite3_stmt** out_stmt, char* table, char* status, char/;" f typeref:typename:int
|
||||
gen_sql_delete_stmt src/dodo.c /^int gen_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
gen_sql_delete_stmt src/dodo.h /^int gen_sql_delete_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int
|
||||
gen_sql_insert_stmt src/dodo.c /^int gen_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task, char* values/;" f typeref:typename:int
|
||||
gen_sql_insert_stmt src/dodo.h /^int gen_sql_insert_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task, char* values/;" p typeref:typename:int
|
||||
gen_sql_select_stmt src/dodo.c /^int gen_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
gen_sql_select_stmt src/dodo.h /^int gen_sql_select_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int
|
||||
gen_sql_update_stmt src/dodo.h /^int gen_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int
|
||||
gen_sql_update_stmt_v2 src/dodo.c /^int gen_sql_update_stmt_v2(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
gen_sql_update_stmt_v2 src/dodo.h /^int gen_sql_update_stmt_v2(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task);$/;" p typeref:typename:int
|
||||
getDigits src/sqlite3/src/sqlite3.c /^static int getDigits(const char *zDate, const char *zFormat, ...){$/;" f typeref:typename:int file:
|
||||
getDoubleArg src/sqlite3/src/sqlite3.c /^static double getDoubleArg(PrintfArguments *p){$/;" f typeref:typename:double file:
|
||||
getIntArg src/sqlite3/src/sqlite3.c /^static sqlite3_int64 getIntArg(PrintfArguments *p){$/;" f typeref:typename:sqlite3_int64 file:
|
||||
@ -3503,6 +3501,8 @@ incr src/sqlite3/src/sqlite3.c /^ int incr;$/;" l function:sqlite3AtoF typeref:
|
||||
incr src/sqlite3/src/sqlite3.c /^ int incr;$/;" l function:sqlite3Atoi64 typeref:typename:int file:
|
||||
infop src/sqlite3/src/sqlite3.c /^ const et_info *infop; \/* Pointer to the appropriate info structure *\/$/;" l function:sqlite3_str_vappendf typeref:typename:const et_info * file:
|
||||
init src/sqlite3/src/sqlite3.c /^ } init;$/;" m struct:sqlite3 typeref:struct:sqlite3::sqlite3InitInfo file:
|
||||
init_filtered_tasks src/dodo.c /^void init_filtered_tasks(filtered_tasks* task){$/;" f typeref:typename:void
|
||||
init_filtered_tasks src/dodo.h /^void init_filtered_tasks(filtered_tasks* task);$/;" p typeref:typename:void
|
||||
install Makefile /^install:$/;" t
|
||||
isCorrelated src/sqlite3/src/sqlite3.c /^ unsigned isCorrelated :1; \/* True if sub-query is correlated *\/$/;" m struct:SrcItem::__anon176c6ffd3208 typeref:typename:unsigned:1 file:
|
||||
isCovering src/sqlite3/src/sqlite3.c /^ unsigned isCovering:1; \/* True if this is a covering index *\/$/;" m struct:Index typeref:typename:unsigned:1 file:
|
||||
@ -3597,6 +3597,7 @@ max src/sqlite3/src/sqlite3.c /^ u16 max;$/;" l function:getDigits typeref:ty
|
||||
maxCount src/sqlite3/src/sqlite3.c /^ u32 maxCount; \/* Maximum instantaneous currentCount *\/$/;" m struct:Mem5Global typeref:typename:u32 file:
|
||||
maxOut src/sqlite3/src/sqlite3.c /^ u32 maxOut; \/* Maximum instantaneous currentOut *\/$/;" m struct:Mem5Global typeref:typename:u32 file:
|
||||
maxRequest src/sqlite3/src/sqlite3.c /^ u32 maxRequest; \/* Largest allocation (exclusive of internal frag) *\/$/;" m struct:Mem5Global typeref:typename:u32 file:
|
||||
max_param src/dodo.c /^ int max_param = 0;$/;" l function:bind_sql_update_stmt typeref:typename:int file:
|
||||
max_rows src/dodo.c /^ static int max_rows = -1;$/;" l function:display_task_list typeref:typename:int file:
|
||||
mayAbort src/sqlite3/src/sqlite3.c /^ u8 mayAbort; \/* True if statement may throw an ABORT exception *\/$/;" m struct:Parse typeref:typename:u8 file:
|
||||
measureAllocationSize src/sqlite3/src/sqlite3.c /^static SQLITE_NOINLINE void measureAllocationSize(sqlite3 *db, void *p){$/;" f typeref:typename:SQLITE_NOINLINE void file:
|
||||
@ -3648,7 +3649,6 @@ min src/sqlite3/src/sqlite3.c /^ char min = zFormat[1] - '0';$/;" l function:
|
||||
minWriteFileFormat src/sqlite3/src/sqlite3.c /^ u8 minWriteFileFormat; \/* Minimum file format for writable database files *\/$/;" m struct:Vdbe typeref:typename:u8 file:
|
||||
mnKeyBlk src/sqlite3/src/sqlite3.c /^ u32 mnKeyBlk;$/;" m struct:Mem3Global typeref:typename:u32 file:
|
||||
mnReq src/sqlite3/src/sqlite3.c /^ int mnReq, mxReq; \/* Min and max heap requests sizes *\/$/;" m struct:Sqlite3Config typeref:typename:int file:
|
||||
modify_task src/dodo.h /^int modify_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int
|
||||
month src/dodo.h /^ int month;$/;" m struct:__anon569311380108 typeref:typename:int
|
||||
moreToFollow src/sqlite3/src/sqlite3.c /^ int moreToFollow = i<pList->nExpr - 1;$/;" l function:sqlite3TreeViewBareExprList typeref:typename:int file:
|
||||
moreToFollow src/sqlite3/src/sqlite3.c /^ int moreToFollow = i<pList->nId - 1;$/;" l function:sqlite3TreeViewBareIdList typeref:typename:int file:
|
||||
@ -3911,11 +3911,9 @@ new src/sqlite3/src/sqlite3.c /^ DateTime new;$/;" l function:parseMo
|
||||
newSize src/sqlite3/src/sqlite3.c /^ int newSize;$/;" l function:memsys5MallocUnsafe typeref:typename:int file:
|
||||
newTnum src/sqlite3/src/sqlite3.c /^ Pgno newTnum; \/* Rootpage of table being initialized *\/$/;" m struct:sqlite3::sqlite3InitInfo typeref:typename:Pgno file:
|
||||
newValue src/sqlite3/src/sqlite3.c /^ sqlite3StatValueType newValue;$/;" l function:sqlite3StatusHighwater typeref:typename:sqlite3StatValueType file:
|
||||
new_due_date src/dodo.c /^ char* new_due_date;$/;" l function:update_task typeref:typename:char * file:
|
||||
new_length src/xlibc/x_string/src/x_string.c /^ int new_length = len1 + len2;$/;" l function:x_strconcat typeref:typename:int file:
|
||||
new_project_tag src/dodo.c /^ char* new_project_tag;$/;" l function:update_task typeref:typename:char * file:
|
||||
new_length src/xlibc/x_string/src/x_string.c /^ int new_length = len1 + len2 + 1;$/;" l function:x_strconcat typeref:typename:int file:
|
||||
new_string src/xlibc/x_string/src/x_string.c /^ char* new_string;$/;" l function:x_strconcat typeref:typename:char * file:
|
||||
new_title src/dodo.c /^ char* new_title;$/;" l function:update_task typeref:typename:char * file:
|
||||
new_title src/dodo.h /^ char *new_title;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
newi src/sqlite3/src/sqlite3.c /^ u32 newi, x;$/;" l function:memsys3FromKeyBlk typeref:typename:u32 file:
|
||||
newmask src/sqlite3/src/sqlite3.c /^ u32 newmask; \/* Mask of new.* columns referenced *\/$/;" m struct:Parse typeref:typename:u32 file:
|
||||
next src/sqlite3/src/sqlite3.c /^ u32 next; \/* Index in mem3.aPool[] of next free chunk *\/$/;" m struct:Mem3Block::__anon176c6ffd3e0a::__anon176c6ffd4008 typeref:typename:u32 file:
|
||||
@ -3945,6 +3943,7 @@ notUsed1 src/sqlite3/src/sqlite3.c /^ double notUsed1; \/* Spacer
|
||||
nowValue src/sqlite3/src/sqlite3.c /^ sqlite3StatValueType nowValue[10]; \/* Current value *\/$/;" m struct:sqlite3StatType typeref:typename:sqlite3StatValueType[10] file:
|
||||
nullRow src/sqlite3/src/sqlite3.c /^ u8 nullRow; \/* True if pointing to a row with no data *\/$/;" m struct:VdbeCursor typeref:typename:u8 file:
|
||||
num_cols src/dodo.c /^ int num_cols = 0;$/;" l function:display_task_list typeref:typename:int file:
|
||||
num_params src/dodo.c /^ int num_params = 0;$/;" l function:prepare_sql_update_stmt typeref:typename:int file:
|
||||
num_rows src/dodo.c /^ int num_rows = -1;$/;" l function:display_task_list typeref:typename:int file:
|
||||
offsetof src/sqlite3/src/sqlite3.c /^#define offsetof(/;" d file:
|
||||
okConstFactor src/sqlite3/src/sqlite3.c /^ u8 okConstFactor; \/* OK to factor out constants *\/$/;" m struct:Parse typeref:typename:u8 file:
|
||||
@ -4406,13 +4405,14 @@ pX src/sqlite3/src/sqlite3.c /^ struct tm *pX;$/;" l function:osLocaltime typer
|
||||
pY src/sqlite3/src/sqlite3.c /^ const Expr *pX, *pY, *pZ;$/;" l function:sqlite3TreeViewExpr typeref:typename:const Expr * file:
|
||||
pZ src/sqlite3/src/sqlite3.c /^ const Expr *pX, *pY, *pZ;$/;" l function:sqlite3TreeViewExpr typeref:typename:const Expr * file:
|
||||
pageHash src/sqlite3/src/sqlite3.c /^ u32 pageHash; \/* Hash of page content *\/$/;" m struct:PgHdr typeref:typename:u32 file:
|
||||
param_pos src/dodo.c /^ int param_pos = 0;$/;" l function:bind_sql_update_stmt typeref:typename:int file:
|
||||
parseDateOrTime src/sqlite3/src/sqlite3.c /^static int parseDateOrTime($/;" f typeref:typename:int file:
|
||||
parseHhMmSs src/sqlite3/src/sqlite3.c /^static int parseHhMmSs(const char *zDate, DateTime *p){$/;" f typeref:typename:int file:
|
||||
parseModifier src/sqlite3/src/sqlite3.c /^static int parseModifier($/;" f typeref:typename:int file:
|
||||
parseTimezone src/sqlite3/src/sqlite3.c /^static int parseTimezone(const char *zDate, DateTime *p){$/;" f typeref:typename:int file:
|
||||
parseYyyyMmDd src/sqlite3/src/sqlite3.c /^static int parseYyyyMmDd(const char *zDate, DateTime *p){$/;" f typeref:typename:int file:
|
||||
parse_args src/dodo.c /^int parse_args(int argc, char** argv, char** title, char** due_date){$/;" f typeref:typename:int
|
||||
parse_args src/dodo.h /^int parse_args(int argc, char** argv, char** title, char** due_date);$/;" p typeref:typename:int
|
||||
parse_args src/dodo.c /^int parse_args(int argc, char** argv, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
parse_args src/dodo.h /^int parse_args(int argc, char** argv, filtered_tasks* task);$/;" p typeref:typename:int
|
||||
payloadSize src/sqlite3/src/sqlite3.c /^ u32 payloadSize; \/* Total number of bytes in the record *\/$/;" m struct:VdbeCursor typeref:typename:u32 file:
|
||||
pc src/sqlite3/src/sqlite3.c /^ int pc; \/* Program Counter in parent (calling) frame *\/$/;" m struct:VdbeFrame typeref:typename:int file:
|
||||
pc src/sqlite3/src/sqlite3.c /^ int pc; \/* The program counter *\/$/;" m struct:Vdbe typeref:typename:int file:
|
||||
@ -4429,6 +4429,7 @@ prefix src/sqlite3/src/sqlite3.c /^ char prefix; \/* Prefix chara
|
||||
prefix src/sqlite3/src/sqlite3.c /^ etByte prefix; \/* Offset into aPrefix[] of the prefix string *\/$/;" m struct:et_info typeref:typename:etByte file:
|
||||
prepFlags src/sqlite3/src/sqlite3.c /^ u8 prepFlags; \/* SQLITE_PREPARE_* flags *\/$/;" m struct:Vdbe typeref:typename:u8 file:
|
||||
prepFlags src/sqlite3/src/sqlite3.c /^ u8 prepFlags; \/* SQLITE_PREPARE_* flags *\/$/;" m struct:Parse typeref:typename:u8 file:
|
||||
prepare_sql_update_stmt src/dodo.c /^int prepare_sql_update_stmt(sqlite3 *db, sqlite3_stmt** out_stmt, filtered_tasks* task){$/;" f typeref:typename:int
|
||||
prev src/sqlite3/src/sqlite3.c /^ u32 prev; \/* Index in mem3.aPool[] of previous free chunk *\/$/;" m struct:Mem3Block::__anon176c6ffd3e0a::__anon176c6ffd4008 typeref:typename:u32 file:
|
||||
prev src/sqlite3/src/sqlite3.c /^ HashElem *next, *prev; \/* Next and previous elements in the table *\/$/;" m struct:HashElem typeref:typename:HashElem * file:
|
||||
prev src/sqlite3/src/sqlite3.c /^ int next, prev;$/;" l function:memsys5Unlink typeref:typename:int file:
|
||||
@ -4442,6 +4443,7 @@ printfFlags src/sqlite3/src/sqlite3.c /^ u8 printfFlags; \/* SQLITE_PRINTF
|
||||
printfTempBuf src/sqlite3/src/sqlite3.c /^static char *printfTempBuf(sqlite3_str *pAccum, sqlite3_int64 n){$/;" f typeref:typename:char * file:
|
||||
priorLimit src/sqlite3/src/sqlite3.c /^ sqlite3_int64 priorLimit;$/;" l function:sqlite3_hard_heap_limit64 typeref:typename:sqlite3_int64 file:
|
||||
priorLimit src/sqlite3/src/sqlite3.c /^ sqlite3_int64 priorLimit;$/;" l function:sqlite3_soft_heap_limit64 typeref:typename:sqlite3_int64 file:
|
||||
project_tag src/dodo.h /^ char *project_tag;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
pthreadMutexAlloc src/sqlite3/src/sqlite3.c /^static sqlite3_mutex *pthreadMutexAlloc(int iType){$/;" f typeref:typename:sqlite3_mutex * file:
|
||||
pthreadMutexEnd src/sqlite3/src/sqlite3.c /^static int pthreadMutexEnd(void){ return SQLITE_OK; }$/;" f typeref:typename:int file:
|
||||
pthreadMutexEnter src/sqlite3/src/sqlite3.c /^static void pthreadMutexEnter(sqlite3_mutex *p){$/;" f typeref:typename:void file:
|
||||
@ -4483,15 +4485,17 @@ rXform src/sqlite3/src/sqlite3.c /^ float rXform; \/* Constant used for t
|
||||
randomFill src/sqlite3/src/sqlite3.c /^static void randomFill(char *pBuf, int nByte){$/;" f typeref:typename:void file:
|
||||
rawS src/sqlite3/src/sqlite3.c /^ unsigned rawS : 1; \/* Raw numeric value stored in s *\/$/;" m struct:DateTime typeref:typename:unsigned:1 file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:add_new_task typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:bind_sql_update_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:complete_task typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:del_task typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:display_task_list typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:gen_sql_delete_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:gen_sql_insert_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:gen_sql_select_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:gen_sql_update_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:gen_sql_update_stmt_v2 typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:get_num_rows typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:opendb typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:prepare_sql_update_stmt typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:update_task typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:update_task_status typeref:typename:int file:
|
||||
rc src/dodo.c /^ int rc = 0;$/;" l function:view_all typeref:typename:int file:
|
||||
@ -4593,6 +4597,7 @@ seekResult src/sqlite3/src/sqlite3.c /^ int seekResult; \/* Result of p
|
||||
selFlags src/sqlite3/src/sqlite3.c /^ u32 selFlags; \/* Various SF_* values *\/$/;" m struct:Select typeref:typename:u32 file:
|
||||
selId src/sqlite3/src/sqlite3.c /^ u32 selId; \/* Select to which this AggInfo belongs *\/$/;" m struct:AggInfo typeref:typename:u32 file:
|
||||
selId src/sqlite3/src/sqlite3.c /^ u32 selId; \/* Unique identifier number for this SELECT *\/$/;" m struct:Select typeref:typename:u32 file:
|
||||
selected_columns src/dodo.h /^ char *selected_columns;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
self src/sqlite3/src/sqlite3.c /^ pthread_t self = pthread_self();$/;" l function:pthreadMutexEnter typeref:typename:pthread_t file:
|
||||
self src/sqlite3/src/sqlite3.c /^ pthread_t self = pthread_self();$/;" l function:pthreadMutexTry typeref:typename:pthread_t file:
|
||||
seqCount src/sqlite3/src/sqlite3.c /^ i64 seqCount; \/* Sequence counter *\/$/;" m struct:VdbeCursor typeref:typename:i64 file:
|
||||
@ -4615,10 +4620,11 @@ skipFlag src/sqlite3/src/sqlite3.c /^ u8 skipFlag; \/* Skip accumula
|
||||
sortFlags src/sqlite3/src/sqlite3.c /^ u8 sortFlags; \/* Mask of KEYINFO_ORDER_* flags *\/$/;" m struct:ExprList::ExprList_item::__anon176c6ffd2e08 typeref:typename:u8 file:
|
||||
sortingIdx src/sqlite3/src/sqlite3.c /^ int sortingIdx; \/* Cursor number of the sorting index *\/$/;" m struct:AggInfo typeref:typename:int file:
|
||||
sortingIdxPTab src/sqlite3/src/sqlite3.c /^ int sortingIdxPTab; \/* Cursor number of pseudo-table *\/$/;" m struct:AggInfo typeref:typename:int file:
|
||||
sql_query src/dodo.c /^ char *sql_query;$/;" l function:prepare_sql_update_stmt typeref:typename:char * file:
|
||||
sql_query src/dodo.c /^ char sql_query[SQLQUERY_MAX];$/;" l function:gen_sql_delete_stmt typeref:typename:char[] file:
|
||||
sql_query src/dodo.c /^ char sql_query[SQLQUERY_MAX];$/;" l function:gen_sql_insert_stmt typeref:typename:char[] file:
|
||||
sql_query src/dodo.c /^ char sql_query[SQLQUERY_MAX];$/;" l function:gen_sql_select_stmt typeref:typename:char[] file:
|
||||
sql_query src/dodo.c /^ char sql_query[SQLQUERY_MAX];$/;" l function:gen_sql_update_stmt typeref:typename:char[] file:
|
||||
sql_query src/dodo.c /^ char sql_query[SQLQUERY_MAX];$/;" l function:gen_sql_update_stmt_v2 typeref:typename:char[] file:
|
||||
sqlite2BtreeKeyCompare src/sqlite3/src/sqlite3.c /^int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *);$/;" p typeref:typename:int file:
|
||||
sqlite3 src/sqlite3/src/sqlite3.c /^struct sqlite3 {$/;" s file:
|
||||
sqlite3 src/sqlite3/src/sqlite3.c /^typedef struct sqlite3 sqlite3;$/;" t typeref:struct:sqlite3 file:
|
||||
@ -7027,7 +7033,6 @@ startTime src/sqlite3/src/sqlite3.c /^ i64 startTime; \/* Time when qu
|
||||
statMutex src/sqlite3/src/sqlite3.c /^static const char statMutex[] = {$/;" v typeref:typename:const char[] file:
|
||||
staticMutexes src/sqlite3/src/sqlite3.c /^ static CheckMutex staticMutexes[] = {$/;" l function:checkMutexAlloc typeref:typename:CheckMutex[] file:
|
||||
staticMutexes src/sqlite3/src/sqlite3.c /^ static sqlite3_mutex staticMutexes[] = {$/;" l function:pthreadMutexAlloc typeref:typename:sqlite3_mutex[] file:
|
||||
status src/dodo.c /^ char* status = "today";$/;" l function:view_tasks typeref:typename:char * file:
|
||||
status src/dodo.h /^ char *status;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
stdout_org tests/tests.c /^ FILE *stdout_org;$/;" l function:test_display_task typeref:typename:FILE * file:
|
||||
step_list src/sqlite3/src/sqlite3.c /^ TriggerStep *step_list; \/* Link list of trigger program steps *\/$/;" m struct:Trigger typeref:typename:TriggerStep * file:
|
||||
@ -7071,19 +7076,21 @@ t src/sqlite3/src/sqlite3.c /^ unsigned int i, t;$/;" l function:sqlite3UtfSelf
|
||||
tRowcnt src/sqlite3/src/sqlite3.c /^typedef u64 tRowcnt;$/;" t typeref:typename:u64 file:
|
||||
tab src/sqlite3/src/sqlite3.c /^ } tab;$/;" m union:Table::__anon176c6ffd240a typeref:struct:Table::__anon176c6ffd240a::__anon176c6ffd2508 file:
|
||||
tabFlags src/sqlite3/src/sqlite3.c /^ u32 tabFlags; \/* Mask of TF_* values *\/$/;" m struct:Table typeref:typename:u32 file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:add_new_task typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:complete_task typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:del_task typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:update_task typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:update_task_status typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:view_tasks typeref:typename:char * file:
|
||||
table src/dodo.c /^ char* table = "tasks";$/;" l function:display_task_list typeref:typename:char * file:
|
||||
table src/sqlite3/src/sqlite3.c /^ char *table; \/* The table or view to which the trigger applies *\/$/;" m struct:Trigger typeref:typename:char * file:
|
||||
task_entry src/dodo.h /^}task_entry;$/;" t typeref:struct:__anon569311380208
|
||||
task_id src/dodo.h /^ int task_id;$/;" m struct:__anon569311380208 typeref:typename:int
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:add_new_task typeref:typename:filtered_tasks * file:
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:complete_task typeref:typename:filtered_tasks * file:
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:del_task typeref:typename:filtered_tasks * file:
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:get_num_rows typeref:typename:filtered_tasks * file:
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:update_task typeref:typename:filtered_tasks * file:
|
||||
task src/dodo.c /^ filtered_tasks* task = malloc(sizeof(filtered_tasks));$/;" l function:update_task_status typeref:typename:filtered_tasks * file:
|
||||
tasks src/dodo.c /^ filtered_tasks* tasks = malloc(sizeof(filtered_tasks));$/;" l function:view_tasks typeref:typename:filtered_tasks * file:
|
||||
tblHash src/sqlite3/src/sqlite3.c /^ Hash tblHash; \/* All tables indexed by name *\/$/;" m struct:Schema typeref:typename:Hash file:
|
||||
temp src/dodo.c /^ char *temp;$/;" l function:concat_with_mem_cleanup typeref:typename:char * file:
|
||||
temp src/sqlite3/src/sqlite3.c /^ u8 temp;$/;" l function:sqlite3VdbeMemTranslate typeref:typename:u8 file:
|
||||
temp_store src/sqlite3/src/sqlite3.c /^ u8 temp_store; \/* 1: file 2: memory 0: default *\/$/;" m struct:sqlite3 typeref:typename:u8 file:
|
||||
test Makefile /^test: $(OBJ) $(TEST_SRC) $(X_STRING_OBJ) $(SQLITE_OBJ)$/;" t
|
||||
test src/dodo.c /^ char test[SQLQUERY_MAX];$/;" l function:prepare_sql_update_stmt typeref:typename:char[] file:
|
||||
test_add_new_task_no_date tests/tests.c /^int test_add_new_task_no_date(){$/;" f typeref:typename:int
|
||||
test_add_new_task_with_date_and_delete tests/tests.c /^int test_add_new_task_with_date_and_delete(){$/;" f typeref:typename:int
|
||||
test_add_then_update_task_status_then_delete tests/tests.c /^int test_add_then_update_task_status_then_delete(){$/;" f typeref:typename:int
|
||||
@ -7103,12 +7110,7 @@ tid src/sqlite3/src/sqlite3.c /^ pthread_t tid; \/* Thread ID *
|
||||
tid src/sqlite3/src/sqlite3.c /^ void *tid; \/* The thread handle *\/$/;" m struct:SQLiteThread typeref:typename:void * file:
|
||||
timeFunc src/sqlite3/src/sqlite3.c /^static void timeFunc($/;" f typeref:typename:void file:
|
||||
timediffFunc src/sqlite3/src/sqlite3.c /^static void timediffFunc($/;" f typeref:typename:void file:
|
||||
title src/dodo.c /^ char* title = NULL;$/;" l function:add_new_task typeref:typename:char * file:
|
||||
title src/dodo.c /^ char* title;$/;" l function:complete_task typeref:typename:char * file:
|
||||
title src/dodo.c /^ char* title;$/;" l function:del_task typeref:typename:char * file:
|
||||
title src/dodo.c /^ char* title;$/;" l function:update_task typeref:typename:char * file:
|
||||
title src/dodo.h /^ char *title;$/;" m struct:__anon569311380208 typeref:typename:char *
|
||||
title_or_active_id src/dodo.c /^ char* title_or_active_id;$/;" l function:update_task_status typeref:typename:char * file:
|
||||
tmp src/sqlite3/src/sqlite3.c /^ Expr tmp;$/;" l function:sqlite3TreeViewExpr typeref:typename:Expr file:
|
||||
tnum src/sqlite3/src/sqlite3.c /^ Pgno tnum; \/* DB Page containing root of this index *\/$/;" m struct:Index typeref:typename:Pgno file:
|
||||
tnum src/sqlite3/src/sqlite3.c /^ Pgno tnum; \/* Root BTree page for this table *\/$/;" m struct:Table typeref:typename:Pgno file:
|
||||
@ -7161,6 +7163,7 @@ uniqNotNull src/sqlite3/src/sqlite3.c /^ unsigned uniqNotNull:1; \/* True if U
|
||||
unixepochFunc src/sqlite3/src/sqlite3.c /^static void unixepochFunc($/;" f typeref:typename:void file:
|
||||
unlikely src/sqlite3/src/sqlite3.c /^#define unlikely(/;" d file:
|
||||
update_task src/dodo.c /^int update_task(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int
|
||||
update_task src/dodo.h /^int update_task(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int
|
||||
update_task_status src/dodo.c /^int update_task_status(sqlite3 *db, int argc, char** argv){$/;" f typeref:typename:int
|
||||
update_task_status src/dodo.h /^int update_task_status(sqlite3 *db, int argc, char** argv);$/;" p typeref:typename:int
|
||||
uptr src/sqlite3/src/sqlite3.c /^ typedef u32 uptr;$/;" t typeref:typename:u32 file:
|
||||
@ -7184,7 +7187,7 @@ validHMS src/sqlite3/src/sqlite3.c /^ char validHMS; \/* True (1) if h,m,s
|
||||
validJD src/sqlite3/src/sqlite3.c /^ char validJD; \/* True (1) if iJD is valid *\/$/;" m struct:DateTime typeref:typename:char file:
|
||||
validJulianDay src/sqlite3/src/sqlite3.c /^static int validJulianDay(sqlite3_int64 iJD){$/;" f typeref:typename:int file:
|
||||
validYMD src/sqlite3/src/sqlite3.c /^ char validYMD; \/* True (1) if Y,M,D are valid *\/$/;" m struct:DateTime typeref:typename:char file:
|
||||
values src/dodo.c /^ char values[100];$/;" l function:add_new_task typeref:typename:char[100] file:
|
||||
values src/dodo.c /^ char values[ARG_MAX];$/;" l function:add_new_task typeref:typename:char[] file:
|
||||
vfsList src/sqlite3/src/sqlite3.c /^#define vfsList GLOBAL(sqlite3_vfs *, vfsList)/;" d file:
|
||||
vfsList src/sqlite3/src/sqlite3.c /^static sqlite3_vfs * SQLITE_WSD vfsList = 0;$/;" v typeref:typename:sqlite3_vfs * SQLITE_WSD file:
|
||||
vfsUnlink src/sqlite3/src/sqlite3.c /^static void vfsUnlink(sqlite3_vfs *pVfs){$/;" f typeref:typename:void file:
|
||||
@ -7202,7 +7205,6 @@ w src/sqlite3/src/sqlite3.c /^ } w;$/;" m struct:Expr typeref:union:Expr::__ano
|
||||
walkerDepth src/sqlite3/src/sqlite3.c /^ int walkerDepth; \/* Number of subqueries *\/$/;" m struct:Walker typeref:typename:int file:
|
||||
width src/dodo.c /^ int width = (FIXED_ID_WIDTH + FIXED_TITLE_WIDTH + FIXED_DATE_WIDTH + x_strlen(heading) );$/;" l function:display_task_list_heading typeref:typename:int file:
|
||||
width src/dodo.c /^ int width = 0;$/;" l function:display_column_heading typeref:typename:int file:
|
||||
width src/dodo.c /^ int width = 0;$/;" l function:display_heading typeref:typename:int file:
|
||||
width src/sqlite3/src/sqlite3.c /^ int width; \/* Width of the current field *\/$/;" l function:sqlite3_str_vappendf typeref:typename:int file:
|
||||
width_div_2 src/dodo.c /^ int width_div_2 = width \/ 2;$/;" l function:display_task_list_heading typeref:typename:int file:
|
||||
winMutexAlloc src/sqlite3/src/sqlite3.c /^static sqlite3_mutex *winMutexAlloc(int iType){$/;" f typeref:typename:sqlite3_mutex * file:
|
||||
@ -7554,8 +7556,8 @@ x_strcmp src/xlibc/x_string/src/x_string.c /^int x_strcmp (const char* str1, con
|
||||
x_strcmp src/xlibc/x_string/src/x_string.h /^int x_strcmp(const char*, const char*);$/;" p typeref:typename:int
|
||||
x_strconcat src/xlibc/x_string/src/x_string.c /^char* x_strconcat(char* str1, char* str2){$/;" f typeref:typename:char *
|
||||
x_strconcat src/xlibc/x_string/src/x_string.h /^char* x_strconcat(char*, char*);$/;" p typeref:typename:char *
|
||||
x_strcpy src/xlibc/x_string/src/x_string.c /^void x_strcpy(char* dest, char* src, const int size_dest){$/;" f typeref:typename:void
|
||||
x_strcpy src/xlibc/x_string/src/x_string.h /^void x_strcpy(char*, char*, const int);$/;" p typeref:typename:void
|
||||
x_strcpy src/xlibc/x_string/src/x_string.c /^int x_strcpy(char* dest, char* src, const int size_dest){$/;" f typeref:typename:int
|
||||
x_strcpy src/xlibc/x_string/src/x_string.h /^int x_strcpy(char*, char*, const int);$/;" p typeref:typename:int
|
||||
x_strlen src/xlibc/x_string/src/x_string.c /^int x_strlen(char* str){$/;" f typeref:typename:int
|
||||
x_strlen src/xlibc/x_string/src/x_string.h /^int x_strlen(char*);$/;" p typeref:typename:int
|
||||
xlibc src/xlibc/README.md /^# xlibc$/;" c
|
||||
|
@ -133,15 +133,13 @@ int test_update_task(){
|
||||
printf("%s... ", __func__);
|
||||
int rc = 0;
|
||||
sqlite3 *db;
|
||||
char *argv_1[3] = {"./dodo", "new", "jello"};
|
||||
char *argv_1[4] = {"./dodo", "update", "jello", "hello"};
|
||||
|
||||
if ( (rc = set_up_db(&db)) ){
|
||||
return rc;
|
||||
}
|
||||
|
||||
update_task(db, 3, argv_1);
|
||||
|
||||
return 1;
|
||||
return update_task(db, 4, argv_1);
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user