]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove the iCollate argument from sqlite3_create_function() (CVS 1632)
authordanielk1977 <danielk1977@noemail.net>
Sat, 19 Jun 2004 08:18:07 +0000 (08:18 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Sat, 19 Jun 2004 08:18:07 +0000 (08:18 +0000)
FossilOrigin-Name: 728d57ff5517a51c3aad4ba95525b1aa2065bd19

manifest
manifest.uuid
src/date.c
src/func.c
src/main.c
src/md5.c
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/test1.c
www/capi3ref.tcl

index 2496fb81794112902f6c5ae5a48242f0a930ce38..54d89e6e737fcfab84dcd4b41fd198c84d0c3e5c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Update\ssqlite3_close()\sAPI\sto\smatch\sdocumentation.\s(CVS\s1630)
-D 2004-06-19T03:33:57
+C Remove\sthe\siCollate\sargument\sfrom\ssqlite3_create_function()\s(CVS\s1632)
+D 2004-06-19T08:18:08
 F Makefile.in d69d53c543518c1572ee0a8e8723d7e00bdb2266
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -29,17 +29,17 @@ F src/auth.c 204e1e9c45e64315589bc8b62cba5d9de29b6a3c
 F src/btree.c 0cf8a52a57a7eb13d50719114ee1fa353e89d7d3
 F src/btree.h 32f96abef464cf8765b23ca669acfe90d191fcc5
 F src/build.c 239bd93949db1ddc277f26c27e0d613ff5fe16c7
-F src/date.c 65b483caeb0e4dd663667d2f927caa058168ebff
+F src/date.c b3e8b2bef1e3f2ce24e5b057203036defb18c3f1
 F src/delete.c a5191011b7429dff939df631b8bdcc1714b8d7aa
 F src/encode.c a876af473d1d636faa3dca51c7571f2e007eea37
 F src/expr.c 01cdf6a632ff66acfff667932c41bb79d18d5077
-F src/func.c 1959a0c2f5328b2b9934620f9492964f080f4a71
+F src/func.c b7a8b55200d34bf01fe2a52462db27399f291777
 F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
 F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
 F src/insert.c 1428887f4a7515a7d34e82aaeb76297c79ba378b
 F src/legacy.c ad23746f15f67e34577621b1875f639c94839e1f
-F src/main.c 54ce5c19d64dd41381f92fa5e4610d9408c9b9a3
-F src/md5.c d77a389955759c8329bb357e3d71bac3d6eb710b
+F src/main.c 5dc5012e1098a2b05decbdbc504815024737e436
+F src/md5.c 7ae1c39044b95de2f62e066f47bb1deb880a1070
 F src/os.h 1cb5f0293a30288451fe3c0c73815cf208212ed1
 F src/os_common.h ba1b7306e16e2091718f2c48db0fe6c1d7a31bb8
 F src/os_mac.c 3d31e26be1411acfb7961033098631b4f3486fdf
@@ -56,11 +56,11 @@ F src/printf.c 823b6a5cbedb6971a9e62f5d83204fe9b0be7c1b
 F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3
 F src/select.c 91570af7f13d1c5584f3b711676e1226ee12194e
 F src/shell.c ca519519dcbbc582f6d88f7d0e7583b857fd3469
-F src/sqlite.h.in 70091409ee7013dc06f8750ca142389b61227e30
-F src/sqliteInt.h 9cd659c9c23a6b9fa9a4dc1731994d90d8ccdaf7
+F src/sqlite.h.in c34414b9f5330f875e26a69fe685e38ca45f11b9
+F src/sqliteInt.h b01c438b31132816d8a4167a45c8b7dab4ff79d4
 F src/table.c af14284fa36c8d41f6829e3f2819dce07d3e2de2
-F src/tclsqlite.c 16a56baa1294cbea3cbc3131d71e7881cdee1d67
-F src/test1.c 19858f61aa20a054611131c28bce21bed88f972e
+F src/tclsqlite.c ddef9b18271fb46344d3d35446bd7c001465a69a
+F src/test1.c ee426e026ad9223483e7a84bb68849fc6e9f542e
 F src/test2.c db0a0c30b59f1639cb8c2572be06439402833cc8
 F src/test3.c 7247090d15a5a43823079b6fd8dad1ed3cccdedf
 F src/test4.c a921a69821fd30209589228e64f94e9f715b6fe2
@@ -194,7 +194,7 @@ F www/arch2.gif 49c6bb36160f03ca2b89eaa5bfb1f560c7d68ee7
 F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0
 F www/c_interface.tcl 2176519fc2bd2d2cf6fe74fd806fc2d8362de2c8
 F www/capi3.tcl af6938cc417fe323d7570b95d2e9a019bbff637e
-F www/capi3ref.tcl 68a03fa5c15f01d04fbb073f8153078f1ba6f672
+F www/capi3ref.tcl ae6c0ed88f601119c15de964b7b4b2f8c9b05831
 F www/changes.tcl 4d75f4c2a8bba2bb26b0fd4f3a48999e06b4025f
 F www/common.tcl f786e6be86fb2627ceb30e770e9efa83b9c67a3a
 F www/conflict.tcl fb8a2ba83746c7fdfd9e52fa7f6aaf5c422b8246
@@ -225,7 +225,7 @@ F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075
 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
 F www/version3.tcl af528563442e3039928f9018327a18157e53a44f
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 327780ade9ac99470018320218f39fbbc8f21837
-R 078ac56f136c6acfadf7a29732ae01f0
+P 61819740fe8916892afe502196bb8b75a51f81e8
+R cb771500bef1e49c485d208778df70b7
 U danielk1977
-Z 6a0040126724f15aa7fc1543066e7d58
+Z c1b577fd5952e65f94f6b53a7096295b
index d3e599a4283f0471c7aff119edf2957e948897b9..b6b10c134b234f0fcf8c44e70aca184d79cfce97 100644 (file)
@@ -1 +1 @@
-61819740fe8916892afe502196bb8b75a51f81e8
\ No newline at end of file
+728d57ff5517a51c3aad4ba95525b1aa2065bd19
\ No newline at end of file
index e2c502bc18205cf8fa73d0f8123bb6032a27e07d..208d0a78d9b78ddf9ffc41388960b38d589f6805 100644 (file)
@@ -16,7 +16,7 @@
 ** sqlite3RegisterDateTimeFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: date.c,v 1.29 2004/06/12 09:25:14 danielk1977 Exp $
+** $Id: date.c,v 1.30 2004/06/19 08:18:08 danielk1977 Exp $
 **
 ** NOTES:
 **
@@ -886,6 +886,6 @@ void sqlite3RegisterDateTimeFunctions(sqlite *db){
 
   for(i=0; i<sizeof(aFuncs)/sizeof(aFuncs[0]); i++){
     sqlite3_create_function(db, aFuncs[i].zName, aFuncs[i].nArg,
-        SQLITE_UTF8, 0, 0, aFuncs[i].xFunc, 0, 0);
+        SQLITE_UTF8, 0, aFuncs[i].xFunc, 0, 0);
   }
 }
