diff options
author | drh <> | 2023-10-03 20:58:39 +0000 |
---|---|---|
committer | drh <> | 2023-10-03 20:58:39 +0000 |
commit | 51cc3041fe03a7ede42c5286d92bbdf7adbfb276 (patch) | |
tree | aa219b878747492ce022a8ae73d55e43e976d357 /src | |
parent | 6e737b92521d8bb3e796ca87b13af36a55aa1531 (diff) | |
download | sqlite-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.c | 9 |
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; } } |