SQLite3 ODBC Driver main module. More...
Go to the source code of this file.
Data Structures | |
struct | dstr |
Internal structure representing dynamic strings. More... | |
struct | tblres |
Internal structure for managing driver's sqlite3_get_table() implementation. More... | |
Macros | |
#define | WINTERFACE |
#define | WCHARSUPPORT |
#define | ODBC_INI ".odbc.ini" |
#define | DRIVER_VER_INFO "0.0" |
#define | COLATTRIBUTE_LAST_ARG_TYPE SQLPOINTER |
#define | SETSTMTOPTION_LAST_ARG_TYPE SQLROWCOUNT |
#define | min(a, b) |
#define | max(a, b) |
#define | PTRDIFF_T int |
#define | array_size(x) |
#define | stringify1(s) |
#define | stringify(s) |
#define | verinfo(maj, min, lev) |
#define | SCOL_VARCHAR SQL_WVARCHAR |
#define | SCOL_CHAR SQL_WCHAR |
#define | ENV_MAGIC 0x53544145 |
#define | DBC_MAGIC 0x53544144 |
#define | DEAD_MAGIC 0xdeadbeef |
#define | xmalloc(x) |
#define | xrealloc(x, y) |
#define | xfree(x) |
#define | xstrdup(x) |
#define | HDBC_LOCK(hdbc) |
#define | HDBC_UNLOCK(hdbc) |
#define | HSTMT_LOCK(hdbc) |
#define | HSTMT_UNLOCK(hdbc) |
#define | ISDIGIT(c) |
#define | ISSPACE(c) |
#define | drvgetgpps(d) |
#define | drvrelgpps(d) |
#define | strmak(dst, src, max, lenp) |
#define | SET_EXISTS(x) |
#define | CLR_EXISTS(x) |
Typedefs | |
typedef struct dstr | dstr |
typedef struct tblres | TBLRES |
Functions | |
static int | TOLOWER (int c) |
static void | dbtraceapi (DBC *d, char *fn, const char *sql) |
Trace function for SQLite API calls. | |
static void | freedyncols (STMT *s) |
Free dynamically allocated column descriptions of STMT. | |
static void | freeresult (STMT *s, int clrcols) |
Free statement's result. | |
static void | freerows (char **rowp) |
Free counted array of char pointers. | |
static void | unbindcols (STMT *s) |
Reset bound columns to unbound state. | |
static void | s3stmt_drop (STMT *s) |
Drop running sqlite statement in STMT. | |
static SQLRETURN | drvexecute (SQLHSTMT stmt, int initial) |
static SQLRETURN | freestmt (HSTMT stmt) |
static SQLRETURN | mkbindcols (STMT *s, int ncols) |
Reallocate space for bound columns. | |
static SQLRETURN | setupdyncols (STMT *s, sqlite3_stmt *s3stmt, int *ncolsp) |
static SQLRETURN | setupparbuf (STMT *s, BINDPARM *p) |
Setup parameter buffer for deferred parameter. | |
static SQLRETURN | starttran (STMT *s) |
Start transaction when autocommit off. | |
static SQLRETURN | setupparam (STMT *s, char *sql, int pnum) |
Setup SQLite3 parameter for statement parameter. | |
static SQLRETURN | getrowdata (STMT *s, SQLUSMALLINT col, SQLSMALLINT otype, SQLPOINTER val, SQLINTEGER len, SQLLEN *lenp, int partial) |
Internal function to retrieve row data, used by SQLFetch() and friends and SQLGetData(). | |
static char * | strdup_ (const char *str) |
Duplicate string using xmalloc(). | |
static dstr * | dsappend (dstr *dsp, const char *str) |
Append string to dynamic string. | |
static dstr * | dsappendq (dstr *dsp, const char *str) |
Append a string double quoted to dynamic string. | |
static const char * | dsval (dstr *dsp) |
Return dynamic string's value. | |
static int | dserr (dstr *dsp) |
Check error on dynamic string. | |
static void | dsfree (dstr *dsp) |
Free dynamic string. | |
static int | uc_strlen (SQLWCHAR *str) |
Return length of UNICODE string. | |
static SQLWCHAR * | uc_strncpy (SQLWCHAR *dest, SQLWCHAR *src, int len) |
Copy UNICODE string like strncpy(). | |
static void | uc_from_utf_buf (unsigned char *str, int len, SQLWCHAR *uc, int ucLen) |
Make UNICODE string from UTF8 string into buffer. | |
static SQLWCHAR * | uc_from_utf (unsigned char *str, int len) |
Make UNICODE string from UTF8 string. | |
static char * | uc_to_utf (SQLWCHAR *str, int len) |
Make UTF8 string from UNICODE string. | |
static char * | uc_to_utf_c (SQLWCHAR *str, int len) |
Make UTF8 string from UNICODE string. | |
static void | uc_free (void *str) |
Free converted UTF8 or UNICODE string. | |
static void | s3bind (DBC *d, sqlite3_stmt *stmt, int nparams, BINDPARM *p) |
static int | drvgettable_row (TBLRES *t, int ncol, int rc) |
static int | drvgettable (STMT *s, const char *sql, char ***resp, int *nrowp, int *ncolp, char **errp, int nparam, BINDPARM *p) |
static void | setstatd (DBC *d, int naterr, char *msg, char *st,...) |
Set error message and SQL state on DBC. | |
static void | setstat (STMT *s, int naterr, char *msg, char *st,...) |
Set error message and SQL state on statement. | |
static SQLRETURN | drvunimpldbc (HDBC dbc) |
Report IM001 (not implemented) SQL error code for HDBC. | |
static SQLRETURN | drvunimplstmt (HSTMT stmt) |
Report IM001 (not implemented) SQL error code for HSTMT. | |
static void | freep (void *x) |
Free memory given pointer to memory pointer. | |
static SQLRETURN | nomem (STMT *s) |
Report S1000 (out of memory) SQL error given STMT. | |
static SQLRETURN | noconn (STMT *s) |
Report S1000 (not connected) SQL error given STMT. | |
static double | ln_strtod (const char *data, char **endp) |
Internal locale neutral strtod function. | |
static char * | unquote (char *str) |
Strip quotes from quoted string in-place. | |
static int | unescpat (char *str) |
Unescape search pattern for e.g. | |
static int | namematch (char *str, char *pat, int esc) |
SQL LIKE string match with optional backslash escape handling. | |
static int | busy_handler (void *udata, int count) |
Busy callback for SQLite. | |
static int | setsqliteopts (sqlite3 *x, DBC *d) |
Set SQLite options (PRAGMAs) given SQLite handle. | |
static int | mapsqltype (const char *typename, int *nosign, int ov3, int nowchar, int dobigint) |
Map SQL field type from string to ODBC integer type code. | |
static void | getmd (const char *typename, int sqltype, int *mp, int *dp) |
Get maximum display size and number of digits after decimal point from field type specification. | |
static int | mapdeftype (int type, int stype, int nosign, int nowchar) |
Map SQL_C_DEFAULT to proper C type. | |
static int | checkddl (char *sql) |
Check if query is a DDL statement. | |
static char * | fixupsql (char *sql, int sqlLen, int cte, int *nparam, int *isselect, char **errmsg) |
Fixup query string with optional parameter markers. | |
static void | replilike (char *sql) |
Replace ILIKE with LIKE in-place given query string. | |
static int | findcol (char **cols, int ncols, char *name) |
Find column given name in string array. | |
static void | fixupdyncols (STMT *s, DBC *d) |
Fixup column information for a running statement. | |
static void | convJD2YMD (double jd, DATE_STRUCT *ds) |
Convert julian day to year/month/day. | |
static void | convJD2HMS (double jd, TIME_STRUCT *ts, int *fp) |
Convert julian day to hour/minute/second. | |
static int | getmdays (int year, int month) |
Return number of month days. | |
static int | str2date (int jdconv, char *str, DATE_STRUCT *ds) |
Convert string to ODBC DATE_STRUCT. | |
static int | str2time (int jdconv, char *str, TIME_STRUCT *ts) |
Convert string to ODBC TIME_STRUCT. | |
static int | str2timestamp (int jdconv, char *str, TIMESTAMP_STRUCT *tss) |
Convert string to ODBC TIMESTAMP_STRUCT. | |
static int | getbool (char *string) |
Get boolean flag from string. | |
static void | blob_import (sqlite3_context *ctx, int nargs, sqlite3_value **args) |
SQLite function to import a BLOB from a file. | |
static void | blob_export (sqlite3_context *ctx, int nargs, sqlite3_value **args) |
SQLite function to export a BLOB to a file. | |
static void | dbtrace (void *arg, const char *msg, sqlite_uint64 et) |
SQLite trace or profile callback. | |
static void | dbtracerc (DBC *d, int rc, char *err) |
Trace function for SQLite return codes. | |
static SQLRETURN | dbopen (DBC *d, char *name, int isu, char *dsn, char *sflag, char *spflag, char *ntflag, char *jmode, char *busy) |
Open SQLite database file given file name and flags. | |
static void | dbloadext (DBC *d, char *exts) |
Load SQLite extension modules, if any. | |
static void | dbattas (DBC *d, char *attas) |
Perform ATTACH commands to same database file. | |
static char * | s3stmt_coltype (sqlite3_stmt *s3stmt, int col, DBC *d, int *guessed_types) |
Find out column type. | |
static int | s3stmt_step (STMT *s) |
Do one sqlite statement step gathering one result row. | |
static void | s3stmt_end (STMT *s) |
Stop running sqlite statement. | |
static void | s3stmt_end_if (STMT *s) |
Conditionally stop running sqlite statement. | |
static SQLRETURN | s3stmt_start (STMT *s) |
Start sqlite statement for execution of SELECT statement. | |
SQLRETURN SQL_API | SQLDataSourcesW (SQLHENV env, SQLUSMALLINT dir, SQLWCHAR *srvname, SQLSMALLINT buflen1, SQLSMALLINT *lenp1, SQLWCHAR *desc, SQLSMALLINT buflen2, SQLSMALLINT *lenp2) |
Function not implemented. | |
SQLRETURN SQL_API | SQLDriversW (SQLHENV env, SQLUSMALLINT dir, SQLWCHAR *drvdesc, SQLSMALLINT descmax, SQLSMALLINT *desclenp, SQLWCHAR *drvattr, SQLSMALLINT attrmax, SQLSMALLINT *attrlenp) |
Function not implemented. | |
SQLRETURN SQL_API | SQLBrowseConnectW (SQLHDBC dbc, SQLWCHAR *connin, SQLSMALLINT conninLen, SQLWCHAR *connout, SQLSMALLINT connoutMax, SQLSMALLINT *connoutLen) |
Function not implemented. | |
static SQLRETURN | drvputdata (SQLHSTMT stmt, SQLPOINTER data, SQLLEN len) |
Internal put (partial) parameter data into executing statement. | |
SQLRETURN SQL_API | SQLPutData (SQLHSTMT stmt, SQLPOINTER data, SQLLEN len) |
Put (partial) parameter data into executing statement. | |
static SQLRETURN | freeparams (STMT *s) |
Clear out parameter bindings, if any. | |
static SQLRETURN | drvbindparam (SQLHSTMT stmt, SQLUSMALLINT pnum, SQLSMALLINT iotype, SQLSMALLINT buftype, SQLSMALLINT ptype, SQLUINTEGER coldef, SQLSMALLINT scale, SQLPOINTER data, SQLINTEGER buflen, SQLLEN *len) |
Internal bind parameter on HSTMT. | |
SQLRETURN SQL_API | SQLBindParameter (SQLHSTMT stmt, SQLUSMALLINT pnum, SQLSMALLINT iotype, SQLSMALLINT buftype, SQLSMALLINT ptype, SQLULEN coldef, SQLSMALLINT scale, SQLPOINTER data, SQLLEN buflen, SQLLEN *len) |
Bind parameter on HSTMT. | |
SQLRETURN SQL_API | SQLBindParam (SQLHSTMT stmt, SQLUSMALLINT pnum, SQLSMALLINT vtype, SQLSMALLINT ptype, SQLULEN lenprec, SQLSMALLINT scale, SQLPOINTER val, SQLLEN *lenp) |
Bind parameter on HSTMT. | |
SQLRETURN SQL_API | SQLNumParams (SQLHSTMT stmt, SQLSMALLINT *nparam) |
Return number of parameters. | |
SQLRETURN SQL_API | SQLParamData (SQLHSTMT stmt, SQLPOINTER *pind) |
Retrieve next parameter for sending data to executing query. | |
SQLRETURN SQL_API | SQLDescribeParam (SQLHSTMT stmt, SQLUSMALLINT pnum, SQLSMALLINT *dtype, SQLULEN *size, SQLSMALLINT *decdigits, SQLSMALLINT *nullable) |
Return information about parameter. | |
SQLRETURN SQL_API | SQLSetParam (SQLHSTMT stmt, SQLUSMALLINT par, SQLSMALLINT type, SQLSMALLINT sqltype, SQLULEN coldef, SQLSMALLINT scale, SQLPOINTER val, SQLLEN *nval) |
Set information on parameter. | |
SQLRETURN SQL_API | SQLParamOptions (SQLHSTMT stmt, SQLULEN rows, SQLULEN *rowp) |
Function not implemented. | |
SQLRETURN SQL_API | SQLGetDescFieldW (SQLHDESC handle, SQLSMALLINT recno, SQLSMALLINT fieldid, SQLPOINTER value, SQLINTEGER buflen, SQLINTEGER *strlen) |
Function not implemented. | |
SQLRETURN SQL_API | SQLSetDescFieldW (SQLHDESC handle, SQLSMALLINT recno, SQLSMALLINT fieldid, SQLPOINTER value, SQLINTEGER buflen) |
Function not implemented. | |
SQLRETURN SQL_API | SQLGetDescRecW (SQLHDESC handle, SQLSMALLINT recno, SQLWCHAR *name, SQLSMALLINT buflen, SQLSMALLINT *strlen, SQLSMALLINT *type, SQLSMALLINT *subtype, SQLLEN *len, SQLSMALLINT *prec, SQLSMALLINT *scale, SQLSMALLINT *nullable) |
Function not implemented. | |
SQLRETURN SQL_API | SQLSetDescRec (SQLHDESC handle, SQLSMALLINT recno, SQLSMALLINT type, SQLSMALLINT subtype, SQLLEN len, SQLSMALLINT prec, SQLSMALLINT scale, SQLPOINTER data, SQLLEN *strlen, SQLLEN *indicator) |
Function not implemented. | |
static SQLRETURN | mkresultset (HSTMT stmt, COL *colspec, int ncols, COL *colspec3, int ncols3, int *nret) |
Setup empty result set from constant column specification. | |
static SQLRETURN | drvtableprivileges (SQLHSTMT stmt, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen) |
Retrieve privileges on tables and/or views. | |
SQLRETURN SQL_API | SQLTablePrivilegesW (SQLHSTMT stmt, SQLWCHAR *catalog, SQLSMALLINT catalogLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen) |
Retrieve privileges on tables and/or views (UNICODE version). | |
SQLRETURN SQL_API | SQLColumnPrivilegesW (SQLHSTMT stmt, SQLWCHAR *catalog, SQLSMALLINT catalogLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen, SQLWCHAR *column, SQLSMALLINT columnLen) |
Retrieve privileges on columns (UNICODE version). | |
static SQLRETURN | drvprimarykeys (SQLHSTMT stmt, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen) |
Internal retrieve information about indexed columns. | |
SQLRETURN SQL_API | SQLPrimaryKeysW (SQLHSTMT stmt, SQLWCHAR *cat, SQLSMALLINT catLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen) |
Retrieve information about indexed columns (UNICODE version). | |
static SQLRETURN | drvspecialcolumns (SQLHSTMT stmt, SQLUSMALLINT id, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen, SQLUSMALLINT scope, SQLUSMALLINT nullable) |
Internal retrieve information about indexed columns. | |
SQLRETURN SQL_API | SQLSpecialColumnsW (SQLHSTMT stmt, SQLUSMALLINT id, SQLWCHAR *cat, SQLSMALLINT catLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen, SQLUSMALLINT scope, SQLUSMALLINT nullable) |
Retrieve information about indexed columns (UNICODE version). | |
static SQLRETURN SQL_API | drvforeignkeys (SQLHSTMT stmt, SQLCHAR *PKcatalog, SQLSMALLINT PKcatalogLen, SQLCHAR *PKschema, SQLSMALLINT PKschemaLen, SQLCHAR *PKtable, SQLSMALLINT PKtableLen, SQLCHAR *FKcatalog, SQLSMALLINT FKcatalogLen, SQLCHAR *FKschema, SQLSMALLINT FKschemaLen, SQLCHAR *FKtable, SQLSMALLINT FKtableLen) |
Internal retrieve information about primary/foreign keys. | |
SQLRETURN SQL_API | SQLForeignKeysW (SQLHSTMT stmt, SQLWCHAR *PKcatalog, SQLSMALLINT PKcatalogLen, SQLWCHAR *PKschema, SQLSMALLINT PKschemaLen, SQLWCHAR *PKtable, SQLSMALLINT PKtableLen, SQLWCHAR *FKcatalog, SQLSMALLINT FKcatalogLen, SQLWCHAR *FKschema, SQLSMALLINT FKschemaLen, SQLWCHAR *FKtable, SQLSMALLINT FKtableLen) |
Retrieve information about primary/foreign keys (UNICODE version). | |
static SQLRETURN | endtran (DBC *d, SQLSMALLINT comptype, int force) |
Internal commit or rollback transaction. | |
static SQLRETURN | drvendtran (SQLSMALLINT type, SQLHANDLE handle, SQLSMALLINT comptype) |
Internal commit or rollback transaction. | |
SQLRETURN SQL_API | SQLEndTran (SQLSMALLINT type, SQLHANDLE handle, SQLSMALLINT comptype) |
Commit or rollback transaction. | |
SQLRETURN SQL_API | SQLTransact (SQLHENV env, SQLHDBC dbc, SQLUSMALLINT type) |
Commit or rollback transaction. | |
SQLRETURN SQL_API | SQLCopyDesc (SQLHDESC source, SQLHDESC target) |
Function not implemented. | |
SQLRETURN SQL_API | SQLNativeSqlW (SQLHSTMT stmt, SQLWCHAR *sqlin, SQLINTEGER sqlinLen, SQLWCHAR *sql, SQLINTEGER sqlMax, SQLINTEGER *sqlLen) |
Translate SQL string (UNICODE version). | |
SQLRETURN SQL_API | SQLProceduresW (SQLHSTMT stmt, SQLWCHAR *catalog, SQLSMALLINT catalogLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *proc, SQLSMALLINT procLen) |
Retrieve information about stored procedures (UNICODE version). | |
SQLRETURN SQL_API | SQLProcedureColumnsW (SQLHSTMT stmt, SQLWCHAR *catalog, SQLSMALLINT catalogLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *proc, SQLSMALLINT procLen, SQLWCHAR *column, SQLSMALLINT columnLen) |
Retrieve information about columns in result set of stored procedures (UNICODE version). | |
SQLRETURN SQL_API | SQLGetEnvAttr (SQLHENV env, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER len, SQLINTEGER *lenp) |
Get information of HENV. | |
SQLRETURN SQL_API | SQLSetEnvAttr (SQLHENV env, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER len) |
Set information in HENV. | |
static SQLRETURN | drvgetdiagrec (SQLSMALLINT htype, SQLHANDLE handle, SQLSMALLINT recno, SQLCHAR *sqlstate, SQLINTEGER *nativeerr, SQLCHAR *msg, SQLSMALLINT buflen, SQLSMALLINT *msglen) |
Internal get error message given handle (HENV, HDBC, or HSTMT). | |
SQLRETURN SQL_API | SQLGetDiagRecW (SQLSMALLINT htype, SQLHANDLE handle, SQLSMALLINT recno, SQLWCHAR *sqlstate, SQLINTEGER *nativeerr, SQLWCHAR *msg, SQLSMALLINT buflen, SQLSMALLINT *msglen) |
Get error message given handle (HENV, HDBC, or HSTMT) (UNICODE version). | |
static SQLRETURN | drvgetdiagfield (SQLSMALLINT htype, SQLHANDLE handle, SQLSMALLINT recno, SQLSMALLINT id, SQLPOINTER info, SQLSMALLINT buflen, SQLSMALLINT *stringlen) |
Get error record given handle (HDBC or HSTMT). | |
SQLRETURN SQL_API | SQLGetDiagFieldW (SQLSMALLINT htype, SQLHANDLE handle, SQLSMALLINT recno, SQLSMALLINT id, SQLPOINTER info, SQLSMALLINT buflen, SQLSMALLINT *stringlen) |
Get error record given handle (HDBC or HSTMT). | |
static SQLRETURN | drvgetstmtattr (SQLHSTMT stmt, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER bufmax, SQLINTEGER *buflen) |
Internal get option of HSTMT. | |
SQLRETURN SQL_API | SQLGetStmtAttrW (SQLHSTMT stmt, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER bufmax, SQLINTEGER *buflen) |
Get option of HSTMT (UNICODE version). | |
static SQLRETURN | drvsetstmtattr (SQLHSTMT stmt, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER buflen) |
Internal set option on HSTMT. | |
SQLRETURN SQL_API | SQLSetStmtAttrW (SQLHSTMT stmt, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER buflen) |
Set option on HSTMT (UNICODE version). | |
static SQLRETURN | drvgetstmtoption (SQLHSTMT stmt, SQLUSMALLINT opt, SQLPOINTER param) |
Internal get option of HSTMT. | |
SQLRETURN SQL_API | SQLGetStmtOption (SQLHSTMT stmt, SQLUSMALLINT opt, SQLPOINTER param) |
Get option of HSTMT. | |
SQLRETURN SQL_API | SQLGetStmtOptionW (SQLHSTMT stmt, SQLUSMALLINT opt, SQLPOINTER param) |
Get option of HSTMT (UNICODE version). | |
static SQLRETURN | drvsetstmtoption (SQLHSTMT stmt, SQLUSMALLINT opt, SQLUINTEGER param) |
Internal set option on HSTMT. | |
SQLRETURN SQL_API | SQLSetStmtOption (SQLHSTMT stmt, SQLUSMALLINT opt, SETSTMTOPTION_LAST_ARG_TYPE param) |
Set option on HSTMT. | |
SQLRETURN SQL_API | SQLSetStmtOptionW (SQLHSTMT stmt, SQLUSMALLINT opt, SETSTMTOPTION_LAST_ARG_TYPE param) |
Set option on HSTMT (UNICODE version). | |
static SQLRETURN | chkunbound (STMT *s) |
Check for unbound result columns. | |
static SQLRETURN | setposbind (STMT *s, sqlite3_stmt *stmt, int i, int si, int rsi) |
Internal handler to setup parameters for positional updates from bound user buffers. | |
static SQLRETURN | setposibind (STMT *s, sqlite3_stmt *stmt, int i, int si, int rsi) |
Internal handler to setup parameters for positional updates from driver side result set. | |
static SQLRETURN | setposrefr (STMT *s, int rsi) |
Internal handler to refresh user buffers from driver side result set. | |
static SQLRETURN | drvsetpos (SQLHSTMT stmt, SQLSETPOSIROW row, SQLUSMALLINT op, SQLUSMALLINT lock) |
Internal set position on result in HSTMT. | |
SQLRETURN SQL_API | SQLSetPos (SQLHSTMT stmt, SQLSETPOSIROW row, SQLUSMALLINT op, SQLUSMALLINT lock) |
Set position on result in HSTMT. | |
static SQLRETURN | drvbulkoperations (SQLHSTMT stmt, SQLSMALLINT op) |
Internal perform bulk operation on HSTMT. | |
SQLRETURN SQL_API | SQLBulkOperations (SQLHSTMT stmt, SQLSMALLINT oper) |
Perform bulk operation on HSTMT. | |
SQLRETURN SQL_API | SQLSetScrollOptions (SQLHSTMT stmt, SQLUSMALLINT concur, SQLLEN rowkeyset, SQLUSMALLINT rowset) |
Function not implemented. | |
static SQLRETURN | drvgetinfo (SQLHDBC dbc, SQLUSMALLINT type, SQLPOINTER val, SQLSMALLINT valMax, SQLSMALLINT *valLen) |
Internal return information about what this ODBC driver supports. | |
SQLRETURN SQL_API | SQLGetInfoW (SQLHDBC dbc, SQLUSMALLINT type, SQLPOINTER val, SQLSMALLINT valMax, SQLSMALLINT *valLen) |
Return information about what this ODBC driver supports. | |
SQLRETURN SQL_API | SQLGetFunctions (SQLHDBC dbc, SQLUSMALLINT func, SQLUSMALLINT *flags) |
Return information about supported ODBC API functions. | |
static SQLRETURN | drvallocenv (SQLHENV *env) |
Internal allocate HENV. | |
SQLRETURN SQL_API | SQLAllocEnv (SQLHENV *env) |
Allocate HENV. | |
static SQLRETURN | drvfreeenv (SQLHENV env) |
Internal free HENV. | |
SQLRETURN SQL_API | SQLFreeEnv (SQLHENV env) |
Free HENV. | |
static SQLRETURN | drvallocconnect (SQLHENV env, SQLHDBC *dbc) |
Internal allocate HDBC. | |
SQLRETURN SQL_API | SQLAllocConnect (SQLHENV env, SQLHDBC *dbc) |
Allocate HDBC. | |
static SQLRETURN | drvfreeconnect (SQLHDBC dbc) |
Internal free connection (HDBC). | |
SQLRETURN SQL_API | SQLFreeConnect (SQLHDBC dbc) |
Free connection (HDBC). | |
static SQLRETURN | drvgetconnectattr (SQLHDBC dbc, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER bufmax, SQLINTEGER *buflen) |
Internal get connect attribute of HDBC. | |
SQLRETURN SQL_API | SQLGetConnectAttrW (SQLHDBC dbc, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER bufmax, SQLINTEGER *buflen) |
Get connect attribute of HDBC (UNICODE version). | |
static SQLRETURN | drvsetconnectattr (SQLHDBC dbc, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER len) |
Internal set connect attribute of HDBC. | |
SQLRETURN SQL_API | SQLSetConnectAttrW (SQLHDBC dbc, SQLINTEGER attr, SQLPOINTER val, SQLINTEGER len) |
Set connect attribute of HDBC (UNICODE version). | |
static SQLRETURN | drvgetconnectoption (SQLHDBC dbc, SQLUSMALLINT opt, SQLPOINTER param) |
Internal get connect option of HDBC. | |
SQLRETURN SQL_API | SQLGetConnectOptionW (SQLHDBC dbc, SQLUSMALLINT opt, SQLPOINTER param) |
Get connect option of HDBC (UNICODE version). | |
static SQLRETURN | drvsetconnectoption (SQLHDBC dbc, SQLUSMALLINT opt, SQLUINTEGER param) |
Internal set option on HDBC. | |
SQLRETURN SQL_API | SQLSetConnectOptionW (SQLHDBC dbc, SQLUSMALLINT opt, SQLULEN param) |
Set option on HDBC (UNICODE version). | |
static int | getdsnattr (char *dsn, char *attr, char *out, int outLen) |
Handling of SQLConnect() connection attributes for standalone operation without driver manager. | |
static SQLRETURN | drvconnect (SQLHDBC dbc, SQLCHAR *dsn, SQLSMALLINT dsnLen, char *pwd, int pwdLen, int isu) |
Internal connect to SQLite database. | |
SQLRETURN SQL_API | SQLConnectW (SQLHDBC dbc, SQLWCHAR *dsn, SQLSMALLINT dsnLen, SQLWCHAR *uid, SQLSMALLINT uidLen, SQLWCHAR *pwd, SQLSMALLINT pwdLen) |
Connect to SQLite database. | |
static SQLRETURN | drvdisconnect (SQLHDBC dbc) |
Internal disconnect given HDBC. | |
SQLRETURN SQL_API | SQLDisconnect (SQLHDBC dbc) |
Disconnect given HDBC. | |
static SQLRETURN | drvdriverconnect (SQLHDBC dbc, SQLHWND hwnd, SQLCHAR *connIn, SQLSMALLINT connInLen, SQLCHAR *connOut, SQLSMALLINT connOutMax, SQLSMALLINT *connOutLen, SQLUSMALLINT drvcompl) |
Internal standalone (w/o driver manager) database connect. | |
static SQLRETURN | freestmt (SQLHSTMT stmt) |
Internal free function for HSTMT. | |
static SQLRETURN | drvallocstmt (SQLHDBC dbc, SQLHSTMT *stmt) |
Allocate HSTMT given HDBC (driver internal version). | |
SQLRETURN SQL_API | SQLAllocStmt (SQLHDBC dbc, SQLHSTMT *stmt) |
Allocate HSTMT given HDBC. | |
static SQLRETURN | drvfreestmt (SQLHSTMT stmt, SQLUSMALLINT opt) |
Internal function to perform certain kinds of free/close on STMT. | |
SQLRETURN SQL_API | SQLFreeStmt (SQLHSTMT stmt, SQLUSMALLINT opt) |
Free HSTMT. | |
SQLRETURN SQL_API | SQLCancel (SQLHSTMT stmt) |
Cancel HSTMT closing cursor. | |
static SQLRETURN | drvgetcursorname (SQLHSTMT stmt, SQLCHAR *cursor, SQLSMALLINT buflen, SQLSMALLINT *lenp) |
Internal function to get cursor name of STMT. | |
SQLRETURN SQL_API | SQLGetCursorNameW (SQLHSTMT stmt, SQLWCHAR *cursor, SQLSMALLINT buflen, SQLSMALLINT *lenp) |
Get cursor name of STMT (UNICODE version). | |
static SQLRETURN | drvsetcursorname (SQLHSTMT stmt, SQLCHAR *cursor, SQLSMALLINT len) |
Internal function to set cursor name on STMT. | |
SQLRETURN SQL_API | SQLSetCursorNameW (SQLHSTMT stmt, SQLWCHAR *cursor, SQLSMALLINT len) |
Set cursor name on STMT (UNICODE version). | |
SQLRETURN SQL_API | SQLCloseCursor (SQLHSTMT stmt) |
Close open cursor. | |
SQLRETURN SQL_API | SQLAllocHandle (SQLSMALLINT type, SQLHANDLE input, SQLHANDLE *output) |
Allocate a HENV, HDBC, or HSTMT handle. | |
SQLRETURN SQL_API | SQLFreeHandle (SQLSMALLINT type, SQLHANDLE h) |
Free a HENV, HDBC, or HSTMT handle. | |
static SQLRETURN | drvbindcol (SQLHSTMT stmt, SQLUSMALLINT col, SQLSMALLINT type, SQLPOINTER val, SQLLEN max, SQLLEN *lenp) |
Internal bind C variable to column of result set. | |
SQLRETURN SQL_API | SQLBindCol (SQLHSTMT stmt, SQLUSMALLINT col, SQLSMALLINT type, SQLPOINTER val, SQLLEN max, SQLLEN *lenp) |
Bind C variable to column of result set. | |
static SQLRETURN | drvtables (SQLHSTMT stmt, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen, SQLCHAR *type, SQLSMALLINT typeLen) |
Retrieve information on tables and/or views. | |
SQLRETURN SQL_API | SQLTablesW (SQLHSTMT stmt, SQLWCHAR *cat, SQLSMALLINT catLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen, SQLWCHAR *type, SQLSMALLINT typeLen) |
Retrieve information on tables and/or views. | |
static SQLRETURN | drvcolumns (SQLHSTMT stmt, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen, SQLCHAR *col, SQLSMALLINT colLen) |
Internal retrieve column information on table. | |
SQLRETURN SQL_API | SQLColumnsW (SQLHSTMT stmt, SQLWCHAR *cat, SQLSMALLINT catLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen, SQLWCHAR *col, SQLSMALLINT colLen) |
Retrieve column information on table (UNICODE version). | |
static void | mktypeinfo (STMT *s, int row, int asize, char *typename, int type, int tind) |
Internal function to build up data type information as row in result set. | |
static int | typeinfosort (const void *a, const void *b) |
Helper function to sort type information. | |
static SQLRETURN | drvgettypeinfo (SQLHSTMT stmt, SQLSMALLINT sqltype) |
Internal return data type information. | |
SQLRETURN SQL_API | SQLGetTypeInfoW (SQLHSTMT stmt, SQLSMALLINT sqltype) |
Return data type information (UNICODE version). | |
static SQLRETURN | drvstatistics (SQLHSTMT stmt, SQLCHAR *cat, SQLSMALLINT catLen, SQLCHAR *schema, SQLSMALLINT schemaLen, SQLCHAR *table, SQLSMALLINT tableLen, SQLUSMALLINT itype, SQLUSMALLINT resv) |
Internal return statistic information on table indices. | |
SQLRETURN SQL_API | SQLStatisticsW (SQLHSTMT stmt, SQLWCHAR *cat, SQLSMALLINT catLen, SQLWCHAR *schema, SQLSMALLINT schemaLen, SQLWCHAR *table, SQLSMALLINT tableLen, SQLUSMALLINT itype, SQLUSMALLINT resv) |
Return statistic information on table indices (UNICODE version). | |
SQLRETURN SQL_API | SQLGetData (SQLHSTMT stmt, SQLUSMALLINT col, SQLSMALLINT type, SQLPOINTER val, SQLLEN len, SQLLEN *lenp) |
Retrieve row data after fetch. | |
static SQLRETURN | dofetchbind (STMT *s, int rsi) |
Internal: fetch and bind from statement's current row. | |
static SQLRETURN | drvfetchscroll (SQLHSTMT stmt, SQLSMALLINT orient, SQLINTEGER offset) |
Internal fetch function for SQLFetchScroll() and SQLExtendedFetch(). | |
SQLRETURN SQL_API | SQLFetch (SQLHSTMT stmt) |
Fetch next result row. | |
SQLRETURN SQL_API | SQLFetchScroll (SQLHSTMT stmt, SQLSMALLINT orient, SQLLEN offset) |
Fetch result row with scrolling. | |
SQLRETURN SQL_API | SQLExtendedFetch (SQLHSTMT stmt, SQLUSMALLINT orient, SQLROWOFFSET offset, SQLROWSETSIZE *rowcount, SQLUSMALLINT *rowstatus) |
Fetch result row with scrolling and row status. | |
SQLRETURN SQL_API | SQLRowCount (SQLHSTMT stmt, SQLLEN *nrows) |
Return number of affected rows of HSTMT. | |
SQLRETURN SQL_API | SQLNumResultCols (SQLHSTMT stmt, SQLSMALLINT *ncols) |
Return number of columns of result set given HSTMT. | |
static SQLRETURN | drvdescribecol (SQLHSTMT stmt, SQLUSMALLINT col, SQLCHAR *name, SQLSMALLINT nameMax, SQLSMALLINT *nameLen, SQLSMALLINT *type, SQLULEN *size, SQLSMALLINT *digits, SQLSMALLINT *nullable) |
Internal describe column information. | |
SQLRETURN SQL_API | SQLDescribeColW (SQLHSTMT stmt, SQLUSMALLINT col, SQLWCHAR *name, SQLSMALLINT nameMax, SQLSMALLINT *nameLen, SQLSMALLINT *type, SQLULEN *size, SQLSMALLINT *digits, SQLSMALLINT *nullable) |
Describe column information (UNICODE version). | |
static SQLRETURN | drvcolattributes (SQLHSTMT stmt, SQLUSMALLINT col, SQLUSMALLINT id, SQLPOINTER val, SQLSMALLINT valMax, SQLSMALLINT *valLen, SQLLEN *val2) |
Internal retrieve column attributes. | |
Variables | |
static const char * | xdigits = "0123456789ABCDEFabcdef" |
static const char | upper_chars [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
static const char | lower_chars [] = "abcdefghijklmnopqrstuvwxyz" |
static const char | digit_chars [] = "0123456789" |
static const char | space_chars [] = " \f\n\r\t\v" |
static COL | tablePrivSpec2 [] |
Columns for result set of SQLTablePrivileges(). | |
static COL | tablePrivSpec3 [] |
static COL | colPrivSpec2 [] |
Columns for result set of SQLColumnPrivileges(). | |
static COL | colPrivSpec3 [] |
static COL | pkeySpec2 [] |
Columns for result set of SQLPrimaryKeys(). | |
static COL | pkeySpec3 [] |
static COL | scolSpec2 [] |
Columns for result set of SQLSpecialColumns(). | |
static COL | scolSpec3 [] |
static COL | fkeySpec2 [] |
Columns for result set of SQLForeignKeys(). | |
static COL | fkeySpec3 [] |
static COL | procSpec2 [] |
Columns for result set of SQLProcedures(). | |
static COL | procSpec3 [] |
static COL | procColSpec2 [] |
Columns for result set of SQLProcedureColumns(). | |
static COL | procColSpec3 [] |
static COL | tableSpec2 [] |
Columns for result set of SQLTables(). | |
static COL | tableSpec3 [] |
static COL | colSpec2 [] |
Columns for result set of SQLColumns(). | |
static COL | colSpec3 [] |
static COL | typeSpec2 [] |
Columns for result set of SQLGetTypeInfo(). | |
static COL | typeSpec3 [] |
static COL | statSpec2 [] |
Columns for result set of SQLStatistics(). | |
static COL | statSpec3 [] |
SQLite3 ODBC Driver main module.
Copyright (c) 2004-2023 Christian Werner chw@c.nosp@m.h-we.nosp@m.rner..nosp@m.de
See the file "license.terms" for information on usage and redistribution of this file and for a DISCLAIMER OF ALL WARRANTIES.
Definition in file sqlite3odbc.c.
#define array_size | ( | x | ) |
Definition at line 233 of file sqlite3odbc.c.
Referenced by checkddl(), drvcolumns(), drvforeignkeys(), drvgettypeinfo(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), drvtables(), fixupdyncols(), SQLColumnPrivilegesW(), SQLGetFunctions(), SQLProcedureColumnsW(), and SQLProceduresW().
#define CLR_EXISTS | ( | x | ) |
#define COLATTRIBUTE_LAST_ARG_TYPE SQLPOINTER |
Definition at line 216 of file sqlite3odbc.c.
#define DBC_MAGIC 0x53544144 |
Definition at line 263 of file sqlite3odbc.c.
Referenced by drvallocconnect(), drvallocstmt(), drvconnect(), drvdisconnect(), drvfreeconnect(), freestmt(), and SQLCancel().
#define DEAD_MAGIC 0xdeadbeef |
Definition at line 264 of file sqlite3odbc.c.
Referenced by drvfreeconnect(), drvfreeenv(), and drvgetstmtattr().
#define DRIVER_VER_INFO "0.0" |
Definition at line 209 of file sqlite3odbc.c.
Referenced by drvgetinfo().
#define drvgetgpps | ( | d | ) |
Definition at line 1291 of file sqlite3odbc.c.
Referenced by drvallocconnect().
#define drvrelgpps | ( | d | ) |
Definition at line 1292 of file sqlite3odbc.c.
Referenced by drvfreeconnect().
#define ENV_MAGIC 0x53544145 |
Definition at line 262 of file sqlite3odbc.c.
Referenced by drvallocconnect(), drvallocenv(), drvendtran(), drvfreeconnect(), drvfreeenv(), SQLAllocHandle(), SQLGetEnvAttr(), and SQLSetEnvAttr().
#define HDBC_LOCK | ( | hdbc | ) |
Definition at line 530 of file sqlite3odbc.c.
Referenced by drvendtran(), drvfreeconnect(), drvgetdiagfield(), drvgetdiagrec(), SQLAllocHandle(), SQLAllocStmt(), SQLBrowseConnectW(), SQLConnectW(), SQLDisconnect(), SQLGetConnectAttrW(), SQLGetConnectOptionW(), SQLGetInfoW(), SQLSetConnectAttrW(), and SQLSetConnectOptionW().
#define HDBC_UNLOCK | ( | hdbc | ) |
Definition at line 531 of file sqlite3odbc.c.
Referenced by drvendtran(), drvfreeconnect(), drvfreestmt(), drvgetdiagfield(), drvgetdiagrec(), SQLAllocHandle(), SQLAllocStmt(), SQLBrowseConnectW(), SQLConnectW(), SQLDisconnect(), SQLGetConnectAttrW(), SQLGetConnectOptionW(), SQLGetInfoW(), SQLSetConnectAttrW(), and SQLSetConnectOptionW().
#define HSTMT_LOCK | ( | hdbc | ) |
Definition at line 532 of file sqlite3odbc.c.
Referenced by drvfreestmt(), drvgetdiagfield(), drvgetdiagrec(), SQLBindCol(), SQLBindParam(), SQLBindParameter(), SQLBulkOperations(), SQLColumnPrivilegesW(), SQLColumnsW(), SQLDescribeColW(), SQLDescribeParam(), SQLExtendedFetch(), SQLFetch(), SQLFetchScroll(), SQLForeignKeysW(), SQLGetCursorNameW(), SQLGetData(), SQLGetStmtAttrW(), SQLGetStmtOption(), SQLGetStmtOptionW(), SQLGetTypeInfoW(), SQLNativeSqlW(), SQLNumParams(), SQLNumResultCols(), SQLParamData(), SQLParamOptions(), SQLPrimaryKeysW(), SQLProcedureColumnsW(), SQLProceduresW(), SQLPutData(), SQLRowCount(), SQLSetCursorNameW(), SQLSetParam(), SQLSetPos(), SQLSetScrollOptions(), SQLSetStmtAttrW(), SQLSetStmtOption(), SQLSetStmtOptionW(), SQLSpecialColumnsW(), SQLStatisticsW(), SQLTablePrivilegesW(), and SQLTablesW().
#define HSTMT_UNLOCK | ( | hdbc | ) |
Definition at line 533 of file sqlite3odbc.c.
Referenced by drvgetdiagfield(), drvgetdiagrec(), SQLBindCol(), SQLBindParam(), SQLBindParameter(), SQLBulkOperations(), SQLColumnPrivilegesW(), SQLColumnsW(), SQLDescribeColW(), SQLDescribeParam(), SQLExtendedFetch(), SQLFetch(), SQLFetchScroll(), SQLForeignKeysW(), SQLGetCursorNameW(), SQLGetData(), SQLGetStmtAttrW(), SQLGetStmtOption(), SQLGetStmtOptionW(), SQLGetTypeInfoW(), SQLNativeSqlW(), SQLNumParams(), SQLNumResultCols(), SQLParamData(), SQLParamOptions(), SQLPrimaryKeysW(), SQLProcedureColumnsW(), SQLProceduresW(), SQLPutData(), SQLRowCount(), SQLSetCursorNameW(), SQLSetParam(), SQLSetPos(), SQLSetScrollOptions(), SQLSetStmtAttrW(), SQLSetStmtOption(), SQLSetStmtOptionW(), SQLSpecialColumnsW(), SQLStatisticsW(), SQLTablePrivilegesW(), and SQLTablesW().
#define ISDIGIT | ( | c | ) |
Definition at line 568 of file sqlite3odbc.c.
Referenced by str2date(), str2time(), and str2timestamp().
#define ISSPACE | ( | c | ) |
Definition at line 577 of file sqlite3odbc.c.
Referenced by checkddl(), drvcolattributes(), drvgettable(), fixupsql(), and replilike().
#define max | ( | a, | |
b ) |
Definition at line 227 of file sqlite3odbc.c.
Referenced by drvbindcol(), drvbindparam(), dsappend(), dsappendq(), setsqliteopts(), and SQLBindCol().
#define min | ( | a, | |
b ) |
Definition at line 225 of file sqlite3odbc.c.
Referenced by csv_guess(), drvallocconnect(), drvcolumns(), drvconnect(), drvdriverconnect(), drvforeignkeys(), drvgetcursorname(), drvprimarykeys(), drvputdata(), drvsetcursorname(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), drvtables(), getdsnattr(), getrowdata(), SQLDescribeColW(), SQLGetConnectAttrW(), SQLGetCursorNameW(), SQLGetDiagFieldW(), SQLGetDiagRecW(), SQLGetInfoW(), and SQLNativeSqlW().
#define ODBC_INI ".odbc.ini" |
Definition at line 205 of file sqlite3odbc.c.
Referenced by drvconnect(), and drvdriverconnect().
#define PTRDIFF_T int |
Definition at line 230 of file sqlite3odbc.c.
Referenced by drvcolumns(), drvforeignkeys(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), freerows(), and s3stmt_step().
#define SCOL_CHAR SQL_WCHAR |
Definition at line 256 of file sqlite3odbc.c.
#define SCOL_VARCHAR SQL_WVARCHAR |
Definition at line 255 of file sqlite3odbc.c.
#define SET_EXISTS | ( | x | ) |
Referenced by SQLGetFunctions().
#define SETSTMTOPTION_LAST_ARG_TYPE SQLROWCOUNT |
Definition at line 221 of file sqlite3odbc.c.
#define stringify | ( | s | ) |
Definition at line 236 of file sqlite3odbc.c.
Referenced by drvcolumns(), drvforeignkeys(), drvspecialcolumns(), drvstatistics(), and mktypeinfo().
#define stringify1 | ( | s | ) |
Definition at line 235 of file sqlite3odbc.c.
#define strmak | ( | dst, | |
src, | |||
max, | |||
lenp ) |
Definition at line 11144 of file sqlite3odbc.c.
Referenced by drvgetinfo().
#define verinfo | ( | maj, | |
min, | |||
lev ) |
Definition at line 238 of file sqlite3odbc.c.
Referenced by drvallocconnect().
#define WCHARSUPPORT |
Definition at line 185 of file sqlite3odbc.c.
Referenced by drvputdata().
#define WINTERFACE |
Definition at line 184 of file sqlite3odbc.c.
#define xfree | ( | x | ) |
Definition at line 405 of file sqlite3odbc.c.
Referenced by drvfreeconnect(), drvfreeenv(), dsfree(), freep(), freestmt(), mapsqltype(), and uc_free().
#define xmalloc | ( | x | ) |
Definition at line 403 of file sqlite3odbc.c.
Referenced by drvallocconnect(), drvallocenv(), drvallocstmt(), drvbindparam(), drvcolumns(), drvforeignkeys(), drvgettable(), drvgettable_row(), drvgettypeinfo(), drvprimarykeys(), drvputdata(), drvsetstmtattr(), drvsetstmtoption(), drvspecialcolumns(), drvstatistics(), drvtables(), dsappend(), dsappendq(), fixupdyncols(), fixupsql(), getrowdata(), mapsqltype(), mkbindcols(), s3stmt_step(), setupparam(), setupparbuf(), strdup_(), uc_from_utf(), and uc_to_utf().
#define xrealloc | ( | x, | |
y ) |
Definition at line 404 of file sqlite3odbc.c.
Referenced by drvbindparam(), drvgettable_row(), dsappend(), dsappendq(), and mkbindcols().
#define xstrdup | ( | x | ) |
Definition at line 406 of file sqlite3odbc.c.
Referenced by dbopen(), drvcolumns(), drvforeignkeys(), drvgettable_row(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), fixupdyncols(), and s3stmt_step().
typedef struct dstr dstr |
|
static |
SQLite function to export a BLOB to a file.
ctx | function context |
nargs | number arguments |
args | arguments |
Definition at line 3824 of file sqlite3odbc.c.
References uc_free().
Referenced by dbopen().
|
static |
SQLite function to import a BLOB from a file.
ctx | function context |
nargs | number arguments |
args | arguments |
Definition at line 3754 of file sqlite3odbc.c.
References uc_free().
Referenced by dbopen().
|
static |
Busy callback for SQLite.
udata | user data, pointer to DBC |
count | count of subsequenct calls |
Definition at line 2021 of file sqlite3odbc.c.
References dbc::busyint, dbc::t0, and dbc::timeout.
Referenced by endtran(), setsqliteopts(), and starttran().
|
static |
Check if query is a DDL statement.
sql | query string |
Definition at line 2474 of file sqlite3odbc.c.
References array_size, and ISSPACE.
Referenced by fixupsql().
|
static |
Check for unbound result columns.
s | statement handle |
Definition at line 9855 of file sqlite3odbc.c.
References stmt::bindcols, stmt::nbindcols, stmt::ncols, stmt::ov3, setstat(), BINDCOL::type, and BINDCOL::valp.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Convert julian day to hour/minute/second.
jd | julian day as stored in database |
ts | output TIME_STRUCT |
fp | optional fractional part output |
Definition at line 3107 of file sqlite3odbc.c.
Referenced by str2time(), and str2timestamp().
|
static |
Convert julian day to year/month/day.
jd | julian day as stored in database |
ds | output DATE_STRUCT |
Definition at line 3079 of file sqlite3odbc.c.
Referenced by str2date(), and str2timestamp().
|
static |
Perform ATTACH commands to same database file.
d | DBC pointer |
attas | string, comma separated names |
Definition at line 4263 of file sqlite3odbc.c.
References dbc::dbname, and dbc::sqlite.
Referenced by drvconnect(), and drvdriverconnect().
|
static |
Load SQLite extension modules, if any.
d | DBC pointer |
exts | string, comma separated extension names |
Definition at line 4185 of file sqlite3odbc.c.
References dbc::sqlite.
Referenced by drvconnect(), and drvdriverconnect().
|
static |
Open SQLite database file given file name and flags.
d | DBC pointer |
name | file name |
isu | true/false: file name is UTF8 encoded |
dsn | data source name |
sflag | STEPAPI flag |
spflag | SyncPragma string |
ntflag | NoTransaction string |
jmode | JournalMode string |
busy | busy/lock timeout |
Definition at line 3971 of file sqlite3odbc.c.
References blob_export(), blob_import(), dbc::curtype, dbc::dbname, dbtrace(), dbc::dsn, freep(), getbool(), dbc::nocreat, dbc::ov3, dbc::pwd, dbc::pwdLen, setsqliteopts(), setstatd(), dbc::sqlite, dbc::step_enable, dbc::timeout, dbc::trace, dbc::trans_disable, uc_free(), and xstrdup.
Referenced by drvconnect(), and drvdriverconnect().
|
static |
SQLite trace or profile callback.
arg | DBC pointer |
msg | log message, SQL text |
et | elapsed time |
Definition at line 3889 of file sqlite3odbc.c.
References dbc::trace.
Referenced by dbopen().
|
static |
Trace function for SQLite API calls.
d | pointer to database connection handle |
fn | SQLite function name |
sql | SQL string |
Definition at line 3927 of file sqlite3odbc.c.
References dbc::trace.
Referenced by drvbulkoperations(), drvcolumns(), drvforeignkeys(), drvgettable(), drvprimarykeys(), drvsetpos(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), drvtables(), fixupdyncols(), s3stmt_drop(), s3stmt_end(), s3stmt_start(), and s3stmt_step().
|
static |
Trace function for SQLite return codes.
d | pointer to database connection handle |
rc | SQLite return code |
err | error string or NULL |
Definition at line 3947 of file sqlite3odbc.c.
References dbc::trace.
Referenced by drvbulkoperations(), drvsetpos(), endtran(), s3stmt_start(), and starttran().
|
static |
Internal: fetch and bind from statement's current row.
s | statement pointer |
rsi | rowset index |
Definition at line 16623 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bindcols, stmt::bkmrk, stmt::bkmrkcol, getrowdata(), stmt::has_rowid, BINDCOL::lenp, BINDCOL::max, stmt::ncols, BINDCOL::offs, stmt::row_status0, stmt::rowp, stmt::rows, SQLLEN, BINDCOL::type, and BINDCOL::valp.
Referenced by drvfetchscroll().
|
static |
Internal allocate HDBC.
env | environment handle |
dbc | pointer to database connection handle |
Definition at line 12033 of file sqlite3odbc.c.
References dbc::autocommit, dbc::curtype, DBC_MAGIC, ENV::dbcs, drvgetgpps, dbc::env, ENV_MAGIC, dbc::magic, ENV::magic, min, dbc::next, dbc::oemcp, dbc::ov3, ENV::ov3, dbc::ov3val, verinfo, dbc::version, and xmalloc.
Referenced by SQLAllocConnect(), and SQLAllocHandle().
|
static |
Internal allocate HENV.
env | pointer to environment handle |
Definition at line 11938 of file sqlite3odbc.c.
References ENV::dbcs, ENV_MAGIC, ENV::magic, ENV::ov3, ENV::pool, and xmalloc.
Referenced by SQLAllocEnv(), and SQLAllocHandle().
|
static |
Allocate HSTMT given HDBC (driver internal version).
dbc | database connection handle |
stmt | pointer to statement handle |
Definition at line 13438 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bkmrk, stmt::bkmrkptr, stmt::cursorname, dbc::curtype, stmt::curtype, stmt::dbc, DBC_MAGIC, dbc::dobigint, stmt::dobigint, stmt::has_pk, stmt::has_rowid, dbc::ilike, stmt::ilike, dbc::jdconv, stmt::jdconv, dbc::longnames, stmt::longnames, dbc::magic, stmt::max_rows, stmt::next, dbc::nowchar, stmt::nowchar, dbc::oemcp, stmt::oemcp, stmt::one_tbl, dbc::ov3, stmt::ov3, stmt::paramset_size, stmt::parm_bind_type, stmt::retr_data, stmt::row_status0, stmt::row_status1, stmt::rowset_size, dbc::stmt, and xmalloc.
Referenced by SQLAllocHandle(), and SQLAllocStmt().
|
static |
Internal bind C variable to column of result set.
stmt | statement handle |
col | column number, starting at 1 |
type | output type |
val | output buffer |
max | length of output buffer |
lenp | output length pointer |
Definition at line 14596 of file sqlite3odbc.c.
References stmt::bindcols, stmt::bkmrk, stmt::bkmrkcol, stmt::cols, BINDCOL::lenp, mapdeftype(), BINDCOL::max, max, mkbindcols(), stmt::nowchar, BINDCOL::offs, stmt::ov3, setstat(), BINDCOL::type, COL::type, and BINDCOL::valp.
Referenced by SQLBindCol().
|
static |
Internal bind parameter on HSTMT.
stmt | statement handle |
pnum | parameter number, starting at 1 |
iotype | input/output type of parameter |
buftype | type of host variable |
ptype | |
coldef | |
scale | |
data | pointer to host variable |
buflen | length of host variable |
len | output length pointer |
Definition at line 5506 of file sqlite3odbc.c.
References stmt::bindparms, BINDPARM::bound, BINDPARM::coldef, freep(), BINDPARM::inc, BINDPARM::len, BINDPARM::lenp, BINDPARM::lenp0, BINDPARM::max, max, stmt::nbindparms, BINDPARM::need, nomem(), BINDPARM::offs, stmt::ov3, BINDPARM::param, BINDPARM::param0, BINDPARM::parbuf, BINDPARM::scale, setstat(), BINDPARM::stype, BINDPARM::type, xmalloc, and xrealloc.
Referenced by SQLBindParam(), SQLBindParameter(), and SQLSetParam().
|
static |
Internal perform bulk operation on HSTMT.
stmt | statement handle |
op | operation to be performed |
Definition at line 10692 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bindcols, stmt::bkmrk, stmt::bkmrkcol, chkunbound(), COL::column, stmt::curtype, COL::db, stmt::dbc, dbtraceapi(), dbtracerc(), dsappend(), dsappendq(), dserr(), dsfree(), dsval(), stmt::dyncols, stmt::has_rowid, stmt::isselect, BINDCOL::lenp, BINDCOL::max, stmt::ncols, nomem(), stmt::one_tbl, stmt::ov3, stmt::row_status, stmt::row_status0, stmt::rowset_size, setposbind(), setstat(), dbc::sqlite, SQLLEN, COL::table, dbc::trace, BINDCOL::type, and BINDCOL::valp.
Referenced by SQLBulkOperations().
|
static |
Internal retrieve column attributes.
stmt | statement handle |
col | column number, starting at 1 |
id | attribute id |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
val2 | integer output buffer |
Retrieve column attributes (UNICODE version).
stmt | statement handle |
col | column number, starting at 1 |
id | attribute id |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
val2 | integer output buffer |
Internal retrieve column attributes.
stmt | statement handle |
col | column number, starting at 1 |
id | attribute id |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
val2 | integer output buffer |
Retrieve column attributes (UNICODE version).
stmt | statement handle |
col | column number, starting at 1 |
id | attribute id |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
val2 | integer output buffer |
Internal return last HDBC or HSTMT error message.
env | environment handle or NULL |
dbc | database connection handle or NULL |
stmt | statement handle or NULL |
sqlState | output buffer for SQL state |
nativeErr | output buffer for native error code |
errmsg | output buffer for error message |
errmax | length of output buffer for error message |
errlen | output length of error message |
Return last HDBC or HSTMT error message (UNICODE version).
env | environment handle or NULL |
dbc | database connection handle or NULL |
stmt | statement handle or NULL |
sqlState | output buffer for SQL state |
nativeErr | output buffer for native error code |
errmsg | output buffer for error message |
errmax | length of output buffer for error message |
errlen | output length of error message |
Return information for more result sets.
stmt | statement handle |
Internal function to setup column name/type information
s | statement poiner |
s3stmt | SQLite3 statement pointer |
ncolsp | pointer to preinitialized number of columns |
Internal query preparation used by SQLPrepare() and SQLExecDirect().
stmt | statement handle |
query | query string |
queryLen | length of query string or SQL_NTS |
Internal query execution used by SQLExecute() and SQLExecDirect().
stmt | statement handle |
initial | false when called from SQLPutData() |
Prepare HSTMT (UNICODE version).
stmt | statement handle |
query | query string |
queryLen | length of query string or SQL_NTS |
Execute query.
stmt | statement handle |
Execute query directly (UNICODE version).
stmt | statement handle |
query | query string |
queryLen | length of query string or SQL_NTS |
Connect using a driver connection string (UNICODE version).
dbc | database connection handle |
hwnd | parent window handle |
connIn | driver connect input string |
connInLen | length of driver connect input string or SQL_NTS |
connOut | driver connect output string |
connOutMax | length of driver connect output string |
connOutLen | output length of driver connect output string |
drvcompl | completion type |
Definition at line 17336 of file sqlite3odbc.c.
References COL::autoinc, stmt::cols, COL::column, ISSPACE, COL::label, stmt::ncols, COL::nosign, COL::notnull, stmt::nowchar, stmt::ov3, COL::prec, COL::scale, setstat(), COL::size, COL::table, COL::type, and COL::typename.
|
static |
Internal retrieve column information on table.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
col | column name/pattern or NULL |
colLen | length of column name/pattern or SQL_NTS |
Definition at line 15199 of file sqlite3odbc.c.
References array_size, colSpec2, colSpec3, stmt::dbc, dbtraceapi(), stmt::dobigint, freerows(), getmd(), mapsqltype(), min, mkresultset(), namematch(), nomem(), stmt::nowchar, stmt::nrows, stmt::ov3, PTRDIFF_T, stmt::rowfree, stmt::rows, setstat(), dbc::sqlite, starttran(), stringify, unescpat(), unquote(), xmalloc, and xstrdup.
Referenced by SQLColumnsW().
|
static |
Internal connect to SQLite database.
dbc | database connection handle |
dsn | DSN string |
dsnLen | length of DSN string or SQL_NTS |
pwd | password or NULL |
pwdLen | length of password or SQL_NTS |
isu | true/false: file name is UTF8 encoded |
Definition at line 12793 of file sqlite3odbc.c.
References dbattas(), DBC_MAGIC, dbloadext(), dbopen(), dbc::dobigint, dbc::fksupport, getbool(), getdsnattr(), dbc::ilike, dbc::jdconv, dbc::longnames, dbc::magic, min, dbc::nocreat, dbc::nowchar, ODBC_INI, dbc::oemcp, dbc::ov3, dbc::pwd, dbc::pwdLen, setstatd(), dbc::shortnames, dbc::sqlite, dbc::trace, and uc_free().
Referenced by SQLConnectW().
|
static |
Internal describe column information.
stmt | statement handle |
col | column number, starting at 1 |
name | buffer for column name |
nameMax | length of name buffer |
nameLen | output length of column name |
type | output SQL type |
size | output column size |
digits | output number of digits |
nullable | output NULL allowed indicator |
Definition at line 17110 of file sqlite3odbc.c.
References stmt::cols, COL::column, stmt::ncols, stmt::nowchar, stmt::ov3, setstat(), COL::size, and COL::type.
Referenced by SQLDescribeColW().
|
static |
Internal disconnect given HDBC.
dbc | database connection handle |
Definition at line 13056 of file sqlite3odbc.c.
References dbc::cur_s3stmt, DBC_MAGIC, dbc::dbname, dbc::dsn, freep(), dbc::intrans, dbc::magic, s3stmt_end(), setstatd(), dbc::sqlite, and dbc::trace.
Referenced by SQLDisconnect().
|
static |
Internal standalone (w/o driver manager) database connect.
dbc | database connection handle |
hwnd | dummy window handle or NULL |
connIn | driver connect input string |
connInLen | length of driver connect input string or SQL_NTS |
connOut | driver connect output string |
connOutMax | length of driver connect output string |
connOutLen | output length of driver connect output string |
drvcompl | completion type |
Definition at line 13126 of file sqlite3odbc.c.
References dbattas(), dbloadext(), dbopen(), dbc::dobigint, dbc::fksupport, getbool(), getdsnattr(), dbc::ilike, dbc::jdconv, dbc::longnames, min, dbc::nocreat, dbc::nowchar, ODBC_INI, dbc::oemcp, dbc::ov3, dbc::pwd, dbc::pwdLen, setstatd(), dbc::shortnames, dbc::sqlite, and dbc::trace.
|
static |
Internal commit or rollback transaction.
type | type of handle |
handle | HDBC, HENV, or HSTMT handle |
comptype | SQL_COMMIT or SQL_ROLLBACK |
Definition at line 8238 of file sqlite3odbc.c.
References endtran(), ENV_MAGIC, HDBC_LOCK, HDBC_UNLOCK, ENV::magic, and dbc::next.
Referenced by SQLEndTran(), and SQLTransact().
|
static |
Referenced by SQLParamData().
|
static |
Internal fetch function for SQLFetchScroll() and SQLExtendedFetch().
stmt | statement handle |
orient | fetch direction |
offset | offset for fetch direction |
Definition at line 16743 of file sqlite3odbc.c.
References stmt::bindcols, stmt::bkmrk, stmt::bkmrkptr, stmt::curtype, stmt::dbc, dofetchbind(), stmt::has_rowid, stmt::isselect, stmt::max_rows, stmt::ncols, stmt::nrows, stmt::row_count, stmt::row_count0, stmt::row_status, stmt::row_status0, stmt::rowp, stmt::rowprs, stmt::rows, stmt::rowset_size, stmt::s3stmt, stmt::s3stmt_rownum, s3stmt_step(), and setstat().
Referenced by SQLExtendedFetch(), SQLFetch(), and SQLFetchScroll().
|
static |
Internal retrieve information about primary/foreign keys.
stmt | statement handle |
PKcatalog | primary key catalog name/pattern or NULL |
PKcatalogLen | length of PKcatalog or SQL_NTS |
PKschema | primary key schema name/pattern or NULL |
PKschemaLen | length of PKschema or SQL_NTS |
PKtable | primary key table name/pattern or NULL |
PKtableLen | length of PKtable or SQL_NTS |
FKcatalog | foreign key catalog name/pattern or NULL |
FKcatalogLen | length of FKcatalog or SQL_NTS |
FKschema | foreign key schema name/pattern or NULL |
FKschemaLen | length of FKschema or SQL_NTS |
FKtable | foreign key table name/pattern or NULL |
FKtableLen | length of FKtable or SQL_NTS |
Definition at line 7550 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), findcol(), fkeySpec2, fkeySpec3, freerows(), min, mkresultset(), stmt::ncols, nomem(), stmt::nrows, stmt::ov3, PTRDIFF_T, stmt::rowfree, stmt::rows, setstat(), dbc::sqlite, starttran(), stringify, unquote(), xmalloc, and xstrdup.
Referenced by SQLForeignKeysW().
|
static |
Internal free connection (HDBC).
dbc | database connection handle |
Definition at line 12112 of file sqlite3odbc.c.
References DBC_MAGIC, ENV::dbcs, DEAD_MAGIC, drvrelgpps, dbc::env, ENV_MAGIC, freestmt(), HDBC_LOCK, HDBC_UNLOCK, dbc::magic, ENV::magic, dbc::next, dbc::ov3, setstatd(), dbc::sqlite, dbc::stmt, dbc::trace, and xfree.
Referenced by SQLFreeConnect(), and SQLFreeHandle().
|
static |
Internal free HENV.
env | environment handle |
Definition at line 11984 of file sqlite3odbc.c.
References ENV::dbcs, DEAD_MAGIC, ENV_MAGIC, ENV::magic, and xfree.
Referenced by SQLFreeEnv(), and SQLFreeHandle().
|
static |
Internal function to perform certain kinds of free/close on STMT.
stmt | statement handle |
opt | SQL_RESET_PARAMS, SQL_UNBIND, SQL_CLOSE, or SQL_DROP |
Definition at line 13525 of file sqlite3odbc.c.
References stmt::dbc, freeparams(), freeresult(), freestmt(), HDBC_UNLOCK, HSTMT_LOCK, stmt::ov3, s3stmt_end_if(), setstat(), and unbindcols().
Referenced by SQLCancel(), SQLCloseCursor(), SQLFreeHandle(), and SQLFreeStmt().
|
static |
Internal get connect attribute of HDBC.
dbc | database connection handle |
attr | option to be retrieved |
val | output buffer |
bufmax | size of output buffer |
buflen | output length |
Definition at line 12206 of file sqlite3odbc.c.
References dbc::autocommit, dbc::curtype, dbc::ov3, setstatd(), dbc::sqlite, and SQLULEN.
Referenced by SQLGetConnectAttrW().
|
static |
Internal get connect option of HDBC.
dbc | database connection handle |
opt | option to be retrieved |
param | output buffer |
Definition at line 12529 of file sqlite3odbc.c.
References dbc::autocommit, dbc::curtype, dbc::ov3, and setstatd().
Referenced by SQLGetConnectOptionW().
|
static |
Internal function to get cursor name of STMT.
stmt | statement handle |
cursor | output buffer |
buflen | length of output buffer |
lenp | output length |
Definition at line 13613 of file sqlite3odbc.c.
References stmt::cursorname, and min.
Referenced by SQLGetCursorNameW().
|
static |
Get error record given handle (HDBC or HSTMT).
htype | handle type |
handle | HDBC or HSTMT |
recno | diag record number for which info to be retrieved |
id | diag id for which info to be retrieved |
info | output buffer for error message |
buflen | length of output buffer |
stringlen | output length |
Definition at line 8967 of file sqlite3odbc.c.
References stmt::dbc, dbc::dsn, HDBC_LOCK, HDBC_UNLOCK, HSTMT_LOCK, HSTMT_UNLOCK, stmt::isselect, dbc::logmsg, stmt::logmsg, dbc::naterr, stmt::naterr, stmt::nrows, dbc::sqlstate, stmt::sqlstate, and SQLULEN.
Referenced by SQLGetDiagFieldW().
|
static |
Internal get error message given handle (HENV, HDBC, or HSTMT).
htype | handle type |
handle | HENV, HDBC, or HSTMT |
recno | |
sqlstate | output buffer for SQL state |
nativeerr | output buffer of native error code |
msg | output buffer for error message |
buflen | length of output buffer |
msglen | output length |
Definition at line 8758 of file sqlite3odbc.c.
References HDBC_LOCK, HDBC_UNLOCK, HSTMT_LOCK, HSTMT_UNLOCK, dbc::logmsg, stmt::logmsg, dbc::naterr, stmt::naterr, dbc::sqlstate, and stmt::sqlstate.
Referenced by SQLGetDiagRecW().
|
static |
Internal return information about what this ODBC driver supports.
dbc | database connection handle |
type | type of information to be retrieved |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
Definition at line 11162 of file sqlite3odbc.c.
References dbc::dbname, DRIVER_VER_INFO, dbc::dsn, dbc::ov3, setstatd(), and strmak.
Referenced by SQLGetInfoW().
|
static |
Internal get option of HSTMT.
stmt | statement handle |
attr | attribute to be retrieved |
val | output buffer |
bufmax | length of output buffer |
buflen | output length |
Definition at line 9242 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bkmrk, stmt::bkmrkptr, stmt::curtype, DEAD_MAGIC, drvunimplstmt(), stmt::max_rows, stmt::paramset_size, stmt::parm_bind_offs, stmt::parm_bind_type, stmt::parm_oper, stmt::parm_proc, stmt::parm_status, stmt::retr_data, stmt::row_count, stmt::row_status, stmt::rowp, stmt::rowset_size, stmt::s3stmt, stmt::s3stmt_rownum, and SQLULEN.
Referenced by SQLGetStmtAttrW().
|
static |
Internal get option of HSTMT.
stmt | statement handle |
opt | option to be retrieved |
param | output buffer |
Definition at line 9645 of file sqlite3odbc.c.
References stmt::curtype, drvunimplstmt(), stmt::max_rows, stmt::retr_data, stmt::rowp, stmt::rowset_size, stmt::s3stmt, and stmt::s3stmt_rownum.
Referenced by SQLGetStmtOption(), and SQLGetStmtOptionW().
|
static |
Definition at line 1512 of file sqlite3odbc.c.
References stmt::dbc, dbtraceapi(), drvgettable_row(), tblres::errmsg, freerows(), ISSPACE, stmt::max_rows, tblres::nalloc, tblres::ncol, tblres::ndata, tblres::nrow, tblres::rc, tblres::resarr, tblres::s, s3bind(), stmt::s3stmt, stmt::s3stmt_noreset, dbc::sqlite, tblres::stmt, and xmalloc.
|
static |
Definition at line 1392 of file sqlite3odbc.c.
References tblres::errmsg, stmt::guessed_types, tblres::nalloc, tblres::ncol, stmt::ncols, tblres::ndata, nomem(), tblres::nrow, tblres::rc, tblres::resarr, tblres::s, setupdyncols(), tblres::stmt, xdigits, xmalloc, xrealloc, and xstrdup.
Referenced by drvgettable().
|
static |
Internal return data type information.
stmt | statement handle |
sqltype | which type to retrieve |
Definition at line 15879 of file sqlite3odbc.c.
References array_size, mkresultset(), mktypeinfo(), nomem(), stmt::nrows, stmt::ov3, stmt::rowfree, stmt::rows, typeinfosort(), typeSpec2, typeSpec3, and xmalloc.
Referenced by SQLGetTypeInfoW().
|
static |
Internal retrieve information about indexed columns.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
Definition at line 6684 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), findcol(), freerows(), min, mkresultset(), stmt::ncols, nomem(), stmt::nrows, stmt::ov3, pkeySpec2, pkeySpec3, PTRDIFF_T, stmt::rowfree, stmt::rows, setstat(), dbc::sqlite, starttran(), unescpat(), xmalloc, and xstrdup.
Referenced by SQLPrimaryKeysW().
|
static |
Internal put (partial) parameter data into executing statement.
stmt | statement handle |
data | pointer to data |
len | length of data |
Definition at line 4908 of file sqlite3odbc.c.
References stmt::bindparms, BINDPARM::coldef, freep(), BINDPARM::len, mapdeftype(), min, BINDPARM::need, nomem(), stmt::nowchar, stmt::nparams, stmt::oemcp, BINDPARM::offs, BINDPARM::param, BINDPARM::parbuf, stmt::pdcount, stmt::query, setstat(), BINDPARM::stype, BINDPARM::type, uc_free(), uc_to_utf(), WCHARSUPPORT, and xmalloc.
Referenced by SQLPutData().
|
static |
Internal set connect attribute of HDBC.
dbc | database connection handle |
attr | option to be set |
val | option value |
len | size of option |
Definition at line 12442 of file sqlite3odbc.c.
References dbc::autocommit, dbc::cur_s3stmt, endtran(), dbc::intrans, s3stmt_end(), and setstatd().
Referenced by SQLSetConnectAttrW().
|
static |
Internal set option on HDBC.
dbc | database connection handle |
opt | option to be set |
param | option value |
Definition at line 12671 of file sqlite3odbc.c.
References dbc::autocommit, dbc::cur_s3stmt, endtran(), dbc::intrans, s3stmt_end(), and setstatd().
Referenced by SQLSetConnectOptionW().
|
static |
Internal function to set cursor name on STMT.
stmt | statement handle |
cursor | new cursor name |
len | length of cursor name or SQL_NTS |
Definition at line 13750 of file sqlite3odbc.c.
References stmt::cursorname, min, stmt::ov3, and setstat().
Referenced by SQLSetCursorNameW().
|
static |
Internal set position on result in HSTMT.
stmt | statement handle |
row | row to be positioned |
op | operation code |
lock | locking type |
Definition at line 10329 of file sqlite3odbc.c.
References stmt::bindcols, chkunbound(), COL::column, stmt::curtype, COL::db, stmt::dbc, dbtraceapi(), dbtracerc(), drvsetpos(), drvunimplstmt(), dsappend(), dsappendq(), dserr(), dsfree(), dsval(), stmt::dyncols, stmt::has_pk, COL::ispk, stmt::isselect, stmt::ncols, nomem(), stmt::nrows, stmt::one_tbl, stmt::ov3, stmt::row_status, stmt::row_status0, stmt::rowp, stmt::rows, stmt::rowset_size, setposbind(), setposibind(), setposrefr(), setstat(), dbc::sqlite, and COL::table.
Referenced by drvsetpos(), and SQLSetPos().
|
static |
Internal set option on HSTMT.
stmt | statement handle |
attr | attribute to be set |
val | input buffer (attribute value) |
buflen | length of input buffer |
Definition at line 9437 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bkmrk, stmt::bkmrkptr, stmt::curtype, drvunimplstmt(), freep(), stmt::max_rows, nomem(), stmt::ov3, stmt::paramset_count, stmt::paramset_size, stmt::parm_bind_offs, stmt::parm_bind_type, stmt::parm_oper, stmt::parm_proc, stmt::parm_status, stmt::retr_data, stmt::row_count, stmt::row_status, stmt::row_status0, stmt::row_status1, stmt::rowset_size, setstat(), SQLULEN, and xmalloc.
Referenced by SQLSetStmtAttrW().
|
static |
Internal set option on HSTMT.
stmt | statement handle |
opt | option to be set |
param | input buffer (option value) |
Definition at line 9737 of file sqlite3odbc.c.
References stmt::curtype, drvunimplstmt(), freep(), stmt::max_rows, nomem(), stmt::retr_data, stmt::row_status0, stmt::row_status1, stmt::rowset_size, setstat(), and xmalloc.
Referenced by SQLSetStmtOption(), and SQLSetStmtOptionW().
|
static |
Internal retrieve information about indexed columns.
stmt | statement handle |
id | type of information, e.g. best row id |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
scope | |
nullable |
Definition at line 7097 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), stmt::dobigint, findcol(), freep(), freerows(), getmd(), mapsqltype(), min, mkresultset(), stmt::ncols, nomem(), stmt::nowchar, stmt::nrows, stmt::ov3, PTRDIFF_T, stmt::rowfree, stmt::rows, scolSpec2, scolSpec3, setstat(), dbc::sqlite, starttran(), stringify, unescpat(), xmalloc, and xstrdup.
Referenced by SQLSpecialColumnsW().
|
static |
Internal return statistic information on table indices.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
itype | type of index information |
resv | reserved |
Definition at line 16160 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), findcol(), freerows(), min, mkresultset(), stmt::ncols, nomem(), stmt::nrows, stmt::ov3, PTRDIFF_T, stmt::rowfree, stmt::rows, setstat(), dbc::sqlite, starttran(), statSpec2, statSpec3, stringify, unescpat(), xmalloc, and xstrdup.
Referenced by SQLStatisticsW().
|
static |
Retrieve privileges on tables and/or views.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
Definition at line 6096 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), freeresult(), min, mkresultset(), stmt::ncols, nomem(), stmt::nrows, stmt::rowfree, stmt::rowp, stmt::rowprs, stmt::rows, dbc::sqlite, starttran(), tablePrivSpec2, tablePrivSpec3, and unescpat().
Referenced by SQLTablePrivilegesW().
|
static |
Retrieve information on tables and/or views.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
type | types of tables string or NULL |
typeLen | length of types of tables string or SQL_NTS |
Definition at line 14797 of file sqlite3odbc.c.
References array_size, stmt::dbc, dbtraceapi(), freeresult(), min, mkresultset(), stmt::ncols, nomem(), stmt::nrows, stmt::rowfree, stmt::rowp, stmt::rowprs, stmt::rows, dbc::sqlite, starttran(), tableSpec2, tableSpec3, TOLOWER(), unescpat(), and xmalloc.
Referenced by SQLTablesW().
|
static |
Report IM001 (not implemented) SQL error code for HDBC.
dbc | database connection handle |
Definition at line 1763 of file sqlite3odbc.c.
References setstatd().
Referenced by SQLBrowseConnectW().
|
static |
Report IM001 (not implemented) SQL error code for HSTMT.
stmt | statement handle |
Definition at line 1782 of file sqlite3odbc.c.
References setstat().
Referenced by drvgetstmtattr(), drvgetstmtoption(), drvsetpos(), drvsetstmtattr(), drvsetstmtoption(), SQLParamOptions(), and SQLSetScrollOptions().
Append string to dynamic string.
dsp | dstr pointer |
str | string to append |
Definition at line 638 of file sqlite3odbc.c.
References dstr::buffer, dstr::len, dstr::max, max, dstr::oom, xmalloc, and xrealloc.
Referenced by drvbulkoperations(), and drvsetpos().
Append a string double quoted to dynamic string.
dsp | dstr pointer |
str | string to append |
Definition at line 690 of file sqlite3odbc.c.
References dstr::buffer, dstr::len, dstr::max, max, dstr::oom, xmalloc, and xrealloc.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Check error on dynamic string.
dsp | dstr pointer |
Definition at line 773 of file sqlite3odbc.c.
References dstr::oom.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Free dynamic string.
dsp | dstr pointer |
Definition at line 784 of file sqlite3odbc.c.
References xfree.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Return dynamic string's value.
dsp | dstr pointer |
Definition at line 758 of file sqlite3odbc.c.
References dstr::buffer.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Internal commit or rollback transaction.
d | database connection pointer |
comptype | type of transaction's end, SQL_COMMIT or SQL_ROLLBACK |
force | force action regardless of DBC's autocommit state |
Definition at line 8179 of file sqlite3odbc.c.
References dbc::autocommit, busy_handler(), dbtracerc(), dbc::intrans, dbc::ov3, setstatd(), and dbc::sqlite.
Referenced by drvendtran(), drvsetconnectattr(), and drvsetconnectoption().
|
static |
Find column given name in string array.
cols | string array |
ncols | number of strings |
name | column name |
Definition at line 2828 of file sqlite3odbc.c.
Referenced by drvforeignkeys(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), and fixupdyncols().
Fixup column information for a running statement.
s | statement to get fresh column information |
d | DBC pointer |
The column labels get the table names stripped when there's more than one column and all table names are identical.
The "dyncols" field of STMT is filled with column information obtained by SQLite "PRAGMA table_info" for each column whose table name is known. If the types are already present as with SQLite 2.5.7 this information is used instead.
Definition at line 2859 of file sqlite3odbc.c.
References array_size, COL::autoinc, COL::column, dbtraceapi(), stmt::dcols, stmt::dobigint, stmt::dyncols, findcol(), freep(), getmd(), stmt::has_pk, stmt::has_rowid, COL::ispk, COL::isrowid, COL::label, stmt::longnames, mapsqltype(), COL::nosign, COL::notnull, stmt::nowchar, stmt::one_tbl, stmt::ov3, COL::prec, COL::size, dbc::sqlite, COL::table, COL::type, COL::typename, xmalloc, and xstrdup.
Referenced by s3stmt_step().
|
static |
Fixup query string with optional parameter markers.
sql | original query string |
sqlLen | length of query string or SQL_NTS |
cte | when true, WITH is treated as SELECT |
nparam | output number of parameters |
isselect | output indicator for SELECT (1) or DDL statement (2) |
errmsg | output error message |
Definition at line 2527 of file sqlite3odbc.c.
References checkddl(), fixupsql(), freep(), ISSPACE, and xmalloc.
Referenced by fixupsql().
|
static |
Free dynamically allocated column descriptions of STMT.
s | statement pointer |
Definition at line 13924 of file sqlite3odbc.c.
References stmt::cols, stmt::dcols, stmt::dyncols, freep(), stmt::ncols, and COL::typename.
Referenced by freeresult(), and s3stmt_step().
|
static |
Free memory given pointer to memory pointer.
x | pointer to pointer to memory to be free'd |
Definition at line 1800 of file sqlite3odbc.c.
References xfree.
Referenced by dbopen(), drvbindparam(), drvdisconnect(), drvputdata(), drvsetstmtattr(), drvsetstmtoption(), drvspecialcolumns(), fixupdyncols(), fixupsql(), freedyncols(), freeparams(), freeresult(), freerows(), freestmt(), getrowdata(), and setupparam().
|
static |
Clear out parameter bindings, if any.
s | statement pointer |
Definition at line 5143 of file sqlite3odbc.c.
References stmt::bindparms, freep(), stmt::nbindparms, and BINDPARM::parbuf.
Referenced by drvfreestmt(), and freestmt().
|
static |
Free statement's result.
s | statement pointer |
clrcols | flag to clear column information |
The result rows are free'd using the rowfree function pointer. If clrcols is greater than zero, then column bindings and dynamic column descriptions are free'd. If clrcols is less than zero, then dynamic column descriptions are free'd.
Definition at line 13953 of file sqlite3odbc.c.
References stmt::bincache, stmt::bincell, stmt::bindcols, stmt::binlen, stmt::cols, freedyncols(), freep(), stmt::has_pk, stmt::has_rowid, stmt::nbindcols, stmt::ncols, stmt::nowchar, stmt::nrows, stmt::one_tbl, stmt::rowfree, and stmt::rows.
Referenced by drvfreestmt(), drvtableprivileges(), drvtables(), freestmt(), mkresultset(), and s3stmt_step().
|
static |
Free counted array of char pointers.
rowp | pointer to char pointer array |
The -1-th element of the array holds the array size. All non-NULL pointers of the array and then the array itself are free'd.
Definition at line 2153 of file sqlite3odbc.c.
References freep(), and PTRDIFF_T.
Referenced by drvcolumns(), drvforeignkeys(), drvgettable(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), and s3stmt_step().
|
static |
Referenced by drvfreeconnect(), and drvfreestmt().
|
static |
Internal free function for HSTMT.
stmt | statement handle |
Definition at line 13386 of file sqlite3odbc.c.
References stmt::bindparms, stmt::dbc, DBC_MAGIC, freep(), freeparams(), freeresult(), dbc::magic, stmt::next, stmt::query, stmt::row_status0, stmt::row_status1, stmt::rowset_size, s3stmt_drop(), dbc::stmt, and xfree.
|
static |
Get boolean flag from string.
string | string to be inspected |
Definition at line 3738 of file sqlite3odbc.c.
Referenced by dbopen(), drvconnect(), drvdriverconnect(), and getrowdata().
|
static |
Handling of SQLConnect() connection attributes for standalone operation without driver manager.
dsn | DSN/driver connection string |
attr | attribute string to be retrieved |
out | output buffer |
outLen | length of output buffer |
Definition at line 12750 of file sqlite3odbc.c.
References min.
Referenced by drvconnect(), and drvdriverconnect().
|
static |
Get maximum display size and number of digits after decimal point from field type specification.
typename | field type specification |
sqltype | target SQL data type |
mp | pointer to maximum display size or NULL |
dp | pointer to number of digits after decimal point or NULL |
Definition at line 2303 of file sqlite3odbc.c.
Referenced by drvcolumns(), drvspecialcolumns(), and fixupdyncols().
|
static |
Return number of month days.
year | |
month | 1..12 |
Definition at line 3136 of file sqlite3odbc.c.
Referenced by str2date(), and str2timestamp().
|
static |
Internal function to retrieve row data, used by SQLFetch() and friends and SQLGetData().
s | statement pointer |
col | column number, 0 based |
otype | output data type |
val | output buffer |
len | length of output buffer |
lenp | output length |
partial | flag for partial data retrieval |
Definition at line 14056 of file sqlite3odbc.c.
References stmt::bincache, stmt::bincell, stmt::bindcols, stmt::binlen, stmt::cols, freep(), getbool(), stmt::jdconv, BINDCOL::lenp, ln_strtod(), mapdeftype(), min, stmt::ncols, nomem(), COL::nosign, stmt::nowchar, stmt::nrows, stmt::oemcp, BINDCOL::offs, stmt::ov3, COL::prec, stmt::retr_data, stmt::rowp, stmt::rows, setstat(), SQLLEN, str2date(), str2time(), str2timestamp(), COL::type, uc_free(), uc_from_utf(), uc_strlen(), uc_strncpy(), xdigits, and xmalloc.
Referenced by dofetchbind(), setposrefr(), and SQLGetData().
|
static |
Internal locale neutral strtod function.
data | pointer to string |
endp | pointer for ending character |
Definition at line 1844 of file sqlite3odbc.c.
Referenced by getrowdata(), str2date(), str2time(), and str2timestamp().
|
static |
Map SQL_C_DEFAULT to proper C type.
type | input C type |
stype | input SQL type |
nosign | 0=signed, 0>unsigned, 0<undefined |
nowchar | when compiled with WINTERFACE don't use WCHAR |
Definition at line 2388 of file sqlite3odbc.c.
Referenced by drvbindcol(), drvputdata(), getrowdata(), setupparam(), and SQLParamData().
|
static |
Map SQL field type from string to ODBC integer type code.
typename | field type string |
nosign | pointer to indicator for unsigned field or NULL |
ov3 | boolean, true for SQL_OV_ODBC3 |
nowchar | boolean, for WINTERFACE don't use WCHAR |
dobigint | boolean, force SQL_BIGINT on INTEGER columns |
Definition at line 2179 of file sqlite3odbc.c.
References TOLOWER(), xfree, and xmalloc.
Referenced by drvcolumns(), drvspecialcolumns(), and fixupdyncols().
|
static |
Reallocate space for bound columns.
s | statement pointer |
ncols | number of columns |
Definition at line 14009 of file sqlite3odbc.c.
References stmt::bindcols, BINDCOL::index, BINDCOL::lenp, BINDCOL::max, stmt::nbindcols, nomem(), BINDCOL::offs, BINDCOL::type, unbindcols(), BINDCOL::valp, xmalloc, and xrealloc.
Referenced by drvbindcol(), mkresultset(), and s3stmt_step().
|
static |
Setup empty result set from constant column specification.
stmt | statement handle |
colspec | column specification array (default, ODBC2) |
ncols | number of columns (default, ODBC2) |
colspec3 | column specification array (ODBC3) |
ncols3 | number of columns (ODBC3) |
nret | returns number of columns |
Definition at line 6021 of file sqlite3odbc.c.
References stmt::cols, stmt::dbc, freeresult(), stmt::isselect, mkbindcols(), stmt::ncols, noconn(), stmt::nowchar, stmt::nrows, stmt::ov3, stmt::rowp, stmt::rowprs, s3stmt_end_if(), and dbc::sqlite.
Referenced by drvcolumns(), drvforeignkeys(), drvgettypeinfo(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), drvtables(), SQLColumnPrivilegesW(), SQLProcedureColumnsW(), and SQLProceduresW().
|
static |
Internal function to build up data type information as row in result set.
s | statement pointer |
row | row number |
asize | number of items in a row |
typename | name of type |
type | integer SQL type |
tind | type index |
Definition at line 15718 of file sqlite3odbc.c.
References stmt::rows, and stringify.
Referenced by drvgettypeinfo().
|
static |
SQL LIKE string match with optional backslash escape handling.
str | string |
pat | pattern |
esc | when true, treat literally "\\" as "", "\%" as "%", "\_" as "_" |
Definition at line 1948 of file sqlite3odbc.c.
References namematch(), and TOLOWER().
Referenced by drvcolumns(), and namematch().
|
static |
Report S1000 (not connected) SQL error given STMT.
s | statement pointer |
Definition at line 1828 of file sqlite3odbc.c.
References stmt::ov3, and setstat().
Referenced by mkresultset().
|
static |
Report S1000 (out of memory) SQL error given STMT.
s | statement pointer |
Definition at line 1815 of file sqlite3odbc.c.
References stmt::ov3, and setstat().
Referenced by drvbindparam(), drvbulkoperations(), drvcolumns(), drvforeignkeys(), drvgettable_row(), drvgettypeinfo(), drvprimarykeys(), drvputdata(), drvsetpos(), drvsetstmtattr(), drvsetstmtoption(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), drvtables(), getrowdata(), mkbindcols(), s3stmt_step(), setposbind(), setupparam(), setupparbuf(), SQLColumnsW(), SQLForeignKeysW(), SQLGetCursorNameW(), SQLPrimaryKeysW(), SQLSetCursorNameW(), SQLSpecialColumnsW(), SQLStatisticsW(), SQLTablePrivilegesW(), SQLTablesW(), xpath_connect(), xpath_update(), and zip_inflate_func().
|
static |
Replace ILIKE with LIKE in-place given query string.
sql | original query string |
Definition at line 2766 of file sqlite3odbc.c.
References ISSPACE.
Definition at line 1300 of file sqlite3odbc.c.
References BINDPARM::s3dval, BINDPARM::s3ival, BINDPARM::s3lival, BINDPARM::s3size, BINDPARM::s3type, BINDPARM::s3val, and dbc::trace.
Referenced by drvgettable(), and s3stmt_start().
|
static |
Find out column type.
s3stmt | SQLite statement pointer |
col | column number |
d | DBC pointer (for tracing only) |
guessed_types | flag array |
Definition at line 4304 of file sqlite3odbc.c.
References dbc::trace.
Referenced by s3stmt_step().
|
static |
Drop running sqlite statement in STMT.
s | statement pointer |
Definition at line 4715 of file sqlite3odbc.c.
References stmt::dbc, dbtraceapi(), stmt::s3stmt, and stmt::s3stmt_rownum.
Referenced by freestmt().
|
static |
Stop running sqlite statement.
s | statement pointer |
Definition at line 4669 of file sqlite3odbc.c.
References dbc::busyint, dbc::cur_s3stmt, stmt::dbc, dbtraceapi(), stmt::s3stmt, stmt::s3stmt_noreset, and stmt::s3stmt_rownum.
Referenced by drvdisconnect(), drvsetconnectattr(), drvsetconnectoption(), and s3stmt_end_if().
|
static |
Conditionally stop running sqlite statement.
s | statement pointer |
Definition at line 4697 of file sqlite3odbc.c.
References dbc::busyint, dbc::cur_s3stmt, stmt::dbc, and s3stmt_end().
Referenced by drvfreestmt(), and mkresultset().
|
static |
Start sqlite statement for execution of SELECT statement.
s | statement pointer |
Definition at line 4736 of file sqlite3odbc.c.
References stmt::bindparms, dbc::cur_s3stmt, stmt::dbc, dbtraceapi(), dbtracerc(), stmt::nparams, stmt::ov3, stmt::query, s3bind(), stmt::s3stmt, dbc::s3stmt_needmeta, stmt::s3stmt_noreset, stmt::s3stmt_rownum, setstat(), and dbc::sqlite.
|
static |
Do one sqlite statement step gathering one result row.
s | statement pointer |
Definition at line 4397 of file sqlite3odbc.c.
References COL::autoinc, stmt::cols, COL::column, dbc::cur_s3stmt, COL::db, stmt::dbc, dbtraceapi(), stmt::dcols, stmt::dyncols, fixupdyncols(), freedyncols(), freeresult(), freerows(), COL::index, COL::ispk, COL::isrowid, COL::label, stmt::longnames, mkbindcols(), stmt::ncols, nomem(), COL::nosign, COL::notnull, stmt::nrows, stmt::ov3, COL::prec, PTRDIFF_T, stmt::rowfree, stmt::rows, stmt::s3stmt, s3stmt_coltype(), dbc::s3stmt_needmeta, stmt::s3stmt_noreset, stmt::s3stmt_rownum, COL::scale, setstat(), COL::size, dbc::sqlite, COL::table, dbc::trace, COL::type, COL::typename, xdigits, xmalloc, and xstrdup.
Referenced by drvfetchscroll().
|
static |
Internal handler to setup parameters for positional updates from bound user buffers.
s | statement handle |
stmt | SQLite3 statement pointer |
i | result set column index |
si | SQLite3 parameter index |
rsi | result set row index |
Definition at line 9886 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bindcols, stmt::cols, stmt::dbc, stmt::jdconv, BINDCOL::lenp, BINDCOL::max, nomem(), stmt::oemcp, stmt::ov3, COL::prec, setstat(), SQLLEN, dbc::trace, BINDCOL::type, uc_free(), uc_to_utf(), and BINDCOL::valp.
Referenced by drvbulkoperations(), and drvsetpos().
|
static |
Internal handler to setup parameters for positional updates from driver side result set.
s | statement handle |
stmt | SQLite3 statement pointer |
i | result set column index |
si | SQLite3 parameter index |
rsi | result set row index |
Definition at line 10226 of file sqlite3odbc.c.
References stmt::dbc, stmt::ncols, stmt::ov3, stmt::rowprs, stmt::rows, setstat(), and dbc::trace.
Referenced by drvsetpos().
|
static |
Internal handler to refresh user buffers from driver side result set.
s | statement handle |
rsi | result set row index |
Definition at line 10263 of file sqlite3odbc.c.
References stmt::bind_offs, stmt::bind_type, stmt::bindcols, getrowdata(), BINDCOL::lenp, BINDCOL::max, stmt::ncols, BINDCOL::offs, stmt::row_status0, stmt::rowp, stmt::rowprs, SQLLEN, BINDCOL::type, and BINDCOL::valp.
Referenced by drvsetpos().
|
static |
Set SQLite options (PRAGMAs) given SQLite handle.
x | SQLite database handle |
d | DBC pointer |
SQLite < 3.3.x and not shortnames DSN option: "full_column_names" is always turned on and "short_column_names" is always turned off, to get the table names in column labels.
Definition at line 2096 of file sqlite3odbc.c.
References busy_handler(), dbc::fksupport, dbc::longnames, max, and dbc::shortnames.
Referenced by dbopen().
|
static |
Set error message and SQL state on statement.
s | statement pointer |
naterr | native error code |
msg | error message |
st | SQL state |
Definition at line 1730 of file sqlite3odbc.c.
References stmt::logmsg, stmt::naterr, and stmt::sqlstate.
Referenced by chkunbound(), drvbindcol(), drvbindparam(), drvbulkoperations(), drvcolattributes(), drvcolumns(), drvdescribecol(), drvfetchscroll(), drvforeignkeys(), drvfreestmt(), drvprimarykeys(), drvputdata(), drvsetcursorname(), drvsetpos(), drvsetstmtattr(), drvsetstmtoption(), drvspecialcolumns(), drvstatistics(), drvunimplstmt(), getrowdata(), noconn(), nomem(), s3stmt_start(), s3stmt_step(), setposbind(), setposibind(), setupparam(), setupparbuf(), SQLDescribeParam(), SQLGetData(), SQLNativeSqlW(), and starttran().
|
static |
Set error message and SQL state on DBC.
d | database connection pointer |
naterr | native error code |
msg | error message |
st | SQL state |
Definition at line 1690 of file sqlite3odbc.c.
References dbc::logmsg, dbc::naterr, and dbc::sqlstate.
Referenced by dbopen(), drvconnect(), drvdisconnect(), drvdriverconnect(), drvfreeconnect(), drvgetconnectattr(), drvgetconnectoption(), drvgetinfo(), drvsetconnectattr(), drvsetconnectoption(), drvunimpldbc(), endtran(), and SQLConnectW().
|
static |
Referenced by drvgettable_row().
|
static |
Setup SQLite3 parameter for statement parameter.
s | statement pointer |
sql | sql string |
pnum | parameter number |
The parameter is converted within BINDPARM in order to be presented to sqlite3_bind_*() functions.
Definition at line 5168 of file sqlite3odbc.c.
References stmt::bindparms, BINDPARM::coldef, freep(), stmt::jdconv, BINDPARM::len, BINDPARM::lenp, mapdeftype(), BINDPARM::max, stmt::nbindparms, BINDPARM::need, nomem(), stmt::nowchar, stmt::oemcp, stmt::ov3, BINDPARM::param, BINDPARM::parbuf, BINDPARM::s3dval, BINDPARM::s3ival, BINDPARM::s3lival, BINDPARM::s3size, BINDPARM::s3type, BINDPARM::s3val, setstat(), setupparbuf(), BINDPARM::strbuf, BINDPARM::stype, BINDPARM::type, uc_strlen(), uc_to_utf(), and xmalloc.
Setup parameter buffer for deferred parameter.
s | pointer to STMT |
p | pointer to BINDPARM |
Definition at line 5723 of file sqlite3odbc.c.
References BINDPARM::len, BINDPARM::lenp, BINDPARM::max, nomem(), BINDPARM::param, BINDPARM::parbuf, setstat(), and xmalloc.
Referenced by setupparam(), and SQLParamData().
SQLRETURN SQL_API SQLAllocConnect | ( | SQLHENV | env, |
SQLHDBC * | dbc ) |
Allocate HDBC.
env | environment handle |
dbc | pointer to database connection handle |
Definition at line 12100 of file sqlite3odbc.c.
References drvallocconnect().
SQLRETURN SQL_API SQLAllocEnv | ( | SQLHENV * | env | ) |
Allocate HENV.
env | pointer to environment handle |
Definition at line 11972 of file sqlite3odbc.c.
References drvallocenv().
SQLRETURN SQL_API SQLAllocHandle | ( | SQLSMALLINT | type, |
SQLHANDLE | input, | ||
SQLHANDLE * | output ) |
Allocate a HENV, HDBC, or HSTMT handle.
type | handle type |
input | input handle (HENV, HDBC) |
output | pointer to output handle (HENV, HDBC, HSTMT) |
Definition at line 13871 of file sqlite3odbc.c.
References drvallocconnect(), drvallocenv(), drvallocstmt(), ENV_MAGIC, HDBC_LOCK, HDBC_UNLOCK, ENV::magic, and ENV::ov3.
SQLRETURN SQL_API SQLAllocStmt | ( | SQLHDBC | dbc, |
SQLHSTMT * | stmt ) |
Allocate HSTMT given HDBC.
dbc | database connection handle |
stmt | pointer to statement handle |
Definition at line 13507 of file sqlite3odbc.c.
References drvallocstmt(), HDBC_LOCK, and HDBC_UNLOCK.
SQLRETURN SQL_API SQLBindCol | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | col, | ||
SQLSMALLINT | type, | ||
SQLPOINTER | val, | ||
SQLLEN | max, | ||
SQLLEN * | lenp ) |
Bind C variable to column of result set.
stmt | statement handle |
col | column number, starting at 1 |
type | output type |
val | output buffer |
max | length of output buffer |
lenp | output length pointer |
Definition at line 14751 of file sqlite3odbc.c.
References drvbindcol(), HSTMT_LOCK, HSTMT_UNLOCK, and max.
SQLRETURN SQL_API SQLBindParam | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | pnum, | ||
SQLSMALLINT | vtype, | ||
SQLSMALLINT | ptype, | ||
SQLULEN | lenprec, | ||
SQLSMALLINT | scale, | ||
SQLPOINTER | val, | ||
SQLLEN * | lenp ) |
Bind parameter on HSTMT.
stmt | statement handle |
pnum | parameter number, starting at 1 |
vtype | input/output type of parameter |
ptype | |
lenprec | |
scale | |
val | pointer to host variable |
lenp | output length pointer |
Definition at line 5674 of file sqlite3odbc.c.
References drvbindparam(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLBindParameter | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | pnum, | ||
SQLSMALLINT | iotype, | ||
SQLSMALLINT | buftype, | ||
SQLSMALLINT | ptype, | ||
SQLULEN | coldef, | ||
SQLSMALLINT | scale, | ||
SQLPOINTER | data, | ||
SQLLEN | buflen, | ||
SQLLEN * | len ) |
Bind parameter on HSTMT.
stmt | statement handle |
pnum | parameter number, starting at 1 |
iotype | input/output type of parameter |
buftype | type of host variable |
ptype | |
coldef | |
scale | |
data | pointer to host variable |
buflen | length of host variable |
len | output length pointer |
Definition at line 5645 of file sqlite3odbc.c.
References drvbindparam(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLBrowseConnectW | ( | SQLHDBC | dbc, |
SQLWCHAR * | connin, | ||
SQLSMALLINT | conninLen, | ||
SQLWCHAR * | connout, | ||
SQLSMALLINT | connoutMax, | ||
SQLSMALLINT * | connoutLen ) |
Function not implemented.
Definition at line 4886 of file sqlite3odbc.c.
References drvunimpldbc(), HDBC_LOCK, and HDBC_UNLOCK.
SQLRETURN SQL_API SQLBulkOperations | ( | SQLHSTMT | stmt, |
SQLSMALLINT | oper ) |
Perform bulk operation on HSTMT.
stmt | statement handle |
oper | operation to be performed |
Definition at line 11117 of file sqlite3odbc.c.
References drvbulkoperations(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLCancel | ( | SQLHSTMT | stmt | ) |
Cancel HSTMT closing cursor.
stmt | statement handle |
Definition at line 13581 of file sqlite3odbc.c.
References dbc::busyint, DBC_MAGIC, drvfreestmt(), dbc::magic, and dbc::sqlite.
SQLRETURN SQL_API SQLCloseCursor | ( | SQLHSTMT | stmt | ) |
Close open cursor.
stmt | statement handle |
Definition at line 13857 of file sqlite3odbc.c.
References drvfreestmt().
SQLRETURN SQL_API SQLColumnPrivilegesW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | catalog, | ||
SQLSMALLINT | catalogLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen, | ||
SQLWCHAR * | column, | ||
SQLSMALLINT | columnLen ) |
Retrieve privileges on columns (UNICODE version).
stmt | statement handle |
catalog | catalog name/pattern or NULL |
catalogLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
column | column name or NULL |
columnLen | length of column name or SQL_NTS |
Definition at line 6632 of file sqlite3odbc.c.
References array_size, colPrivSpec2, colPrivSpec3, HSTMT_LOCK, HSTMT_UNLOCK, and mkresultset().
SQLRETURN SQL_API SQLColumnsW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cat, | ||
SQLSMALLINT | catLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen, | ||
SQLWCHAR * | col, | ||
SQLSMALLINT | colLen ) |
Retrieve column information on table (UNICODE version).
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
col | column name/pattern or NULL |
colLen | length of column name/pattern or SQL_NTS |
Definition at line 15612 of file sqlite3odbc.c.
References drvcolumns(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLConnectW | ( | SQLHDBC | dbc, |
SQLWCHAR * | dsn, | ||
SQLSMALLINT | dsnLen, | ||
SQLWCHAR * | uid, | ||
SQLSMALLINT | uidLen, | ||
SQLWCHAR * | pwd, | ||
SQLSMALLINT | pwdLen ) |
Connect to SQLite database.
dbc | database connection handle |
dsn | DSN string |
dsnLen | length of DSN string or SQL_NTS |
uid | user id string or NULL |
uidLen | length of user id string or SQL_NTS |
pwd | password string or NULL |
pwdLen | length of password string or SQL_NTS |
Definition at line 13011 of file sqlite3odbc.c.
References drvconnect(), HDBC_LOCK, HDBC_UNLOCK, dbc::ov3, setstatd(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLCopyDesc | ( | SQLHDESC | source, |
SQLHDESC | target ) |
Function not implemented.
Definition at line 8322 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLDataSourcesW | ( | SQLHENV | env, |
SQLUSMALLINT | dir, | ||
SQLWCHAR * | srvname, | ||
SQLSMALLINT | buflen1, | ||
SQLSMALLINT * | lenp1, | ||
SQLWCHAR * | desc, | ||
SQLSMALLINT | buflen2, | ||
SQLSMALLINT * | lenp2 ) |
Function not implemented.
Definition at line 4816 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLDescribeColW | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | col, | ||
SQLWCHAR * | name, | ||
SQLSMALLINT | nameMax, | ||
SQLSMALLINT * | nameLen, | ||
SQLSMALLINT * | type, | ||
SQLULEN * | size, | ||
SQLSMALLINT * | digits, | ||
SQLSMALLINT * | nullable ) |
Describe column information (UNICODE version).
stmt | statement handle |
col | column number, starting at 1 |
name | buffer for column name |
nameMax | length of name buffer |
nameLen | output length of column name |
type | output SQL type |
size | output column size |
digits | output number of digits |
nullable | output NULL allowed indicator |
Definition at line 17272 of file sqlite3odbc.c.
References stmt::cols, COL::column, drvdescribecol(), HSTMT_LOCK, HSTMT_UNLOCK, min, uc_free(), uc_from_utf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLDescribeParam | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | pnum, | ||
SQLSMALLINT * | dtype, | ||
SQLULEN * | size, | ||
SQLSMALLINT * | decdigits, | ||
SQLSMALLINT * | nullable ) |
Return information about parameter.
stmt | statement handle |
pnum | parameter number, starting at 1 |
dtype | output type indicator |
size | output size indicator |
decdigits | output number of digits |
nullable | output NULL allowed indicator |
Definition at line 5811 of file sqlite3odbc.c.
References HSTMT_LOCK, HSTMT_UNLOCK, stmt::nowchar, stmt::nparams, stmt::ov3, and setstat().
SQLRETURN SQL_API SQLDisconnect | ( | SQLHDBC | dbc | ) |
Disconnect given HDBC.
dbc | database connection handle |
Definition at line 13100 of file sqlite3odbc.c.
References drvdisconnect(), HDBC_LOCK, and HDBC_UNLOCK.
SQLRETURN SQL_API SQLDriversW | ( | SQLHENV | env, |
SQLUSMALLINT | dir, | ||
SQLWCHAR * | drvdesc, | ||
SQLSMALLINT | descmax, | ||
SQLSMALLINT * | desclenp, | ||
SQLWCHAR * | drvattr, | ||
SQLSMALLINT | attrmax, | ||
SQLSMALLINT * | attrlenp ) |
Function not implemented.
Definition at line 4850 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLEndTran | ( | SQLSMALLINT | type, |
SQLHANDLE | handle, | ||
SQLSMALLINT | comptype ) |
Commit or rollback transaction.
type | type of handle |
handle | HDBC, HENV, or HSTMT handle |
comptype | SQL_COMMIT or SQL_ROLLBACK |
Definition at line 8295 of file sqlite3odbc.c.
References drvendtran().
SQLRETURN SQL_API SQLExtendedFetch | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | orient, | ||
SQLROWOFFSET | offset, | ||
SQLROWSETSIZE * | rowcount, | ||
SQLUSMALLINT * | rowstatus ) |
Fetch result row with scrolling and row status.
stmt | statement handle |
orient | fetch direction |
offset | offset for fetch direction |
rowcount | output number of fetched rows |
rowstatus | array for row stati |
Definition at line 17015 of file sqlite3odbc.c.
References stmt::bkmrkptr, drvfetchscroll(), HSTMT_LOCK, HSTMT_UNLOCK, stmt::row_count0, stmt::row_status, stmt::row_status0, and stmt::rowset_size.
SQLRETURN SQL_API SQLFetch | ( | SQLHSTMT | stmt | ) |
Fetch next result row.
stmt | statement handle |
Definition at line 16975 of file sqlite3odbc.c.
References drvfetchscroll(), HSTMT_LOCK, and HSTMT_UNLOCK.
Fetch result row with scrolling.
stmt | statement handle |
orient | fetch direction |
offset | offset for fetch direction |
Definition at line 16994 of file sqlite3odbc.c.
References drvfetchscroll(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLForeignKeysW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | PKcatalog, | ||
SQLSMALLINT | PKcatalogLen, | ||
SQLWCHAR * | PKschema, | ||
SQLSMALLINT | PKschemaLen, | ||
SQLWCHAR * | PKtable, | ||
SQLSMALLINT | PKtableLen, | ||
SQLWCHAR * | FKcatalog, | ||
SQLSMALLINT | FKcatalogLen, | ||
SQLWCHAR * | FKschema, | ||
SQLSMALLINT | FKschemaLen, | ||
SQLWCHAR * | FKtable, | ||
SQLSMALLINT | FKtableLen ) |
Retrieve information about primary/foreign keys (UNICODE version).
stmt | statement handle |
PKcatalog | primary key catalog name/pattern or NULL |
PKcatalogLen | length of PKcatalog or SQL_NTS |
PKschema | primary key schema name/pattern or NULL |
PKschemaLen | length of PKschema or SQL_NTS |
PKtable | primary key table name/pattern or NULL |
PKtableLen | length of PKtable or SQL_NTS |
FKcatalog | foreign key catalog name/pattern or NULL |
FKcatalogLen | length of FKcatalog or SQL_NTS |
FKschema | foreign key schema name/pattern or NULL |
FKschemaLen | length of FKschema or SQL_NTS |
FKtable | foreign key table name/pattern or NULL |
FKtableLen | length of FKtable or SQL_NTS |
Definition at line 8058 of file sqlite3odbc.c.
References drvforeignkeys(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLFreeConnect | ( | SQLHDBC | dbc | ) |
Free connection (HDBC).
dbc | database connection handle |
Definition at line 12190 of file sqlite3odbc.c.
References drvfreeconnect().
SQLRETURN SQL_API SQLFreeEnv | ( | SQLHENV | env | ) |
Free HENV.
env | environment handle |
Definition at line 12020 of file sqlite3odbc.c.
References drvfreeenv().
SQLRETURN SQL_API SQLFreeHandle | ( | SQLSMALLINT | type, |
SQLHANDLE | h ) |
Free a HENV, HDBC, or HSTMT handle.
type | handle type |
h | handle (HENV, HDBC, or HSTMT) |
Definition at line 13905 of file sqlite3odbc.c.
References drvfreeconnect(), drvfreeenv(), and drvfreestmt().
SQLRETURN SQL_API SQLFreeStmt | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | opt ) |
Free HSTMT.
stmt | statement handle |
opt | SQL_RESET_PARAMS, SQL_UNBIND, SQL_CLOSE, or SQL_DROP |
Definition at line 13569 of file sqlite3odbc.c.
References drvfreestmt().
SQLRETURN SQL_API SQLGetConnectAttrW | ( | SQLHDBC | dbc, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | bufmax, | ||
SQLINTEGER * | buflen ) |
Get connect attribute of HDBC (UNICODE version).
dbc | database connection handle |
attr | option to be retrieved |
val | output buffer |
bufmax | size of output buffer |
buflen | output length |
Definition at line 12378 of file sqlite3odbc.c.
References drvgetconnectattr(), HDBC_LOCK, HDBC_UNLOCK, min, uc_free(), uc_from_utf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLGetConnectOptionW | ( | SQLHDBC | dbc, |
SQLUSMALLINT | opt, | ||
SQLPOINTER | param ) |
Get connect option of HDBC (UNICODE version).
dbc | database connection handle |
opt | option to be retrieved |
param | output buffer |
Definition at line 12640 of file sqlite3odbc.c.
References drvgetconnectoption(), HDBC_LOCK, and HDBC_UNLOCK.
SQLRETURN SQL_API SQLGetCursorNameW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cursor, | ||
SQLSMALLINT | buflen, | ||
SQLSMALLINT * | lenp ) |
Get cursor name of STMT (UNICODE version).
stmt | statement handle |
cursor | output buffer |
buflen | length of output buffer |
lenp | output length |
Definition at line 13706 of file sqlite3odbc.c.
References drvgetcursorname(), HSTMT_LOCK, HSTMT_UNLOCK, min, nomem(), uc_free(), uc_from_utf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLGetData | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | col, | ||
SQLSMALLINT | type, | ||
SQLPOINTER | val, | ||
SQLLEN | len, | ||
SQLLEN * | lenp ) |
Retrieve row data after fetch.
stmt | statement handle |
col | column number, starting at 1 |
type | output type |
val | output buffer |
len | length of output buffer |
lenp | output length |
Definition at line 16564 of file sqlite3odbc.c.
References stmt::bkmrk, getrowdata(), stmt::has_rowid, HSTMT_LOCK, HSTMT_UNLOCK, stmt::ncols, stmt::ov3, stmt::rowp, stmt::rows, and setstat().
SQLRETURN SQL_API SQLGetDescFieldW | ( | SQLHDESC | handle, |
SQLSMALLINT | recno, | ||
SQLSMALLINT | fieldid, | ||
SQLPOINTER | value, | ||
SQLINTEGER | buflen, | ||
SQLINTEGER * | strlen ) |
Function not implemented.
Definition at line 5925 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLGetDescRecW | ( | SQLHDESC | handle, |
SQLSMALLINT | recno, | ||
SQLWCHAR * | name, | ||
SQLSMALLINT | buflen, | ||
SQLSMALLINT * | strlen, | ||
SQLSMALLINT * | type, | ||
SQLSMALLINT * | subtype, | ||
SQLLEN * | len, | ||
SQLSMALLINT * | prec, | ||
SQLSMALLINT * | scale, | ||
SQLSMALLINT * | nullable ) |
Function not implemented.
Definition at line 5984 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLGetDiagFieldW | ( | SQLSMALLINT | htype, |
SQLHANDLE | handle, | ||
SQLSMALLINT | recno, | ||
SQLSMALLINT | id, | ||
SQLPOINTER | info, | ||
SQLSMALLINT | buflen, | ||
SQLSMALLINT * | stringlen ) |
Get error record given handle (HDBC or HSTMT).
htype | handle type |
handle | HDBC or HSTMT |
recno | diag record number for which info to be retrieved |
id | diag id for which info to be retrieved |
info | output buffer for error message |
buflen | length of output buffer |
stringlen | output length |
Definition at line 9166 of file sqlite3odbc.c.
References drvgetdiagfield(), min, uc_free(), uc_from_utf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLGetDiagRecW | ( | SQLSMALLINT | htype, |
SQLHANDLE | handle, | ||
SQLSMALLINT | recno, | ||
SQLWCHAR * | sqlstate, | ||
SQLINTEGER * | nativeerr, | ||
SQLWCHAR * | msg, | ||
SQLSMALLINT | buflen, | ||
SQLSMALLINT * | msglen ) |
Get error message given handle (HENV, HDBC, or HSTMT) (UNICODE version).
htype | handle type |
handle | HENV, HDBC, or HSTMT |
recno | |
sqlstate | output buffer for SQL state |
nativeerr | output buffer of native error code |
msg | output buffer for error message |
buflen | length of output buffer |
msglen | output length |
Definition at line 8889 of file sqlite3odbc.c.
References drvgetdiagrec(), min, uc_free(), uc_from_utf(), uc_from_utf_buf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLGetEnvAttr | ( | SQLHENV | env, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | len, | ||
SQLINTEGER * | lenp ) |
Get information of HENV.
env | environment handle |
attr | attribute to be retrieved |
val | output buffer |
len | length of output buffer |
lenp | output length |
Definition at line 8623 of file sqlite3odbc.c.
References ENV_MAGIC, ENV::magic, ENV::ov3, and ENV::pool.
SQLRETURN SQL_API SQLGetFunctions | ( | SQLHDBC | dbc, |
SQLUSMALLINT | func, | ||
SQLUSMALLINT * | flags ) |
Return information about supported ODBC API functions.
dbc | database connection handle |
func | function code to be retrieved |
flags | output indicator |
Definition at line 11789 of file sqlite3odbc.c.
References array_size, and SET_EXISTS.
SQLRETURN SQL_API SQLGetInfoW | ( | SQLHDBC | dbc, |
SQLUSMALLINT | type, | ||
SQLPOINTER | val, | ||
SQLSMALLINT | valMax, | ||
SQLSMALLINT * | valLen ) |
Return information about what this ODBC driver supports.
dbc | database connection handle |
type | type of information to be retrieved |
val | output buffer |
valMax | length of output buffer |
valLen | output length |
Definition at line 11686 of file sqlite3odbc.c.
References drvgetinfo(), HDBC_LOCK, HDBC_UNLOCK, min, uc_free(), uc_from_utf(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLGetStmtAttrW | ( | SQLHSTMT | stmt, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | bufmax, | ||
SQLINTEGER * | buflen ) |
Get option of HSTMT (UNICODE version).
stmt | statement handle |
attr | attribute to be retrieved |
val | output buffer |
bufmax | length of output buffer |
buflen | output length |
Definition at line 9415 of file sqlite3odbc.c.
References drvgetstmtattr(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLGetStmtOption | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | opt, | ||
SQLPOINTER | param ) |
Get option of HSTMT.
stmt | statement handle |
opt | option to be retrieved |
param | output buffer |
Definition at line 9697 of file sqlite3odbc.c.
References drvgetstmtoption(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLGetStmtOptionW | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | opt, | ||
SQLPOINTER | param ) |
Get option of HSTMT (UNICODE version).
stmt | statement handle |
opt | option to be retrieved |
param | output buffer |
Definition at line 9717 of file sqlite3odbc.c.
References drvgetstmtoption(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLGetTypeInfoW | ( | SQLHSTMT | stmt, |
SQLSMALLINT | sqltype ) |
Return data type information (UNICODE version).
stmt | statement handle |
sqltype | which type to retrieve |
Definition at line 16098 of file sqlite3odbc.c.
References drvgettypeinfo(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLNativeSqlW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | sqlin, | ||
SQLINTEGER | sqlinLen, | ||
SQLWCHAR * | sql, | ||
SQLINTEGER | sqlMax, | ||
SQLINTEGER * | sqlLen ) |
Translate SQL string (UNICODE version).
stmt | statement handle |
sqlin | input string |
sqlinLen | length of input string |
sql | output string |
sqlMax | max space in output string |
sqlLen | value return for length of output string |
Definition at line 8384 of file sqlite3odbc.c.
References HSTMT_LOCK, HSTMT_UNLOCK, min, setstat(), uc_strlen(), and uc_strncpy().
SQLRETURN SQL_API SQLNumParams | ( | SQLHSTMT | stmt, |
SQLSMALLINT * | nparam ) |
Return number of parameters.
stmt | statement handle |
nparam | output parameter count |
Definition at line 5697 of file sqlite3odbc.c.
References HSTMT_LOCK, HSTMT_UNLOCK, and stmt::nparams.
SQLRETURN SQL_API SQLNumResultCols | ( | SQLHSTMT | stmt, |
SQLSMALLINT * | ncols ) |
Return number of columns of result set given HSTMT.
stmt | statement handle |
ncols | output number of columns |
Definition at line 17079 of file sqlite3odbc.c.
References HSTMT_LOCK, HSTMT_UNLOCK, and stmt::ncols.
SQLRETURN SQL_API SQLParamData | ( | SQLHSTMT | stmt, |
SQLPOINTER * | pind ) |
Retrieve next parameter for sending data to executing query.
stmt | statement handle |
pind | pointer to output parameter indicator |
Definition at line 5757 of file sqlite3odbc.c.
References stmt::bindparms, drvexecute(), HSTMT_LOCK, HSTMT_UNLOCK, mapdeftype(), BINDPARM::need, stmt::nowchar, stmt::nparams, BINDPARM::param0, stmt::pdcount, setupparbuf(), BINDPARM::stype, and BINDPARM::type.
Function not implemented.
Definition at line 5895 of file sqlite3odbc.c.
References drvunimplstmt(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLPrimaryKeysW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cat, | ||
SQLSMALLINT | catLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen ) |
Retrieve information about indexed columns (UNICODE version).
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
Definition at line 7012 of file sqlite3odbc.c.
References drvprimarykeys(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLProcedureColumnsW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | catalog, | ||
SQLSMALLINT | catalogLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | proc, | ||
SQLSMALLINT | procLen, | ||
SQLWCHAR * | column, | ||
SQLSMALLINT | columnLen ) |
Retrieve information about columns in result set of stored procedures (UNICODE version).
stmt | statement handle |
catalog | catalog name/pattern or NULL |
catalogLen | length of catalog or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema or SQL_NTS |
proc | procedure name/pattern or NULL |
procLen | length of proc or SQL_NTS |
column | column name/pattern or NULL |
columnLen | length of column or SQL_NTS |
Definition at line 8596 of file sqlite3odbc.c.
References array_size, HSTMT_LOCK, HSTMT_UNLOCK, mkresultset(), procColSpec2, and procColSpec3.
SQLRETURN SQL_API SQLProceduresW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | catalog, | ||
SQLSMALLINT | catalogLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | proc, | ||
SQLSMALLINT | procLen ) |
Retrieve information about stored procedures (UNICODE version).
stmt | statement handle |
catalog | catalog name/pattern or NULL |
catalogLen | length of catalog or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema or SQL_NTS |
proc | procedure name/pattern or NULL |
procLen | length of proc or SQL_NTS |
Definition at line 8484 of file sqlite3odbc.c.
References array_size, HSTMT_LOCK, HSTMT_UNLOCK, mkresultset(), procSpec2, and procSpec3.
Put (partial) parameter data into executing statement.
stmt | statement handle |
data | pointer to data |
len | length of data |
Definition at line 5127 of file sqlite3odbc.c.
References drvputdata(), HSTMT_LOCK, and HSTMT_UNLOCK.
Return number of affected rows of HSTMT.
stmt | statement handle |
nrows | output number of rows |
Definition at line 17055 of file sqlite3odbc.c.
References HSTMT_LOCK, HSTMT_UNLOCK, stmt::isselect, and stmt::nrows.
SQLRETURN SQL_API SQLSetConnectAttrW | ( | SQLHDBC | dbc, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | len ) |
Set connect attribute of HDBC (UNICODE version).
dbc | database connection handle |
attr | option to be set |
val | option value |
len | size of option |
Definition at line 12508 of file sqlite3odbc.c.
References drvsetconnectattr(), HDBC_LOCK, and HDBC_UNLOCK.
Set option on HDBC (UNICODE version).
dbc | database connection handle |
opt | option to be set |
param | option value |
Definition at line 12726 of file sqlite3odbc.c.
References drvsetconnectoption(), HDBC_LOCK, and HDBC_UNLOCK.
SQLRETURN SQL_API SQLSetCursorNameW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cursor, | ||
SQLSMALLINT | len ) |
Set cursor name on STMT (UNICODE version).
stmt | statement handle |
cursor | new cursor name |
len | length of cursor name or SQL_NTS |
Definition at line 13829 of file sqlite3odbc.c.
References drvsetcursorname(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLSetDescFieldW | ( | SQLHDESC | handle, |
SQLSMALLINT | recno, | ||
SQLSMALLINT | fieldid, | ||
SQLPOINTER | value, | ||
SQLINTEGER | buflen ) |
Function not implemented.
Definition at line 5953 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLSetDescRec | ( | SQLHDESC | handle, |
SQLSMALLINT | recno, | ||
SQLSMALLINT | type, | ||
SQLSMALLINT | subtype, | ||
SQLLEN | len, | ||
SQLSMALLINT | prec, | ||
SQLSMALLINT | scale, | ||
SQLPOINTER | data, | ||
SQLLEN * | strlen, | ||
SQLLEN * | indicator ) |
Function not implemented.
Definition at line 6000 of file sqlite3odbc.c.
SQLRETURN SQL_API SQLSetEnvAttr | ( | SQLHENV | env, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | len ) |
Set information in HENV.
env | environment handle |
attr | attribute to be retrieved |
val | parameter buffer |
len | length of parameter |
Definition at line 8692 of file sqlite3odbc.c.
References ENV_MAGIC, ENV::magic, ENV::ov3, and ENV::pool.
SQLRETURN SQL_API SQLSetParam | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | par, | ||
SQLSMALLINT | type, | ||
SQLSMALLINT | sqltype, | ||
SQLULEN | coldef, | ||
SQLSMALLINT | scale, | ||
SQLPOINTER | val, | ||
SQLLEN * | nval ) |
Set information on parameter.
stmt | statement handle |
par | parameter number, starting at 1 |
type | type of host variable |
sqltype | |
coldef | |
scale | |
val | pointer to host variable |
nval | output length pointer |
Definition at line 5876 of file sqlite3odbc.c.
References drvbindparam(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSetPos | ( | SQLHSTMT | stmt, |
SQLSETPOSIROW | row, | ||
SQLUSMALLINT | op, | ||
SQLUSMALLINT | lock ) |
Set position on result in HSTMT.
stmt | statement handle |
row | row to be positioned |
op | operation code |
lock | locking type |
Definition at line 10674 of file sqlite3odbc.c.
References drvsetpos(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSetScrollOptions | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | concur, | ||
SQLLEN | rowkeyset, | ||
SQLUSMALLINT | rowset ) |
Function not implemented.
Definition at line 11133 of file sqlite3odbc.c.
References drvunimplstmt(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSetStmtAttrW | ( | SQLHSTMT | stmt, |
SQLINTEGER | attr, | ||
SQLPOINTER | val, | ||
SQLINTEGER | buflen ) |
Set option on HSTMT (UNICODE version).
stmt | statement handle |
attr | attribute to be set |
val | input buffer (attribute value) |
buflen | length of input buffer |
Definition at line 9624 of file sqlite3odbc.c.
References drvsetstmtattr(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSetStmtOption | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | opt, | ||
SETSTMTOPTION_LAST_ARG_TYPE | param ) |
Set option on HSTMT.
stmt | statement handle |
opt | option to be set |
param | input buffer (option value) |
Definition at line 9815 of file sqlite3odbc.c.
References drvsetstmtoption(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSetStmtOptionW | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | opt, | ||
SETSTMTOPTION_LAST_ARG_TYPE | param ) |
Set option on HSTMT (UNICODE version).
stmt | statement handle |
opt | option to be set |
param | input buffer (option value) |
Definition at line 9836 of file sqlite3odbc.c.
References drvsetstmtoption(), HSTMT_LOCK, and HSTMT_UNLOCK.
SQLRETURN SQL_API SQLSpecialColumnsW | ( | SQLHSTMT | stmt, |
SQLUSMALLINT | id, | ||
SQLWCHAR * | cat, | ||
SQLSMALLINT | catLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen, | ||
SQLUSMALLINT | scope, | ||
SQLUSMALLINT | nullable ) |
Retrieve information about indexed columns (UNICODE version).
stmt | statement handle |
id | type of information, e.g. best row id |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
scope | |
nullable |
Definition at line 7450 of file sqlite3odbc.c.
References drvspecialcolumns(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLStatisticsW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cat, | ||
SQLSMALLINT | catLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen, | ||
SQLUSMALLINT | itype, | ||
SQLUSMALLINT | resv ) |
Return statistic information on table indices (UNICODE version).
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
itype | type of index information |
resv | reserved |
Definition at line 16511 of file sqlite3odbc.c.
References drvstatistics(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLTablePrivilegesW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | catalog, | ||
SQLSMALLINT | catalogLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen ) |
Retrieve privileges on tables and/or views (UNICODE version).
stmt | statement handle |
catalog | catalog name/pattern or NULL |
catalogLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
Definition at line 6516 of file sqlite3odbc.c.
References drvtableprivileges(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLTablesW | ( | SQLHSTMT | stmt, |
SQLWCHAR * | cat, | ||
SQLSMALLINT | catLen, | ||
SQLWCHAR * | schema, | ||
SQLSMALLINT | schemaLen, | ||
SQLWCHAR * | table, | ||
SQLSMALLINT | tableLen, | ||
SQLWCHAR * | type, | ||
SQLSMALLINT | typeLen ) |
Retrieve information on tables and/or views.
stmt | statement handle |
cat | catalog name/pattern or NULL |
catLen | length of catalog name/pattern or SQL_NTS |
schema | schema name/pattern or NULL |
schemaLen | length of schema name/pattern or SQL_NTS |
table | table name/pattern or NULL |
tableLen | length of table name/pattern or SQL_NTS |
type | types of tables string or NULL |
typeLen | length of types of tables string or SQL_NTS |
Definition at line 15088 of file sqlite3odbc.c.
References drvtables(), HSTMT_LOCK, HSTMT_UNLOCK, nomem(), uc_free(), and uc_to_utf_c().
SQLRETURN SQL_API SQLTransact | ( | SQLHENV | env, |
SQLHDBC | dbc, | ||
SQLUSMALLINT | type ) |
Commit or rollback transaction.
env | environment handle or NULL |
dbc | database connection handle or NULL |
type | SQL_COMMIT or SQL_ROLLBACK |
Definition at line 8309 of file sqlite3odbc.c.
References drvendtran().
|
static |
Start transaction when autocommit off.
s | statement pointer |
Definition at line 8136 of file sqlite3odbc.c.
References dbc::autocommit, busy_handler(), stmt::dbc, dbtracerc(), dbc::intrans, stmt::ov3, setstat(), dbc::sqlite, and dbc::trans_disable.
Referenced by drvcolumns(), drvforeignkeys(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), and drvtables().
|
static |
Convert string to ODBC DATE_STRUCT.
jdconv | when true, allow julian day format |
str | string to be converted |
ds | output DATE_STRUCT |
Strings of the format 'YYYYMMDD' or 'YYYY-MM-DD' or 'YYYY/MM/DD' or 'MM/DD/YYYY' are converted to a DATE_STRUCT.
If the string looks like a floating point number, SQLite3's julian day format is assumed.
Definition at line 3170 of file sqlite3odbc.c.
References convJD2YMD(), getmdays(), ISDIGIT, and ln_strtod().
Referenced by getrowdata().
|
static |
Convert string to ODBC TIME_STRUCT.
jdconv | when true, allow julian day format |
str | string to be converted |
ts | output TIME_STRUCT |
Strings of the format 'HHMMSS' or 'HH:MM:SS' are converted to a TIME_STRUCT.
If the string looks like a floating point number, SQLite3's julian day format is assumed.
Definition at line 3285 of file sqlite3odbc.c.
References convJD2HMS(), ISDIGIT, and ln_strtod().
Referenced by getrowdata().
|
static |
Convert string to ODBC TIMESTAMP_STRUCT.
jdconv | when true, allow julian day format |
str | string to be converted |
tss | output TIMESTAMP_STRUCT |
Strings of the format 'YYYYMMDDhhmmssff' or 'YYYY-MM-DD hh:mm:ss ff' or 'YYYY/MM/DD hh:mm:ss ff' or 'hh:mm:ss ff YYYY-MM-DD' are converted to a TIMESTAMP_STRUCT. The ISO8601 formats YYYY-MM-DDThh:mm:ss[.f]Z YYYY-MM-DDThh:mm:ss[.f]shh:mm are also supported. In case a time zone field is present, the resulting TIMESTAMP_STRUCT is expressed in UTC.
If the string looks like a floating point number, SQLite3's julian day format is assumed.
Definition at line 3406 of file sqlite3odbc.c.
References convJD2HMS(), convJD2YMD(), getmdays(), ISDIGIT, and ln_strtod().
Referenced by getrowdata().
|
static |
Duplicate string using xmalloc().
str | string to be duplicated |
Definition at line 616 of file sqlite3odbc.c.
References xmalloc.
|
static |
Definition at line 550 of file sqlite3odbc.c.
References lower_chars, and upper_chars.
Referenced by drvtables(), mapsqltype(), and namematch().
|
static |
Helper function to sort type information.
Callback for qsort().
a | first item to compare |
b | second item to compare |
Definition at line 15860 of file sqlite3odbc.c.
Referenced by drvgettypeinfo().
|
static |
Free converted UTF8 or UNICODE string.
str | string to be free'd |
Definition at line 1046 of file sqlite3odbc.c.
References xfree.
Referenced by blob_export(), blob_import(), dbopen(), drvconnect(), drvputdata(), getrowdata(), setposbind(), SQLColumnsW(), SQLConnectW(), SQLDescribeColW(), SQLForeignKeysW(), SQLGetConnectAttrW(), SQLGetCursorNameW(), SQLGetDiagFieldW(), SQLGetDiagRecW(), SQLGetInfoW(), SQLPrimaryKeysW(), SQLSetCursorNameW(), SQLSpecialColumnsW(), SQLStatisticsW(), SQLTablePrivilegesW(), and SQLTablesW().
|
static |
Make UNICODE string from UTF8 string.
str | UTF8 string to be converted |
len | length of UTF8 string |
Definition at line 932 of file sqlite3odbc.c.
References uc_from_utf_buf(), and xmalloc.
Referenced by getrowdata(), SQLDescribeColW(), SQLGetConnectAttrW(), SQLGetCursorNameW(), SQLGetDiagFieldW(), SQLGetDiagRecW(), and SQLGetInfoW().
|
static |
Make UNICODE string from UTF8 string into buffer.
str | UTF8 string to be converted |
len | length in characters of str or -1 |
uc | destination area to receive UNICODE string |
ucLen | byte length of destination area |
Definition at line 848 of file sqlite3odbc.c.
Referenced by SQLGetDiagRecW(), and uc_from_utf().
|
static |
Return length of UNICODE string.
str | UNICODE string |
Definition at line 800 of file sqlite3odbc.c.
Referenced by getrowdata(), setupparam(), SQLDescribeColW(), SQLGetConnectAttrW(), SQLGetCursorNameW(), SQLGetDiagFieldW(), SQLGetDiagRecW(), SQLGetInfoW(), SQLNativeSqlW(), and uc_to_utf().
|
static |
Copy UNICODE string like strncpy().
dest | destination area |
src | source area |
len | length of source area in characters |
Definition at line 822 of file sqlite3odbc.c.
Referenced by getrowdata(), SQLDescribeColW(), SQLGetConnectAttrW(), SQLGetCursorNameW(), SQLGetDiagFieldW(), SQLGetDiagRecW(), SQLGetInfoW(), and SQLNativeSqlW().
|
static |
Make UTF8 string from UNICODE string.
str | UNICODE string to be converted |
len | length of UNICODE string in bytes |
Definition at line 958 of file sqlite3odbc.c.
References uc_strlen(), and xmalloc.
Referenced by drvputdata(), setposbind(), setupparam(), and uc_to_utf_c().
|
static |
Make UTF8 string from UNICODE string.
str | UNICODE string to be converted |
len | length of UNICODE string in characters |
Definition at line 1028 of file sqlite3odbc.c.
References uc_to_utf().
Referenced by SQLColumnsW(), SQLConnectW(), SQLForeignKeysW(), SQLPrimaryKeysW(), SQLSetCursorNameW(), SQLSpecialColumnsW(), SQLStatisticsW(), SQLTablePrivilegesW(), and SQLTablesW().
|
static |
Reset bound columns to unbound state.
s | statement pointer |
Definition at line 13987 of file sqlite3odbc.c.
References stmt::bindcols, BINDCOL::index, BINDCOL::lenp, BINDCOL::max, stmt::nbindcols, BINDCOL::offs, BINDCOL::type, and BINDCOL::valp.
Referenced by drvfreestmt(), and mkbindcols().
|
static |
Unescape search pattern for e.g.
table name in catalog functions. Replacements in string are done in-place.
str | string |
Definition at line 1910 of file sqlite3odbc.c.
Referenced by drvcolumns(), drvprimarykeys(), drvspecialcolumns(), drvstatistics(), drvtableprivileges(), and drvtables().
|
static |
Strip quotes from quoted string in-place.
str | string |
Definition at line 1883 of file sqlite3odbc.c.
Referenced by drvcolumns(), and drvforeignkeys().
|
static |
Columns for result set of SQLColumnPrivileges().
Definition at line 6563 of file sqlite3odbc.c.
Referenced by SQLColumnPrivilegesW().
|
static |
Definition at line 6573 of file sqlite3odbc.c.
Referenced by SQLColumnPrivilegesW().
|
static |
Columns for result set of SQLColumns().
Definition at line 15142 of file sqlite3odbc.c.
Referenced by drvcolumns().
|
static |
Definition at line 15163 of file sqlite3odbc.c.
Referenced by drvcolumns().
|
static |
Definition at line 566 of file sqlite3odbc.c.
|
static |
Columns for result set of SQLForeignKeys().
Definition at line 7497 of file sqlite3odbc.c.
Referenced by drvforeignkeys().
|
static |
Definition at line 7514 of file sqlite3odbc.c.
Referenced by drvforeignkeys().
|
static |
Definition at line 547 of file sqlite3odbc.c.
Referenced by TOLOWER().
|
static |
Columns for result set of SQLPrimaryKeys().
Definition at line 6653 of file sqlite3odbc.c.
Referenced by drvprimarykeys().
|
static |
Definition at line 6662 of file sqlite3odbc.c.
Referenced by drvprimarykeys().
|
static |
Columns for result set of SQLProcedureColumns().
Definition at line 8503 of file sqlite3odbc.c.
Referenced by SQLProcedureColumnsW().
|
static |
Definition at line 8525 of file sqlite3odbc.c.
Referenced by SQLProcedureColumnsW().
|
static |
Columns for result set of SQLProcedures().
Definition at line 8419 of file sqlite3odbc.c.
Referenced by SQLProceduresW().
|
static |
Definition at line 8430 of file sqlite3odbc.c.
Referenced by SQLProceduresW().
|
static |
Columns for result set of SQLSpecialColumns().
Definition at line 7057 of file sqlite3odbc.c.
Referenced by drvspecialcolumns().
|
static |
Definition at line 7069 of file sqlite3odbc.c.
Referenced by drvspecialcolumns().
|
static |
Definition at line 575 of file sqlite3odbc.c.
|
static |
Columns for result set of SQLStatistics().
Definition at line 16113 of file sqlite3odbc.c.
Referenced by drvstatistics().
|
static |
Definition at line 16129 of file sqlite3odbc.c.
Referenced by drvstatistics().
|
static |
Columns for result set of SQLTablePrivileges().
Definition at line 6063 of file sqlite3odbc.c.
Referenced by drvtableprivileges().
|
static |
Definition at line 6073 of file sqlite3odbc.c.
Referenced by drvtableprivileges().
|
static |
Columns for result set of SQLTables().
Definition at line 14766 of file sqlite3odbc.c.
Referenced by drvtables().
|
static |
|
static |
Columns for result set of SQLGetTypeInfo().
Definition at line 15667 of file sqlite3odbc.c.
Referenced by drvgettypeinfo().
|
static |
Definition at line 15685 of file sqlite3odbc.c.
Referenced by drvgettypeinfo().
|
static |
Definition at line 546 of file sqlite3odbc.c.
Referenced by TOLOWER().
|
static |
Definition at line 279 of file sqlite3odbc.c.
Referenced by drvgettable_row(), getrowdata(), quote_csv_func(), quote_func(), quote_xml_func(), quote_xml_str(), and s3stmt_step().