/ Check-in [20372906]
Login

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

Overview
Comment:Merge fixes from trunk.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | apple-osx
Files: files | file ages | folders
SHA3-256: 20372906cb236fde1cad0779217db408682a1f787d43ec7d2d3a5cc7d9f91ea3
User & Date: drh 2019-04-02 01:00:48
Context
2019-04-04
21:40
Merge all the latest changes and enhancements from trunk. check-in: 521d5186 user: drh tags: apple-osx
2019-04-02
01:00
Merge fixes from trunk. check-in: 20372906 user: drh tags: apple-osx
00:56
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in the MEM_TypeMask. This critical changes was omitted from the previous two check-ins by mistake, and so those check-ins are not fully functional. check-in: f7ba2daf user: drh tags: trunk
00:34
Merge enhancements from trunk. check-in: 0b35aebb user: drh tags: apple-osx
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/sqlite3ext.h.

   315    315                               void (*xStep)(sqlite3_context*,int,sqlite3_value**),
   316    316                               void (*xFinal)(sqlite3_context*),
   317    317                               void (*xValue)(sqlite3_context*),
   318    318                               void (*xInv)(sqlite3_context*,int,sqlite3_value**),
   319    319                               void(*xDestroy)(void*));
   320    320     /* Version 3.26.0 and later */
   321    321     const char *(*normalized_sql)(sqlite3_stmt*);
          322  +  /* Version 3.28.0 and later */
          323  +  int (*stmt_isexplain)(sqlite3_stmt*);
          324  +  int (*value_frombind)(sqlite3_value*);
   322    325   };
   323    326   
   324    327   /*
   325    328   ** This is the function signature used for all extension entry points.  It
   326    329   ** is also defined in the file "loadext.c".
   327    330   */
   328    331   typedef int (*sqlite3_loadext_entry)(
................................................................................
   604    607   #define sqlite3_str_errcode            sqlite3_api->str_errcode
   605    608   #define sqlite3_str_length             sqlite3_api->str_length
   606    609   #define sqlite3_str_value              sqlite3_api->str_value
   607    610   /* Version 3.25.0 and later */
   608    611   #define sqlite3_create_window_function sqlite3_api->create_window_function
   609    612   /* Version 3.26.0 and later */
   610    613   #define sqlite3_normalized_sql         sqlite3_api->normalized_sql
          614  +/* Version 3.28.0 and later */
          615  +#define sqlite3_stmt_isexplain         sqlite3_api->isexplain
          616  +#define sqlite3_value_frombind         sqlite3_api->frombind
   611    617   #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */
   612    618   
   613    619   #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
   614    620     /* This case when the file really is being compiled as a loadable 
   615    621     ** extension */
   616    622   # define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api=0;
   617    623   # define SQLITE_EXTENSION_INIT2(v)  sqlite3_api=v;

Changes to src/vdbeInt.h.

   246    246   #define MEM_Real      0x0008   /* Value is a real number */
   247    247   #define MEM_Blob      0x0010   /* Value is a BLOB */
   248    248   #define MEM_AffMask   0x001f   /* Mask of affinity bits */
   249    249   #define MEM_FromBind  0x0020   /* Value originates from sqlite3_bind() */
   250    250   /* Available          0x0040   */
   251    251   #define MEM_Undefined 0x0080   /* Value is undefined */
   252    252   #define MEM_Cleared   0x0100   /* NULL set by OP_Null, not from data */
   253         -#define MEM_TypeMask  0xc1ff   /* Mask of type bits */
          253  +#define MEM_TypeMask  0xc1df   /* Mask of type bits */
   254    254   
   255    255   
   256    256   /* Whenever Mem contains a valid string or blob representation, one of
   257    257   ** the following flags must be set to determine the memory management
   258    258   ** policy for Mem.z.  The MEM_Term flag tells us whether or not the
   259    259   ** string is \000 or \u0000 terminated
   260    260   */