#include <stdlib.h>
#include <stdarg.h>
+#define UNUSED_PARAM(X) (void)(X)
+
/* Unsigned integer types */
typedef sqlite3_uint64 u64;
typedef unsigned int u32;
jsonOom(p);
return SQLITE_NOMEM;
}
- memcpy(zNew, p->zBuf, p->nUsed);
+ memcpy(zNew, p->zBuf, (size_t)p->nUsed);
p->zBuf = zNew;
p->bStatic = 0;
}else{
if( c=='{' ){
/* Parse object */
iThis = jsonParseAddNode(pParse, JSON_OBJECT, 0, 0);
- if( iThis<0 ) return -1;
for(j=i+1;;j++){
while( isspace(pParse->zJson[j]) ){ j++; }
x = jsonParseValue(pParse, j);
}else if( c=='[' ){
/* Parse array */
iThis = jsonParseAddNode(pParse, JSON_ARRAY, 0, 0);
- if( iThis<0 ) return -1;
for(j=i+1;;j++){
while( isspace(pParse->zJson[j]) ){ j++; }
x = jsonParseValue(pParse, j);
){
JsonParse x; /* The parse */
if( jsonParse(&x, (const char*)sqlite3_value_text(argv[0])) ) return;
- sqlite3_result_int64(context, x.nNode);
+ sqlite3_result_int64(context, (sqlite3_int64)x.nNode);
jsonParseReset(&x);
}
#endif /* SQLITE_DEBUG */
if( argc<1 ) return;
if( jsonParse(&x, (const char*)sqlite3_value_text(argv[0])) ) return;
if( x.nNode ){
- for(i=1; i<argc; i++){
+ for(i=1; i<(u32)argc; i++){
zPath = (const char*)sqlite3_value_text(argv[i]);
if( zPath==0 ) continue;
if( zPath[0]!='$' ) continue;
}
if( jsonParse(&x, (const char*)sqlite3_value_text(argv[0])) ) return;
if( x.nNode ){
- for(i=1; i<argc; i+=2){
+ for(i=1; i<(u32)argc; i+=2){
zPath = (const char*)sqlite3_value_text(argv[i]);
if( zPath==0 ) continue;
if( zPath[0]!='$' ) continue;
}
if( jsonParse(&x, (const char*)sqlite3_value_text(argv[0])) ) return;
if( x.nNode ){
- for(i=1; i<argc; i+=2){
+ for(i=1; i<(u32)argc; i+=2){
zPath = (const char*)sqlite3_value_text(argv[i]);
if( zPath==0 ) continue;
if( zPath[0]!='$' ) continue;
#define JEACH_JSON 7
#define JEACH_PATH 8
+ UNUSED_PARAM(pzErr);
+ UNUSED_PARAM(argv);
+ UNUSED_PARAM(argc);
+ UNUSED_PARAM(pAux);
rc = sqlite3_declare_vtab(db,
"CREATE TABLE x(key,value,type,atom,id,parent,fullkey,"
"json HIDDEN,path HIDDEN)");
/* constructor for a JsonEachCursor object for json_each(). */
static int jsonEachOpenEach(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){
JsonEachCursor *pCur;
+
+ UNUSED_PARAM(p);
pCur = sqlite3_malloc( sizeof(*pCur) );
if( pCur==0 ) return SQLITE_NOMEM;
memset(pCur, 0, sizeof(*pCur));
}else{
iKey = p->iRowid;
}
- sqlite3_result_int64(ctx, iKey);
+ sqlite3_result_int64(ctx, (sqlite3_int64)iKey);
}
break;
}
break;
}
case JEACH_ID: {
- sqlite3_result_int64(ctx, p->i + (p->eType==JSON_OBJECT));
+ sqlite3_result_int64(ctx, (sqlite3_int64)p->i + (p->eType==JSON_OBJECT));
break;
}
case JEACH_PARENT: {
if( p->i>0 && p->bRecursive ){
- sqlite3_result_int64(ctx, p->sParse.aUp[p->i]);
+ sqlite3_result_int64(ctx, (sqlite3_int64)p->sParse.aUp[p->i]);
}
break;
}
int jsonIdx = -1;
int pathIdx = -1;
const struct sqlite3_index_constraint *pConstraint;
+
+ UNUSED_PARAM(tab);
pConstraint = pIdxInfo->aConstraint;
for(i=0; i<pIdxInfo->nConstraint; i++, pConstraint++){
if( pConstraint->usable==0 ) continue;
const char *zPath;
sqlite3_int64 n;
+ UNUSED_PARAM(idxStr);
+ UNUSED_PARAM(argc);
jsonEachCursorReset(p);
if( idxNum==0 ) return SQLITE_OK;
z = (const char*)sqlite3_value_text(argv[0]);
if( zPath==0 || zPath[0]!='$' ) return SQLITE_OK;
}
n = sqlite3_value_bytes(argv[0]);
- p->zJson = sqlite3_malloc( n+1 );
+ p->zJson = sqlite3_malloc64( n+1 );
if( p->zJson==0 ) return SQLITE_NOMEM;
- memcpy(p->zJson, z, n+1);
+ memcpy(p->zJson, z, (size_t)n+1);
if( jsonParse(&p->sParse, p->zJson)
|| (p->bRecursive && jsonParseFindParents(&p->sParse))
){
if( idxNum==3 ){
p->bRecursive = 0;
n = sqlite3_value_bytes(argv[1]);
- p->zPath = sqlite3_malloc( n+1 );
+ p->zPath = sqlite3_malloc64( n+1 );
if( p->zPath==0 ) return SQLITE_NOMEM;
- memcpy(p->zPath, zPath, n+1);
+ memcpy(p->zPath, zPath, (size_t)n+1);
pNode = jsonLookup(&p->sParse, 0, p->zPath+1, 0);
if( pNode==0 ){
jsonEachCursorReset(p);
0, /* xRollback */
0, /* xFindMethod */
0, /* xRename */
+ 0, /* xSavepoint */
+ 0, /* xRelease */
+ 0 /* xRollbackTo */
};
/* The methods of the json_tree virtual table. */
0, /* xRollback */
0, /* xFindMethod */
0, /* xRename */
+ 0, /* xSavepoint */
+ 0, /* xRelease */
+ 0 /* xRollbackTo */
};
/****************************************************************************
const sqlite3_api_routines *pApi
){
int rc = SQLITE_OK;
- int i;
+ unsigned int i;
static const struct {
const char *zName;
int nArg;
-C Change\sthe\sname\sof\sthe\sjson\sloadable\sextension\sto\s"json1.c",\sin\santicipation\nof\shaving\sfuture\smajor\schanges\sto\sthe\sinterface.
-D 2015-08-21T20:12:43.689
+C Fixes\sfor\scompiler\swarnings\sand\serrors\sin\sthe\smakefiles.\s\sRename\sthe\none\stest\sscript\sto\sjson101.test.
+D 2015-08-21T20:37:12.208
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 90f3097efb9a53f5fc59a4f8a08be07cf9f52c02
+F Makefile.in e2218eb228374422969de7b1680eda6864affcef
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
-F Makefile.msc f6ed2ce438f711641dc63d762bb0d41aa659518f
+F Makefile.msc 10af19cc089862481d49b347acd99c02635ddc49
F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
F VERSION ccfc4d1576dbfdeece0a4372a2e6a2e37d3e7975
F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f
F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767
F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e
-F ext/misc/json1.c 92bb4e5fe2956564d23f933e2140ce8e086d988b w ext/misc/json.c
+F ext/misc/json1.c f83f02ec4d7cc18794bd7ac046f1bb5905805b44
F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342
F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63
F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
-F main.mk a551a3b8a398e1e64fefbb14bc142aa9584238fc
+F main.mk 04840e8277ab5159af16172eafd214dae7cffff5
F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
F mkopcodeh.awk 0e7f04a8eb90f92259e47d80110e4e98d7ce337a
F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
F test/jrnlmode.test 7864d59cf7f6e552b9b99ba0f38acd167edc10fa
F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d
F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
-F test/json1.test 950ed4e8deb8ad4c10bd4fbc858eb54143de9867
+F test/json101.test 950ed4e8deb8ad4c10bd4fbc858eb54143de9867 w test/json1.test
F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
F test/lastinsert.test 42e948fd6442f07d60acbd15d33fb86473e0ef63
F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 15dd99431e9ddd0fbdbb8dcc921687b0c6d26a29
-R 46781c36cc64ae92318031e0c6494ecf
+P d0d4bec9e3d8829a2d488f2742f1650214fa716a
+R 0dbca2db2baae780df721a60ce2b8302
U drh
-Z cf5f4e21b0acc856e5deddedc237451f
+Z f736e312f15e55183b503d223fff9c6b