mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-09-18 18:22:07 +08:00
resync...no idea what's in here, it's been sitting on the shelf for a while
This commit is contained in:
@@ -46,19 +46,20 @@ char *g_input_ptr;
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(b, r, ms) (r = mdb_sql_yyinput(b, ms));
|
||||
|
||||
MdbSQL *mdb_sql_init();
|
||||
MdbSQLSarg *mdb_sql_alloc_sarg();
|
||||
MdbSQLColumn *mdb_sql_alloc_column();
|
||||
MdbSQLTable *mdb_sql_alloc_table();
|
||||
MdbHandle *mdb_sql_open(MdbSQL *sql, char *db_name);
|
||||
int mdb_sql_add_sarg(MdbSQL *sql, char *col_name, int op, char *constant);
|
||||
void mdb_sql_all_columns(MdbSQL *sql);
|
||||
int mdb_sql_add_column(MdbSQL *sql, char *column_name);
|
||||
int mdb_sql_add_table(MdbSQL *sql, char *table_name);
|
||||
void mdb_sql_dump(MdbSQL *sql);
|
||||
void mdb_sql_exit(MdbSQL *sql);
|
||||
void mdb_sql_reset(MdbSQL *sql);
|
||||
void mdb_sql_listtables(MdbSQL *sql);
|
||||
void mdb_sql_select(MdbSQL *sql);
|
||||
extern MdbSQL *mdb_sql_init();
|
||||
extern MdbSQLSarg *mdb_sql_alloc_sarg();
|
||||
extern MdbSQLColumn *mdb_sql_alloc_column();
|
||||
extern MdbSQLTable *mdb_sql_alloc_table();
|
||||
extern MdbHandle *mdb_sql_open(MdbSQL *sql, char *db_name);
|
||||
extern int mdb_sql_add_sarg(MdbSQL *sql, char *col_name, int op, char *constant);
|
||||
extern void mdb_sql_all_columns(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 void mdb_sql_dump(MdbSQL *sql);
|
||||
extern void mdb_sql_exit(MdbSQL *sql);
|
||||
extern void mdb_sql_reset(MdbSQL *sql);
|
||||
extern void mdb_sql_listtables(MdbSQL *sql);
|
||||
extern void mdb_sql_select(MdbSQL *sql);
|
||||
extern void mdbsql_bind_all(MdbSQL *sql);
|
||||
|
||||
#endif
|
||||
|
@@ -209,6 +209,11 @@ typedef struct {
|
||||
GArray *columns;
|
||||
} MdbCatalogEntry;
|
||||
|
||||
typedef struct {
|
||||
gchar *name;
|
||||
GHashTable *hash;
|
||||
} MdbProperties;
|
||||
|
||||
typedef union {
|
||||
int i;
|
||||
double d;
|
||||
@@ -229,10 +234,15 @@ typedef struct {
|
||||
int query_order;
|
||||
int col_num;
|
||||
int cur_value_start;
|
||||
int cur_value_len;
|
||||
int cur_value_len;
|
||||
/* MEMO/OLE readers */
|
||||
guint32 cur_blob_pg;
|
||||
int cur_blob_row;
|
||||
int chunk_size;
|
||||
/* numerics only */
|
||||
int col_prec;
|
||||
int col_scale;
|
||||
MdbProperties *props;
|
||||
} MdbColumn;
|
||||
|
||||
typedef struct _mdbsargtree {
|
||||
@@ -291,6 +301,7 @@ typedef struct {
|
||||
MdbIndex *scan_idx;
|
||||
MdbHandle *mdbidx;
|
||||
MdbIndexChain *chain;
|
||||
MdbProperties *props;
|
||||
} MdbTableDef;
|
||||
|
||||
struct mdbindex {
|
||||
@@ -341,18 +352,25 @@ extern MdbStatistics *mdb_alloc_stats(MdbHandle *mdb);
|
||||
/* file.c */
|
||||
extern size_t mdb_read_pg(MdbHandle *mdb, unsigned long pg);
|
||||
extern size_t mdb_read_alt_pg(MdbHandle *mdb, unsigned long pg);
|
||||
extern unsigned char mdb_get_byte(MdbHandle *mdb, int offset);
|
||||
extern int mdb_get_int16(MdbHandle *mdb, int offset);
|
||||
extern gint32 mdb_get_int24(MdbHandle *mdb, int offset);
|
||||
extern long mdb_get_int32(MdbHandle *mdb, int offset);
|
||||
extern float mdb_get_single(MdbHandle *mdb, int offset);
|
||||
extern double mdb_get_double(MdbHandle *mdb, int offset);
|
||||
extern unsigned char mdb_get_byte(unsigned char *buf, int offset);
|
||||
extern int mdb_get_int16(unsigned char *buf, int offset);
|
||||
extern gint32 mdb_get_int24(unsigned char *buf, int offset);
|
||||
extern long mdb_get_int32(unsigned char *buf, int offset);
|
||||
extern float mdb_get_single(unsigned char *buf, int offset);
|
||||
extern double mdb_get_double(unsigned char *buf, int offset);
|
||||
extern unsigned char mdb_pg_get_byte(MdbHandle *mdb, int offset);
|
||||
extern int mdb_pg_get_int16(MdbHandle *mdb, int offset);
|
||||
extern gint32 mdb_pg_get_int24(MdbHandle *mdb, int offset);
|
||||
extern long mdb_pg_get_int32(MdbHandle *mdb, int offset);
|
||||
extern float mdb_pg_get_single(MdbHandle *mdb, int offset);
|
||||
extern double mdb_pg_get_double(MdbHandle *mdb, int offset);
|
||||
extern MdbHandle *mdb_open(char *filename);
|
||||
extern void mdb_close(MdbHandle *mdb);
|
||||
extern MdbHandle *mdb_clone_handle(MdbHandle *mdb);
|
||||
extern void mdb_swap_pgbuf(MdbHandle *mdb);
|
||||
extern long _mdb_get_int32(unsigned char *buf, int offset);
|
||||
extern gint32 mdb_get_int24_msb(MdbHandle *mdb, int offset);
|
||||
extern void mdb_free_tabledef(MdbTableDef *table);
|
||||
|
||||
/* catalog.c */
|
||||
GPtrArray *mdb_read_catalog(MdbHandle *mdb, int obj_type);
|
||||
@@ -368,17 +386,20 @@ extern GPtrArray *mdb_read_columns(MdbTableDef *table);
|
||||
extern void mdb_table_dump(MdbCatalogEntry *entry);
|
||||
|
||||
/* data.c */
|
||||
extern int mdb_bind_column_by_name(MdbTableDef *table, gchar *col_name, void *bind_ptr);
|
||||
extern void mdb_data_dump(MdbTableDef *table);
|
||||
extern void mdb_bind_column(MdbTableDef *table, int col_num, void *bind_ptr);
|
||||
extern int mdb_rewind_table(MdbTableDef *table);
|
||||
extern int mdb_fetch_row(MdbTableDef *table);
|
||||
extern int mdb_is_fixed_col(MdbColumn *col);
|
||||
extern char *mdb_col_to_string(MdbHandle *mdb, int start, int datatype, int size);
|
||||
extern char *mdb_col_to_string(MdbHandle *mdb, unsigned char *buf, int start, int datatype, int size);
|
||||
extern int mdb_find_end_of_row(MdbHandle *mdb, int row);
|
||||
extern int mdb_col_fixed_size(MdbColumn *col);
|
||||
extern int mdb_col_disp_size(MdbColumn *col);
|
||||
extern void mdb_bind_len(MdbTableDef *table, int col_num, int *len_ptr);
|
||||
extern int mdb_unicode2ascii(MdbHandle *mdb, unsigned char *buf, int offset, int len, char *dest);
|
||||
extern int mdb_ole_read_next(MdbHandle *mdb, MdbColumn *col, void *ole_ptr);
|
||||
extern int mdb_ole_read(MdbHandle *mdb, MdbColumn *col, void *ole_ptr, int chunk_size);
|
||||
|
||||
/* dump.c */
|
||||
extern void buffer_dump(const unsigned char* buf, int start, int end);
|
||||
@@ -395,10 +416,14 @@ extern int mdb_test_sargs(MdbTableDef *table, MdbField *fields, int num_fields);
|
||||
extern int mdb_test_sarg(MdbHandle *mdb, MdbColumn *col, MdbSargNode *node, void *buf, int len);
|
||||
extern void mdb_sql_walk_tree(MdbSargNode *node, MdbSargTreeFunc func, gpointer data);
|
||||
extern int mdb_find_indexable_sargs(MdbSargNode *node, gpointer data);
|
||||
extern int mdb_add_sarg_by_name(MdbTableDef *table, char *colname, MdbSarg *in_sarg);
|
||||
|
||||
/* index.c */
|
||||
extern GPtrArray *mdb_read_indices(MdbTableDef *table);
|
||||
extern void mdb_index_dump(MdbTableDef *table, MdbIndex *idx);
|
||||
extern void mdb_index_scan_free(MdbTableDef *table);
|
||||
extern int mdb_index_find_next_on_page(MdbHandle *mdb, MdbIndexPage *ipg);
|
||||
extern int mdb_index_find_next(MdbHandle *mdb, MdbIndex *idx, MdbIndexChain *chain, guint32 *pg, guint16 *row);
|
||||
|
||||
/* stats.c */
|
||||
extern void mdb_stats_on(MdbHandle *mdb);
|
||||
@@ -408,4 +433,7 @@ extern void mdb_dump_stats(MdbHandle *mdb);
|
||||
/* like.c */
|
||||
extern int mdb_like_cmp(char *s, char *r);
|
||||
|
||||
/* write.c */
|
||||
extern int mdb_crack_row(MdbTableDef *table, int row_start, int row_end, MdbField *fields);
|
||||
|
||||
#endif /* _mdbtools_h_ */
|
||||
|
Reference in New Issue
Block a user