diff options
author | drh <> | 2023-12-18 15:53:48 +0000 |
---|---|---|
committer | drh <> | 2023-12-18 15:53:48 +0000 |
commit | 095f2c5082e85d8122225227d3c8923880ef348d (patch) | |
tree | 3c27afe1aa97cf436bbd15fef21363357477c46f /src/json.c | |
parent | cf6fe5abe31020a895b34502bad3deb6708fdac7 (diff) | |
download | sqlite-095f2c5082e85d8122225227d3c8923880ef348d.tar.gz sqlite-095f2c5082e85d8122225227d3c8923880ef348d.zip |
Ensure that the insert/delete size delta on JSONB objects in the JSON cache
are always set to zero.
FossilOrigin-Name: 4b4581668a908473dbf1322a3e98bc7cca122998c44518ea183af7f0d1ba9f95
Diffstat (limited to 'src/json.c')
-rw-r--r-- | src/json.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/json.c b/src/json.c index a1441e809..2756590eb 100644 --- a/src/json.c +++ b/src/json.c @@ -374,6 +374,7 @@ static int jsonCacheInsert( assert( pParse->zJson!=0 ); assert( pParse->bJsonIsRCStr ); + assert( pParse->delta==0 ); p = sqlite3_get_auxdata(ctx, JSON_CACHE_ID); if( p==0 ){ sqlite3 *db = sqlite3_context_db_handle(ctx); @@ -446,6 +447,7 @@ static JsonParse *jsonCacheSearch( p->a[p->nUsed-1] = tmp; i = p->nUsed - 1; } + assert( p->a[i]->delta==0 ); return p->a[i]; }else{ return 0; @@ -3306,6 +3308,7 @@ static void jsonReturnParse( }else{ JsonString s; jsonStringInit(&s, ctx); + p->delta = 0; jsonXlateBlobToText(p, 0, &s); jsonReturnString(&s, p, ctx); sqlite3_result_subtype(ctx, JSON_SUBTYPE); |