/ Check-in [791d7093]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a build problem around sqlite3_overload_function. Only affects so/dll builds. (CVS 3435)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:791d70936b9c4fed57c95f61e3b4dfdd24221ee4
User & Date: shess 2006-09-22 23:38:21
Context
2006-09-23
20:36
Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) check-in: dc797bf4 user: drh tags: trunk
2006-09-22
23:38
Fix a build problem around sqlite3_overload_function. Only affects so/dll builds. (CVS 3435) check-in: 791d7093 user: shess tags: trunk
00:06
Implemented UPDATE for full-text tables.

We handle an UPDATE to a row by performing an UPDATE on the content table and by building new position lists for each term which appears in either the old or new versions of the row. We write these position lists all at once; this is presumably more efficient than a delete followed by an insert (which would first write empty position lists, then new position lists). (CVS 3434) check-in: 757fa224 user: adamd tags: trunk

Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/loadext.c.

   210    210     ** The original API set ends here.  All extensions can call any
   211    211     ** of the APIs above provided that the pointer is not NULL.  But
   212    212     ** before calling APIs that follow, extension should check the
   213    213     ** sqlite3_libversion_number() to make sure they are dealing with
   214    214     ** a library that is new enough to support that API.
   215    215     *************************************************************************
   216    216     */
          217  +  sqlite3_overload_function,
   217    218   };
   218    219   
   219    220   /*
   220    221   ** The windows implementation of shared-library loaders
   221    222   */
   222    223   #if defined(_WIN32) || defined(WIN32) || defined(__MINGW32__) || defined(__BORLANDC__)
   223    224   # include <windows.h>

Changes to src/sqlite3ext.h.

    11     11   *************************************************************************
    12     12   ** This header file defines the SQLite interface for use by
    13     13   ** shared libraries that want to be imported as extensions into
    14     14   ** an SQLite instance.  Shared libraries that intend to be loaded
    15     15   ** as extensions by SQLite should #include this file instead of 
    16     16   ** sqlite3.h.
    17     17   **
    18         -** @(#) $Id: sqlite3ext.h,v 1.6 2006/08/15 14:21:16 drh Exp $
           18  +** @(#) $Id: sqlite3ext.h,v 1.7 2006/09/22 23:38:21 shess Exp $
    19     19   */
    20     20   #ifndef _SQLITE3EXT_H_
    21     21   #define _SQLITE3EXT_H_
    22     22   #include "sqlite3.h"
    23     23   
    24     24   typedef struct sqlite3_api_routines sqlite3_api_routines;
    25     25   
................................................................................
   139    139     int  (*value_numeric_type)(sqlite3_value*);
   140    140     const unsigned char * (*value_text)(sqlite3_value*);
   141    141     const void * (*value_text16)(sqlite3_value*);
   142    142     const void * (*value_text16be)(sqlite3_value*);
   143    143     const void * (*value_text16le)(sqlite3_value*);
   144    144     int  (*value_type)(sqlite3_value*);
   145    145     char * (*vmprintf)(const char*,va_list);
          146  +  int (*overload_function)(sqlite3*, const char *zFuncName, int nArg);
   146    147   };
   147    148   
   148    149   /*
   149    150   ** The following macros redefine the API routines so that they are
   150    151   ** redirected throught the global sqlite3_api structure.
   151    152   **
   152    153   ** This header file is also used by the loadext.c source file
................................................................................
   268    269   #define sqlite3_value_numeric_type     sqlite3_api->value_numeric_type
   269    270   #define sqlite3_value_text             sqlite3_api->value_text
   270    271   #define sqlite3_value_text16           sqlite3_api->value_text16
   271    272   #define sqlite3_value_text16be         sqlite3_api->value_text16be
   272    273   #define sqlite3_value_text16le         sqlite3_api->value_text16le
   273    274   #define sqlite3_value_type             sqlite3_api->value_type
   274    275   #define sqlite3_vmprintf               sqlite3_api->vmprintf
          276  +#define sqlite3_overload_function      sqlite3_api->overload_function
   275    277   #endif /* SQLITE_CORE */
   276    278   
   277    279   #define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api;
   278    280   #define SQLITE_EXTENSION_INIT2(v)  sqlite3_api = v;
   279    281   
   280    282   #endif /* _SQLITE3EXT_H_ */