/
niceSOFT
/
sqlite
Обзор
Документация
Войти
/
niceSOFT
/
sqlite
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/jsonb01.test
64 строки
2 KB
drh
Add the strdup() SQL function extension for use in testing.
04 июл 2026, 18:09
04 июл 2026, 18:09
0c3a9d3
Код
Авторство
О чём код?
# 2023-11-15 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # Test cases for JSONB # set testdir [file dirname $argv0] source $testdir/tester.tcl do_execsql_test jsonb01-1.1 { CREATE TABLE t1(x JSON BLOB); INSERT INTO t1 VALUES(jsonb('{a:5,b:{x:10,y:11},c:[1,2,3,4]}')); } foreach {id path res} { 1 {$.a} {{{"b":{"x":10,"y":11},"c":[1,2,3,4]}}} 2 {$.b} {{{"a":5,"c":[1,2,3,4]}}} 3 {$.c} {{{"a":5,"b":{"x":10,"y":11}}}} 4 {$.d} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3,4]}}} 5 {$.b.x} {{{"a":5,"b":{"y":11},"c":[1,2,3,4]}}} 6 {$.b.y} {{{"a":5,"b":{"x":10},"c":[1,2,3,4]}}} 7 {$.c[0]} {{{"a":5,"b":{"x":10,"y":11},"c":[2,3,4]}}} 8 {$.c[1]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,3,4]}}} 9 {$.c[2]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,4]}}} 10 {$.c[3]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3]}}} 11 {$.c[4]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3,4]}}} 12 {$.c[#]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3,4]}}} 13 {$.c[#-1]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3]}}} 14 {$.c[#-2]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,4]}}} 15 {$.c[#-3]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,3,4]}}} 16 {$.c[#-4]} {{{"a":5,"b":{"x":10,"y":11},"c":[2,3,4]}}} 17 {$.c[#-5]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3,4]}}} 18 {$.c[#-6]} {{{"a":5,"b":{"x":10,"y":11},"c":[1,2,3,4]}}} } { do_execsql_test jsonb01-1.2.$id.1 { SELECT json(jsonb_remove(x,$path)) FROM t1; } $res do_execsql_test jsonb01-1.2.$id.2 { SELECT json_remove(x,$path) FROM t1; } $res } do_catchsql_test jsonb01-2.0 { SELECT x'8ce6ffffffff171333' -> '$'; } {1 {malformed JSON}} # Bug 2026-07-04T04:59:19Z # Malformed FLOAT5 within a JSONB # do_catchsql_test jsonb01-3.0 { SELECT json(x'6B37616263162d'); } {1 {malformed JSON}} load_static_extension db strdup do_catchsql_test jsonb01-3.1 { SELECT json(strdup(x'6B37616263162d')); } {1 {malformed JSON}} finish_test