1 /* MDB Tools - A library for reading MS Access database file
2 * Copyright (C) 2000 Brian Bruns
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
35 unsigned int num_columns
;
37 unsigned int num_tables
;
39 MdbTableDef
*cur_table
;
40 MdbSargNode
*sarg_tree
;
42 GPtrArray
*bound_values
;
43 unsigned char *kludge_ttable_pg
;
54 void *bind_addr
; /* if !NULL then cp parameter to here */
70 #define mdb_sql_has_error(sql) ((sql)->error_msg[0] ? 1 : 0)
71 #define mdb_sql_last_error(sql) ((sql)->error_msg)
73 void mdb_sql_error(MdbSQL
* sql
, const char *fmt
, ...);
74 MdbSQL
*mdb_sql_init(void);
75 MdbSQLSarg
*mdb_sql_alloc_sarg(void);
76 MdbHandle
*mdb_sql_open(MdbSQL
*sql
, char *db_name
);
77 void mdb_sql_free_tree(MdbSargNode
*tree
);
78 int mdb_sql_add_sarg(MdbSQL
*sql
, char *col_name
, int op
, char *constant
);
79 void mdb_sql_all_columns(MdbSQL
*sql
);
80 void mdb_sql_sel_count(MdbSQL
*sql
);
81 int mdb_sql_add_column(MdbSQL
*sql
, char *column_name
);
82 int mdb_sql_add_table(MdbSQL
*sql
, char *table_name
);
83 char *mdb_sql_strptime(MdbSQL
*sql
, char *data
, char *format
);
84 void mdb_sql_dump(MdbSQL
*sql
);
85 void mdb_sql_exit(MdbSQL
*sql
);
86 void mdb_sql_reset(MdbSQL
*sql
);
87 void mdb_sql_listtables(MdbSQL
*sql
);
88 void mdb_sql_select(MdbSQL
*sql
);
89 void mdb_sql_dump_node(MdbSargNode
*node
, int level
);
90 void mdb_sql_close(MdbSQL
*sql
);
91 void mdb_sql_add_or(MdbSQL
*sql
);
92 void mdb_sql_add_and(MdbSQL
*sql
);
93 void mdb_sql_add_not(MdbSQL
*sql
);
94 void mdb_sql_describe_table(MdbSQL
*sql
);
95 MdbSQL
* mdb_sql_run_query (MdbSQL
*, const gchar
*);
96 void mdb_sql_set_maxrow(MdbSQL
*sql
, int maxrow
);
97 int mdb_sql_eval_expr(MdbSQL
*sql
, char *const1
, int op
, char *const2
);
98 int mdb_sql_bind_all(MdbSQL
*sql
);
99 void mdb_sql_unbind_all(MdbSQL
*sql
);
100 int mdb_sql_fetch_row(MdbSQL
*sql
, MdbTableDef
*table
);
101 int mdb_sql_add_temp_col(MdbSQL
*sql
, MdbTableDef
*ttable
, int col_num
, char *name
, int col_type
, int col_size
, int is_fixed
);
102 int mdb_sql_bind_column(MdbSQL
*sql
, int colnum
, void *varaddr
, int *len_ptr
);
103 int mdb_sql_add_limit(MdbSQL
*sql
, char *limit
, int percent
);
104 int mdb_sql_get_limit(MdbSQL
*sql
);
106 int parse_sql(MdbSQL
* mdb
, const gchar
* str
);