aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-01-24 15:07:37 +0000
committerdrh <drh@noemail.net>2018-01-24 15:07:37 +0000
commitfe875027d7e03a649efe1aa35c47034a5b88fbd7 (patch)
treeb0da4595e7ff3d263ef82d31110a2868bf5f814f /src
parenta8519d79b953b4249de75781d11f0cf4aafb57a1 (diff)
parent91694dbdd2e9d30c79153922310fe52c7a894d31 (diff)
downloadsqlite-fe875027d7e03a649efe1aa35c47034a5b88fbd7.tar.gz
sqlite-fe875027d7e03a649efe1aa35c47034a5b88fbd7.zip
Add the normalize.c extension.
FossilOrigin-Name: 16ebe558d2f0982f630c39b6c1b00d14d27011d454cced213f17c26491a2c06e
Diffstat (limited to 'src')
-rw-r--r--src/test1.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test1.c b/src/test1.c
index 55d92eb1f..bc8f389db 100644
--- a/src/test1.c
+++ b/src/test1.c
@@ -4560,6 +4560,35 @@ static int SQLITE_TCLAPI test_complete16(
}
/*
+** Usage: sqlite3_normalize SQL
+**
+** Return the normalized value for an SQL statement.
+*/
+static int SQLITE_TCLAPI test_normalize(
+ void * clientData,
+ Tcl_Interp *interp,
+ int objc,
+ Tcl_Obj *CONST objv[]
+){
+ char *zSql;
+ char *zNorm;
+ extern char *sqlite3_normalize(const char*);
+
+ if( objc!=2 ){
+ Tcl_WrongNumArgs(interp, 1, objv, "SQL");
+ return TCL_ERROR;
+ }
+
+ zSql = (char*)Tcl_GetString(objv[1]);
+ zNorm = sqlite3_normalize(zSql);
+ if( zNorm ){
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(zNorm, -1));
+ sqlite3_free(zNorm);
+ }
+ return TCL_OK;
+}
+
+/*
** Usage: sqlite3_step STMT
**
** Advance the statement to the next row.
@@ -7547,6 +7576,7 @@ int Sqlitetest1_Init(Tcl_Interp *interp){
{ "sqlite3_open16", test_open16 ,0 },
{ "sqlite3_open_v2", test_open_v2 ,0 },
{ "sqlite3_complete16", test_complete16 ,0 },
+ { "sqlite3_normalize", test_normalize ,0 },
{ "sqlite3_prepare", test_prepare ,0 },
{ "sqlite3_prepare16", test_prepare16 ,0 },