Adding the sqlite sourcecode
This commit is contained in:
1 parent
bdb54a1f8f
commit
406b584760
2208 files changed
+1172785
-1
No files matched your search
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
** Read an SQLite database file and analyze its space utilization. Generate
|
||||
** text on standard output.
|
||||
*/
|
||||
#define TCLSH_INIT_PROC sqlite3_analyzer_init_proc
|
||||
IFDEF INCLUDE_SQLITE3_C
|
||||
#undef SQLITE_ENABLE_DBSTAT_VTAB
|
||||
#define SQLITE_ENABLE_DBSTAT_VTAB 1
|
||||
#undef SQLITE_THREADSAFE
|
||||
#define SQLITE_THREADSAFE 0
|
||||
#undef SQLITE_ENABLE_COLUMN_METADATA
|
||||
#define SQLITE_OMIT_DECLTYPE 1
|
||||
#define SQLITE_OMIT_DEPRECATED 1
|
||||
#define SQLITE_OMIT_PROGRESS_CALLBACK 1
|
||||
#define SQLITE_OMIT_SHARED_CACHE 1
|
||||
#define SQLITE_DEFAULT_MEMSTATUS 0
|
||||
#define SQLITE_MAX_EXPR_DEPTH 0
|
||||
#define SQLITE_OMIT_LOAD_EXTENSION 1
|
||||
INCLUDE sqlite3.c
|
||||
ELSE
|
||||
#include "sqlite3.h"
|
||||
ENDIF
|
||||
INCLUDE $ROOT/src/tclsqlite.c
|
||||
|
||||
#if defined(_WIN32)
|
||||
INCLUDE $ROOT/ext/misc/sqlite3_stdio.h
|
||||
INCLUDE $ROOT/ext/misc/sqlite3_stdio.c
|
||||
|
||||
/* Substitute "puts" command. Only these forms recognized:
|
||||
**
|
||||
** puts STRING
|
||||
** puts stderr STRING
|
||||
** puts -nonewline STRING
|
||||
*/
|
||||
static int subst_puts(
|
||||
void *NotUsed,
|
||||
Tcl_Interp *interp,
|
||||
int objc,
|
||||
Tcl_Obj *const*objv
|
||||
){
|
||||
FILE *pOut = stdout;
|
||||
const char *zOut;
|
||||
int addNewLine = 1;
|
||||
if( objc==2 ){
|
||||
zOut = Tcl_GetString(objv[1]);
|
||||
}else if( objc!=3 ){
|
||||
Tcl_WrongNumArgs(interp, 1, objv, "?stderr|-nonewline? STRING");
|
||||
return TCL_ERROR;
|
||||
}else{
|
||||
const char *zArg = Tcl_GetString(objv[1]);
|
||||
if( zArg==0 ) return TCL_ERROR;
|
||||
zOut = Tcl_GetString(objv[2]);
|
||||
if( strcmp(zArg, "stderr")==0 ){
|
||||
pOut = stderr;
|
||||
}else if( strcmp(zArg, "-nonewline")==0 ){
|
||||
addNewLine = 0;
|
||||
}else{
|
||||
Tcl_AppendResult(interp, "bad argument: ", zArg, NULL);
|
||||
return TCL_ERROR;
|
||||
}
|
||||
}
|
||||
sqlite3_fputs(zOut, pOut);
|
||||
if( addNewLine ) sqlite3_fputs("\n", pOut);
|
||||
fflush(pOut);
|
||||
return TCL_OK;
|
||||
}
|
||||
#endif /* defined(_WIN32) */
|
||||
|
||||
const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){
|
||||
#if defined(_WIN32)
|
||||
Tcl_CreateObjCommand(interp, "puts", subst_puts, 0, 0);
|
||||
#else
|
||||
(void)interp;
|
||||
#endif
|
||||
return
|
||||
BEGIN_STRING
|
||||
INCLUDE $ROOT/tool/spaceanal.tcl
|
||||
END_STRING
|
||||
;
|
||||
}
|
||||
Reference in new issue
Block a user