Added strptime function to SQL parser as a feature. This is needed to i.e. be able to query time-fields in DB and to use dates <1.1.1970 and >19.1.2038. All changes should be backwards-compatible to not break existing queries.

This commit is contained in:
leecher1337
2015-08-30 11:23:57 +02:00
parent 5ce4cc5528
commit e2449c11f3
9 changed files with 163 additions and 18 deletions

View File

@@ -83,6 +83,7 @@ extern void mdb_sql_all_columns(MdbSQL *sql);
extern void mdb_sql_sel_count(MdbSQL *sql);
extern int mdb_sql_add_column(MdbSQL *sql, char *column_name);
extern int mdb_sql_add_table(MdbSQL *sql, char *table_name);
extern char *mdb_sql_strptime(MdbSQL *sql, char *data, char *format);
extern void mdb_sql_dump(MdbSQL *sql);
extern void mdb_sql_exit(MdbSQL *sql);
extern void mdb_sql_reset(MdbSQL *sql);

View File

@@ -336,6 +336,7 @@ typedef struct {
struct mdbsargtree {
int op;
MdbColumn *col;
unsigned char val_type;
MdbAny value;
void *parent;
MdbSargNode *left;
@@ -482,6 +483,7 @@ extern const char *mdb_col_get_prop(const MdbColumn *col, const gchar *key);
extern int mdb_bind_column_by_name(MdbTableDef *table, gchar *col_name, void *bind_ptr, int *len_ptr);
extern void mdb_data_dump(MdbTableDef *table);
extern void mdb_date_to_tm(double td, struct tm *t);
extern void mdb_tm_to_date(struct tm *t, double *td);
extern void mdb_bind_column(MdbTableDef *table, int col_num, void *bind_ptr, int *len_ptr);
extern int mdb_rewind_table(MdbTableDef *table);
extern int mdb_fetch_row(MdbTableDef *table);