aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2023-10-03 20:58:39 +0000
committerdrh <>2023-10-03 20:58:39 +0000
commit51cc3041fe03a7ede42c5286d92bbdf7adbfb276 (patch)
treeaa219b878747492ce022a8ae73d55e43e976d357 /src
parent6e737b92521d8bb3e796ca87b13af36a55aa1531 (diff)
downloadsqlite-51cc3041fe03a7ede42c5286d92bbdf7adbfb276.tar.gz
sqlite-51cc3041fe03a7ede42c5286d92bbdf7adbfb276.zip
Fix problems in the "json" output column of the json_tree() virtual table
for the case when the input is JSONB. FossilOrigin-Name: fefa4475c496aab32fe7b9cc203747ce4faf7448da4f29b807e5486c7686238d
Diffstat (limited to 'src')
-rw-r--r--src/json.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/json.c b/src/json.c
index c4d874309..967a3af00 100644
--- a/src/json.c
+++ b/src/json.c
@@ -3514,7 +3514,6 @@ static int jsonParseValueFromBlob(JsonParse *pParse, u32 i){
break;
}
}
- pParse->aBlob[i] = 0;
return i+x+sz;
}
@@ -5356,8 +5355,12 @@ static int jsonEachColumn(
break;
}
case JEACH_JSON: {
- assert( i==JEACH_JSON );
- sqlite3_result_text(ctx, p->sParse.zJson, -1, SQLITE_STATIC);
+ if( p->sParse.isBinary ){
+ sqlite3_result_blob(ctx, p->sParse.aBlob, p->sParse.nBlob,
+ SQLITE_STATIC);
+ }else{
+ sqlite3_result_text(ctx, p->sParse.zJson, -1, SQLITE_STATIC);
+ }
break;
}
}