index 015b200702f0de8d9f35fcc77a2297c934640abc..29ab4404dbe14d731646d84d60b92f30f62c1d59 100644 (file)
@@ -16,7 +16,7 @@
 ** sqliteRegisterBuildinFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: func.c,v 1.71 2004/06/17 05:36:44 danielk1977 Exp $
+** $Id: func.c,v 1.72 2004/06/19 08:18:09 danielk1977 Exp $
 */
 #include <ctype.h>
 #include <math.h>
@@ -1066,7 +1066,7 @@ void sqlite3RegisterBuiltinFunctions(sqlite *db){
       case 2: pArg = (void *)(-1); break;
     }
     sqlite3_create_function(db, aFuncs[i].zName, aFuncs[i].nArg,
-        aFuncs[i].eTextRep, 0, pArg, aFuncs[i].xFunc, 0, 0);
+        aFuncs[i].eTextRep, pArg, aFuncs[i].xFunc, 0, 0);
     if( aFuncs[i].needCollSeq ){
       FuncDef *pFunc = sqlite3FindFunction(db, aFuncs[i].zName, 
           strlen(aFuncs[i].zName), aFuncs[i].nArg, aFuncs[i].eTextRep, 0);
@@ -1082,7 +1082,7 @@ void sqlite3RegisterBuiltinFunctions(sqlite *db){
       case 2: pArg = (void *)(-1); break;
     }
     sqlite3_create_function(db, aAggs[i].zName, aAggs[i].nArg, SQLITE_UTF8, 
-        0, pArg, 0, aAggs[i].xStep, aAggs[i].xFinalize);
+        pArg, 0, aAggs[i].xStep, aAggs[i].xFinalize);
     if( aAggs[i].needCollSeq ){
       FuncDef *pFunc = sqlite3FindFunction( db, aAggs[i].zName,
           strlen(aAggs[i].zName), aAggs[i].nArg, SQLITE_UTF8, 0);
index 62d5c0a882bea0f24365ebb55196cef09bd4dd2b..797702f17b3d81a4176f1e91c3e3f7414e0dccce 100644 (file)
@@ -14,7 +14,7 @@
 ** other files are for internal use by SQLite and should not be
 ** accessed by users of the library.
 **
-** $Id: main.c,v 1.228 2004/06/19 03:33:57 danielk1977 Exp $
+** $Id: main.c,v 1.229 2004/06/19 08:18:12 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include "os.h"
@@ -626,13 +626,14 @@ static int sqliteDefaultBusyCallback(
 ** This routine sets the busy callback for an Sqlite database to the
 ** given callback function with the given argument.
 */
-void sqlite3_busy_handler(
-  sqlite *db,
+int sqlite3_busy_handler(
+  sqlite3 *db,
   int (*xBusy)(void*,int),
   void *pArg
 ){
   db->busyHandler.xFunc = xBusy;
   db->busyHandler.pArg = pArg;
+  return SQLITE_OK;
 }
 
 #ifndef SQLITE_OMIT_PROGRESS_CALLBACK
@@ -664,12 +665,13 @@ void sqlite3_progress_handler(
 ** This routine installs a default busy handler that waits for the
 ** specified number of milliseconds before returning 0.
 */
-void sqlite3_busy_timeout(sqlite *db, int ms){
+int sqlite3_busy_timeout(sqlite3 *db, int ms){
   if( ms>0 ){
     sqlite3_busy_handler(db, sqliteDefaultBusyCallback, (void*)ms);
   }else{
     sqlite3_busy_handler(db, 0, 0);
   }
+  return SQLITE_OK;
 }
 
 /*
@@ -699,7 +701,6 @@ int sqlite3_create_function(
   const char *zFunctionName,
   int nArg,
   int enc,
-  int iCollateArg,
   void *pUserData,
   void (*xFunc)(sqlite3_context*,int,sqlite3_value **),
   void (*xStep)(sqlite3_context*,int,sqlite3_value **),
@@ -729,10 +730,10 @@ int sqlite3_create_function(
   }else if( enc==SQLITE_ANY ){
     int rc;
     rc = sqlite3_create_function(db, zFunctionName, nArg, SQLITE_UTF8,
-        iCollateArg, pUserData, xFunc, xStep, xFinal);
+         pUserData, xFunc, xStep, xFinal);
     if( rc!=SQLITE_OK ) return rc;
     rc = sqlite3_create_function(db, zFunctionName, nArg, SQLITE_UTF16LE,
-        iCollateArg, pUserData, xFunc, xStep, xFinal);
+        pUserData, xFunc, xStep, xFinal);
     if( rc!=SQLITE_OK ) return rc;
     enc = SQLITE_UTF16BE;
   }
@@ -750,7 +751,6 @@ int sqlite3_create_function16(
   const void *zFunctionName,
   int nArg,
   int eTextRep,
-  int iCollateArg,
   void *pUserData,
   void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
   void (*xStep)(sqlite3_context*,int,sqlite3_value**),
@@ -767,7 +767,7 @@ int sqlite3_create_function16(
     return SQLITE_NOMEM;
   }
   rc = sqlite3_create_function(db, zFunc8, nArg, eTextRep, 
-      iCollateArg, pUserData, xFunc, xStep, xFinal);
+      pUserData, xFunc, xStep, xFinal);
   return rc;
 }
 
@@ -1282,7 +1282,6 @@ int sqlite3_create_collation16(
   void* pCtx,
   int(*xCompare)(void*,int,const void*,int,const void*)
 ){
-  int rc;
   char const *zName8;
   sqlite3_value *pTmp = sqlite3GetTransientValue(db);
   sqlite3ValueSetStr(pTmp, -1, zName, SQLITE_UTF16NATIVE, SQLITE_STATIC);
index 91d1051c82e46afeff9d941c0e56bfdf705de10a..32fcb6b68014ca0747f960a473080f5e05c6b790 100644 (file)
--- a/src/md5.c
+++ b/src/md5.c
@@ -381,7 +381,7 @@ static void md5finalize(sqlite3_context *context){
   DigestToBase16(digest, zBuf);
   sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);
 }
-void Md5_Register(sqlite *db){
-  sqlite3_create_function(db, "md5sum", -1, SQLITE_UTF8, 0, 0, 0, 
+void Md5_Register(sqlite3 *db){
+  sqlite3_create_function(db, "md5sum", -1, SQLITE_UTF8, 0, 0, 
       md5step, md5finalize);
 }
index 4bbb2ed9ea7f56e05f124266fc36e6f5105867db..29f6d487844983f1be14f93a93a32cb6c2ee1928 100644 (file)
@@ -12,7 +12,7 @@
 ** This header file defines the interface that the SQLite library
 ** presents to client programs.
 **
-** @(#) $Id: sqlite.h.in,v 1.103 2004/06/19 03:33:57 danielk1977 Exp $
+** @(#) $Id: sqlite.h.in,v 1.104 2004/06/19 08:18:16 danielk1977 Exp $
 */
 #ifndef _SQLITE_H_
 #define _SQLITE_H_
@@ -41,7 +41,6 @@ extern const char sqlite3_version[];
 ** Each open sqlite database is represented by an instance of the
 ** following opaque structure.
 */
-typedef struct sqlite sqlite;
 typedef struct sqlite sqlite3;
 
 
@@ -56,7 +55,7 @@ typedef struct sqlite sqlite3;
 ** this routine is called. Otherwise, SQLITE_BUSY is returned and the
 ** database connection remains open.
 */
-int sqlite3_close(sqlite *);
+int sqlite3_close(sqlite3 *);
 
 /*
 ** The type for a callback function.
@@ -104,7 +103,7 @@ typedef int (*sqlite_callback)(void*,int,char**, char**);
 ** and sqlite3_busy_timeout() functions below.)
 */
 int sqlite3_exec(
-  sqlite*,                      /* An open database */
+  sqlite3*,                      /* An open database */
   const char *sql,              /* SQL to be executed */
   sqlite_callback,              /* Callback function */
   void *,                       /* 1st argument to callback function */
@@ -153,7 +152,7 @@ int sqlite3_exec(
 **
 ** This function is similar to the mysql_insert_id() function from MySQL.
 */
-long long int sqlite3_last_insert_rowid(sqlite*);
+long long int sqlite3_last_insert_rowid(sqlite3*);
 
 /*
 ** This function returns the number of database rows that were changed
@@ -175,7 +174,7 @@ long long int sqlite3_last_insert_rowid(sqlite*);
 ** table. To get an accurate count of the number of rows deleted, use
 ** "DELETE FROM table WHERE 1" instead.
 */
-int sqlite3_changes(sqlite*);
+int sqlite3_changes(sqlite3*);
 
 /*
 ** This function returns the number of database rows that were changed
@@ -201,7 +200,7 @@ int sqlite3_changes(sqlite*);
 **
 ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ******
 */
-int sqlite3_last_statement_changes(sqlite*);
+int sqlite3_last_statement_changes(sqlite3*);
 
 /* This function causes any pending database operation to abort and
 ** return at its earliest opportunity.  This routine is typically
@@ -209,7 +208,7 @@ int sqlite3_last_statement_changes(sqlite*);
 ** or Ctrl-C where the user wants a long query operation to halt
 ** immediately.
 */
-void sqlite3_interrupt(sqlite*);
+void sqlite3_interrupt(sqlite3*);
 
 
 /* These functions return true if the given input string comprises
@@ -247,7 +246,7 @@ int sqlite3_complete16(const void *sql);
 ** data structures out from under the executing query and will 
 ** probably result in a coredump.
 */
-void sqlite3_busy_handler(sqlite*, int(*)(void*,int), void*);
+int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
 
 /*
 ** This routine sets a busy handler that sleeps for a while when a
@@ -259,7 +258,7 @@ void sqlite3_busy_handler(sqlite*, int(*)(void*,int), void*);
 ** Calling this routine with an argument less than or equal to zero
 ** turns off all busy handlers.
 */
-void sqlite3_busy_timeout(sqlite*, int ms);
+int sqlite3_busy_timeout(sqlite3*, int ms);
 
 /*
 ** This next routine is really just a wrapper around sqlite3_exec().
@@ -303,7 +302,7 @@ void sqlite3_busy_timeout(sqlite*, int ms);
 ** The return value of this routine is the same as from sqlite3_exec().
 */
 int sqlite3_get_table(
-  sqlite*,               /* An open database */
+  sqlite3*,               /* An open database */
   const char *sql,       /* SQL to be executed */
   char ***resultp,       /* Result written to a char *[]  that this points to */
   int *nrow,             /* Number of result rows written here */
@@ -369,7 +368,7 @@ void sqlite3_free(char *z);
 ** if the column should be treated as a NULL value.
 */
 int sqlite3_set_authorizer(
-  sqlite*,
+  sqlite3*,
   int (*xAuth)(void*,int,const char*,const char*,const char*,const char*),
   void *pUserData
 );
@@ -428,7 +427,7 @@ int sqlite3_set_authorizer(
 ** or sqlite3_prepare().  This function can be used (for example) to generate
 ** a log file of all SQL executed against a database.
 */
-void *sqlite3_trace(sqlite*, void(*xTrace)(void*,const char*), void*);
+void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
 
 /*
 ** This routine configures a callback function - the progress callback - that
@@ -456,7 +455,7 @@ void *sqlite3_trace(sqlite*, void(*xTrace)(void*,const char*), void*);
 **
 ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ******
 */
-void sqlite3_progress_handler(sqlite*, int, int(*)(void*), void*);
+void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
 
 /*
 ** Register a callback function to be invoked whenever a new transaction
@@ -471,7 +470,7 @@ void sqlite3_progress_handler(sqlite*, int, int(*)(void*), void*);
 **
 ******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ******
 */
-void *sqlite3_commit_hook(sqlite*, int(*)(void*), void*);
+void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*);
 
 /*
 ** Open the sqlite database file "filename".  The "filename" is UTF-8
@@ -861,7 +860,6 @@ int sqlite3_create_function(
   const char *zFunctionName,
   int nArg,
   int eTextRep,
-  int iCollateArg,
   void*,
   void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
   void (*xStep)(sqlite3_context*,int,sqlite3_value**),
@@ -872,7 +870,6 @@ int sqlite3_create_function16(
   const void *zFunctionName,
   int nArg,
   int eTextRep,
-  int iCollateArg,
   void*,
   void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
   void (*xStep)(sqlite3_context*,int,sqlite3_value**),
index e714dd6902fed6220c389d70f141d113acc1a72d..87d1fba8b275ade28114dd5e96a0b2bf0ed27d63 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** Internal interface definitions for SQLite.
 **
-** @(#) $Id: sqliteInt.h,v 1.290 2004/06/19 03:33:57 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.291 2004/06/19 08:18:19 danielk1977 Exp $
 */
 #include "config.h"
 #include "sqlite3.h"
@@ -138,6 +138,8 @@ extern const int sqlite3one;
 #define SQLITE_BIGENDIAN    (*(char *)(&sqlite3one)==0)
 #define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
 
+typedef struct sqlite sqlite;
+
 /*
 ** Defer sourcing vdbe.h until after the "u8" typedef is defined.
 */
@@ -273,7 +275,6 @@ typedef struct CollSeq CollSeq;
 typedef struct KeyInfo KeyInfo;
 typedef struct BusyHandler BusyHandler;
 
-
 /*
 ** Each database file to be accessed by the system is an instance
 ** of the following structure.  There are normally two of these structures
index c45757320784789c0caff0826bcee4e891731084..5c033ee1f037f5147e5207b0f82de814dc0cc690 100644 (file)
@@ -11,7 +11,7 @@
 *************************************************************************
 ** A TCL Interface to SQLite
 **
-** $Id: tclsqlite.c,v 1.88 2004/06/19 00:16:31 drh Exp $
+** $Id: tclsqlite.c,v 1.89 2004/06/19 08:18:21 danielk1977 Exp $
 */
 #ifndef NO_TCL     /* Omit this whole file if TCL is unavailable */
 
@@ -785,7 +785,7 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
     pFunc->pNext = pDb->pFunc;
     pFunc->zScript = (char*)&pFunc[1];
     strcpy(pFunc->zScript, zScript);
-    sqlite3_create_function(pDb->db, zName, -1, SQLITE_UTF8, 0, 
+    sqlite3_create_function(pDb->db, zName, -1, SQLITE_UTF8,
         pFunc, tclSqlFunc, 0, 0);
     break;
   }
index 6e37512181d9c8e39776270886d64f2690ce5471..ec695751203d4e1cb24bdbcdfa98d6d0cedc41c7 100644 (file)
@@ -13,7 +13,7 @@
 ** is not included in the SQLite library.  It is used for automated
 ** testing of the SQLite library.
 **
-** $Id: test1.c,v 1.79 2004/06/19 03:33:57 danielk1977 Exp $
+** $Id: test1.c,v 1.80 2004/06/19 08:18:23 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include "tcl.h"
@@ -331,7 +331,7 @@ static int sqlite_test_close(
   }
   if( getDbPointer(interp, argv[1], &db) ) return TCL_ERROR;
   rc = sqlite3_close(db);
-  Tcl_SetResult(interp, errorName(rc), TCL_STATIC);
+  Tcl_SetResult(interp, (char *)errorName(rc), TCL_STATIC);
   return TCL_OK;
 }
 
@@ -452,9 +452,9 @@ static int test_create_function(
     return TCL_ERROR;
   }
   if( getDbPointer(interp, argv[1], &db) ) return TCL_ERROR;
-  sqlite3_create_function(db, "x_coalesce", -1, SQLITE_UTF8, 0, 0, 
+  sqlite3_create_function(db, "x_coalesce", -1, SQLITE_UTF8, 0, 
       ifnullFunc, 0, 0);
-  sqlite3_create_function(db, "x_sqlite3_exec", 1, SQLITE_UTF8, 0, db,
+  sqlite3_create_function(db, "x_sqlite3_exec", 1, SQLITE_UTF8, db,
       sqlite3ExecFunc, 0, 0);
   return TCL_OK;
 }
@@ -503,9 +503,9 @@ static int test_create_aggregate(
     return TCL_ERROR;
   }
   if( getDbPointer(interp, argv[1], &db) ) return TCL_ERROR;
-  sqlite3_create_function(db, "x_count", 0, SQLITE_UTF8, 0, 0, 0,
+  sqlite3_create_function(db, "x_count", 0, SQLITE_UTF8, 0, 0,
       countStep,countFinalize);
-  sqlite3_create_function(db, "x_count", 1, SQLITE_UTF8, 0, 0, 0,
+  sqlite3_create_function(db, "x_count", 1, SQLITE_UTF8, 0, 0,
       countStep,countFinalize);
   return TCL_OK;
 }
@@ -742,7 +742,7 @@ static int test_register_func(
     return TCL_ERROR;
   }
   if( getDbPointer(interp, argv[1], &db) ) return TCL_ERROR;
-  rc = sqlite3_create_function(db, argv[2], -1, SQLITE_UTF8, 0, 0, 
+  rc = sqlite3_create_function(db, argv[2], -1, SQLITE_UTF8, 0, 
       testFunc, 0, 0);
   if( rc!=0 ){
     Tcl_AppendResult(interp, sqlite3ErrStr(rc), 0);
index 723aff78d387fc3d1283ae6e878e42bf93a3b5ed..4678b78f0892ba229e6db29861f6ab2b3a48902d 100644 (file)
@@ -1,4 +1,4 @@
-set rcsid {$Id: capi3ref.tcl,v 1.4 2004/06/17 19:04:17 drh Exp $}
+set rcsid {$Id: capi3ref.tcl,v 1.5 2004/06/19 08:18:27 danielk1977 Exp $}
 source common.tcl
 header {C/C++ Interface For SQLite Version 3}
 puts {
@@ -95,7 +95,7 @@ api {} {
  special value SQLITE_STATIC, then the library assumes that the information
  is in static, unmanaged space and does not need to be freed.  If the
  fifth argument has the value SQLITE_TRANSIENT, then SQLite makes its
- on private copy of the data.
+ own private copy of the data.
 
  The sqlite3_bind_*() routine must be called after
  sqlite3_prepare() or sqlite3_reset() and before sqlite3_step().