This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit ed597bae3b63ac57032a774c02b1814efd1d00b6
Author: lihangyu <[email protected]>
AuthorDate: Fri Dec 9 21:10:14 2022 +0800

    [Bugfix](Jsonb) fix jsonb load in unique key model (#14958)
    
    * [Bugfix](Jsonb) fix jsonb load in unique key model
    
    Register JSONB to `replace_load` agg function
    
    * fix test
---
 be/src/vec/utils/template_helpers.hpp              |    4 +-
 .../test_jsonb_load_unique_key_and_function.out    | 3946 ++++++++++++++++++++
 .../data/jsonb_p0/test_jsonb_unique_key.csv        |   75 +
 .../test_jsonb_load_unique_key_and_function.groovy |  397 ++
 4 files changed, 4421 insertions(+), 1 deletion(-)

diff --git a/be/src/vec/utils/template_helpers.hpp 
b/be/src/vec/utils/template_helpers.hpp
index b67f28f3dd..265f74d53d 100644
--- a/be/src/vec/utils/template_helpers.hpp
+++ b/be/src/vec/utils/template_helpers.hpp
@@ -43,7 +43,9 @@
     M(Decimal128, ColumnDecimal<Decimal128>) \
     M(Decimal128I, ColumnDecimal<Decimal128I>)
 
-#define STRING_TYPE_TO_COLUMN_TYPE(M) M(String, ColumnString)
+#define STRING_TYPE_TO_COLUMN_TYPE(M) \
+    M(String, ColumnString)           \
+    M(JSONB, ColumnString)
 
 #define TIME_TYPE_TO_COLUMN_TYPE(M) \
     M(Date, ColumnInt64)            \
diff --git 
a/regression-test/data/jsonb_p0/test_jsonb_load_unique_key_and_function.out 
b/regression-test/data/jsonb_p0/test_jsonb_load_unique_key_and_function.out
new file mode 100644
index 0000000000..d834c24dcd
--- /dev/null
+++ b/regression-test/data/jsonb_p0/test_jsonb_load_unique_key_and_function.out
@@ -0,0 +1,3946 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !select --
+1      \N
+2      null
+3      true
+4      false
+5      100
+6      10000
+7      1000000000
+8      1152921504606846976
+9      6.18
+10     "abcd"
+11     {}
+12     {"k1":"v31","k2":300}
+13     []
+14     [123,456]
+15     ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+
+-- !select --
+1      \N
+2      null
+3      true
+4      false
+5      100
+6      10000
+7      1000000000
+8      1152921504606846976
+9      6.18
+10     "abcd"
+11     {}
+12     {"k1":"v31","k2":300}
+13     []
+14     [123,456]
+15     ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+26     \N
+27     {"k1":"v1","k2":200}
+
+-- !select --
+1      \N      \N
+2      null    null
+3      true    true
+4      false   false
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    6.18
+10     "abcd"  "abcd"
+11     {}      {}
+12     {"k1":"v31","k2":300}   {"k1":"v31","k2":300}
+13     []      []
+14     [123,456]       [123,456]
+15     ["abc","def"]   ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]        [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]      
[{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+26     \N      \N
+27     {"k1":"v1","k2":200}    {"k1":"v1","k2":200}
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   "v31"
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   "v31"
+26     \N      \N
+27     {"k1":"v1","k2":200}    "v1"
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   300
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   300
+26     \N      \N
+27     {"k1":"v1","k2":200}    200
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       123
+15     ["abc","def"]   "abc"
+16     [null,true,false,100,6.18,"abc"]        null
+17     [{"k1":"v41","k2":400},1,"a",3.14]      {"k1":"v41","k2":400}
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       456
+15     ["abc","def"]   "def"
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      1
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      "a"
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        100
+17     [{"k1":"v41","k2":400},1,"a",3.14]      3.14
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        6.18
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        "abc"
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
[{"k1":"v41","k2":400},1,"a",3.14]
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v41","k2":400}
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   1
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   "a"
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   3.14
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    null
+3      true    true
+4      false   false
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    6.18
+10     "abcd"  abcd
+11     {}      {}
+12     {"k1":"v31","k2":300}   {"k1":"v31","k2":300}
+13     []      []
+14     [123,456]       [123,456]
+15     ["abc","def"]   ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]        [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]      
[{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+26     \N      \N
+27     {"k1":"v1","k2":200}    {"k1":"v1","k2":200}
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   v31
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   v31
+26     \N      \N
+27     {"k1":"v1","k2":200}    v1
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   300
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   300
+26     \N      \N
+27     {"k1":"v1","k2":200}    200
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       123
+15     ["abc","def"]   abc
+16     [null,true,false,100,6.18,"abc"]        null
+17     [{"k1":"v41","k2":400},1,"a",3.14]      {"k1":"v41","k2":400}
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       456
+15     ["abc","def"]   def
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      1
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      a
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        100
+17     [{"k1":"v41","k2":400},1,"a",3.14]      3.14
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        6.18
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        abc
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
[{"k1":"v41","k2":400},1,"a",3.14]
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v41","k2":400}
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   1
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   a
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   3.14
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   300
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   300
+26     \N      \N
+27     {"k1":"v1","k2":200}    200
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       123
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       456
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      1
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        100
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   1
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   300
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   300
+26     \N      \N
+27     {"k1":"v1","k2":200}    200
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       123
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       456
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      1
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        100
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   1
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100.0
+6      10000   10000.0
+7      1000000000      1.0E9
+8      1152921504606846976     1.15292150460684698E18
+9      6.18    6.18
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   300.0
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   300.0
+26     \N      \N
+27     {"k1":"v1","k2":200}    200.0
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       123.0
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       456.0
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      1.0
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        100.0
+17     [{"k1":"v41","k2":400},1,"a",3.14]      3.14
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        6.18
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   1.0
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   3.14
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    true
+4      false   false
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    true
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   false
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   false
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    true
+3      true    true
+4      false   true
+5      100     true
+6      10000   true
+7      1000000000      true
+8      1152921504606846976     true
+9      6.18    true
+10     "abcd"  true
+11     {}      true
+12     {"k1":"v31","k2":300}   true
+13     []      true
+14     [123,456]       true
+15     ["abc","def"]   true
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      true
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    true
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   true
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    true
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   true
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    true
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       true
+15     ["abc","def"]   true
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      true
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       true
+15     ["abc","def"]   true
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      true
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      true
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      true
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        true
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   true
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    false
+3      true    false
+4      false   false
+5      100     false
+6      10000   false
+7      1000000000      false
+8      1152921504606846976     false
+9      6.18    false
+10     "abcd"  false
+11     {}      false
+12     {"k1":"v31","k2":300}   false
+13     []      false
+14     [123,456]       false
+15     ["abc","def"]   false
+16     [null,true,false,100,6.18,"abc"]        false
+17     [{"k1":"v41","k2":400},1,"a",3.14]      false
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   false
+26     \N      \N
+27     {"k1":"v1","k2":200}    false
+
+-- !select --
+1      \N      \N
+2      null    null
+3      true    bool
+4      false   bool
+5      100     int
+6      10000   int
+7      1000000000      int
+8      1152921504606846976     bigint
+9      6.18    double
+10     "abcd"  string
+11     {}      object
+12     {"k1":"v31","k2":300}   object
+13     []      array
+14     [123,456]       array
+15     ["abc","def"]   array
+16     [null,true,false,100,6.18,"abc"]        array
+17     [{"k1":"v41","k2":400},1,"a",3.14]      array
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   object
+26     \N      \N
+27     {"k1":"v1","k2":200}    object
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   string
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   string
+26     \N      \N
+27     {"k1":"v1","k2":200}    string
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   int
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   int
+26     \N      \N
+27     {"k1":"v1","k2":200}    int
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       int
+15     ["abc","def"]   string
+16     [null,true,false,100,6.18,"abc"]        null
+17     [{"k1":"v41","k2":400},1,"a",3.14]      object
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       int
+15     ["abc","def"]   string
+16     [null,true,false,100,6.18,"abc"]        bool
+17     [{"k1":"v41","k2":400},1,"a",3.14]      int
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        bool
+17     [{"k1":"v41","k2":400},1,"a",3.14]      string
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        int
+17     [{"k1":"v41","k2":400},1,"a",3.14]      double
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        double
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        string
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   array
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   object
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   int
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   string
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   double
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    true
+4      false   false
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100.0
+6      10000   10000.0
+7      1000000000      1.0E9
+8      1152921504606846976     1.15292150460684698E18
+9      6.18    6.18
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    null
+3      true    true
+4      false   false
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    6.18
+10     "abcd"  "abcd"
+11     {}      {}
+12     {"k1":"v31","k2":300}   {"k1":"v31","k2":300}
+13     []      []
+14     [123,456]       [123,456]
+15     ["abc","def"]   ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]        [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]      
[{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+26     \N      \N
+27     {"k1":"v1","k2":200}    {"k1":"v1","k2":200}
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    true
+4      false   false
+5      100     \N
+6      10000   \N
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      \N
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     \N
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    \N
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    \N
+3      true    \N
+4      false   \N
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1.15292150460685e+18
+9      6.18    6.18
+10     "abcd"  \N
+11     {}      \N
+12     {"k1":"v31","k2":300}   \N
+13     []      \N
+14     [123,456]       \N
+15     ["abc","def"]   \N
+16     [null,true,false,100,6.18,"abc"]        \N
+17     [{"k1":"v41","k2":400},1,"a",3.14]      \N
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   \N
+26     \N      \N
+27     {"k1":"v1","k2":200}    \N
+
+-- !select --
+1      \N      \N
+2      null    null
+3      true    true
+4      false   false
+5      100     100
+6      10000   10000
+7      1000000000      1000000000
+8      1152921504606846976     1152921504606846976
+9      6.18    6.18
+10     "abcd"  "abcd"
+11     {}      {}
+12     {"k1":"v31","k2":300}   {"k1":"v31","k2":300}
+13     []      []
+14     [123,456]       [123,456]
+15     ["abc","def"]   ["abc","def"]
+16     [null,true,false,100,6.18,"abc"]        [null,true,false,100,6.18,"abc"]
+17     [{"k1":"v41","k2":400},1,"a",3.14]      
[{"k1":"v41","k2":400},1,"a",3.14]
+18     {"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}   
{"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+26     \N      \N
+27     {"k1":"v1","k2":200}    {"k1":"v1","k2":200}
+
+-- !select --
+\N
+
+-- !select --
+null
+
+-- !select --
+true
+
+-- !select --
+false
+
+-- !select --
+100
+
+-- !select --
+10000
+
+-- !select --
+1000000000
+
+-- !select --
+1152921504606846976
+
+-- !select --
+6.18
+
+-- !select --
+"abcd"
+
+-- !select --
+{}
+
+-- !select --
+{"k1":"v31","k2":300}
+
+-- !select --
+[]
+
+-- !select --
+[123,456]
+
+-- !select --
+["abc","def"]
+
+-- !select --
+[null,true,false,100,6.18,"abc"]
+
+-- !select --
+[{"k1":"v41","k2":400},1,"a",3.14]
+
+-- !select --
+{"k1":"v31","k2":300,"a1":[{"k1":"v41","k2":400},1,"a",3.14]}
+
+-- !select --
+\N
+
+-- !select --
+\N
+
+-- !select --
+\N
+
+-- !select --
+\N
+
+-- !select --
+\N
+
+-- !select --
+\N
+
+-- !select --
+\N
+
diff --git a/regression-test/data/jsonb_p0/test_jsonb_unique_key.csv 
b/regression-test/data/jsonb_p0/test_jsonb_unique_key.csv
new file mode 100644
index 0000000000..88cc692786
--- /dev/null
+++ b/regression-test/data/jsonb_p0/test_jsonb_unique_key.csv
@@ -0,0 +1,75 @@
+1      \N
+2      null
+3      true
+4      false
+5      100
+6      10000
+7      1000000000
+8      1152921504606846976
+9      6.18
+10     "abcd"
+11     {}
+12     {"k1":"v31", "k2": 300}
+13     []
+14     [123, 456]
+15     ["abc", "def"]
+16     [null, true, false, 100, 6.18, "abc"]
+17     [{"k1":"v41", "k2": 400}, 1, "a", 3.14]
+18     {"k1":"v31", "k2": 300, "a1": [{"k1":"v41", "k2": 400}, 1, "a", 3.14]}
+19     ''
+20     'abc'
+21     abc
+22     100x
+23     6.a8
+24     {x
+25     [123, abc]
+1      \N
+2      null
+3      true
+4      false
+5      100
+6      10000
+7      1000000000
+8      1152921504606846976
+9      6.18
+10     "abcd"
+11     {}
+12     {"k1":"v31", "k2": 300}
+13     []
+14     [123, 456]
+15     ["abc", "def"]
+16     [null, true, false, 100, 6.18, "abc"]
+17     [{"k1":"v41", "k2": 400}, 1, "a", 3.14]
+18     {"k1":"v31", "k2": 300, "a1": [{"k1":"v41", "k2": 400}, 1, "a", 3.14]}
+19     ''
+20     'abc'
+21     abc
+22     100x
+23     6.a8
+24     {x
+25     [123, abc]
+1      \N
+2      null
+3      true
+4      false
+5      100
+6      10000
+7      1000000000
+8      1152921504606846976
+9      6.18
+10     "abcd"
+11     {}
+12     {"k1":"v31", "k2": 300}
+13     []
+14     [123, 456]
+15     ["abc", "def"]
+16     [null, true, false, 100, 6.18, "abc"]
+17     [{"k1":"v41", "k2": 400}, 1, "a", 3.14]
+18     {"k1":"v31", "k2": 300, "a1": [{"k1":"v41", "k2": 400}, 1, "a", 3.14]}
+19     ''
+20     'abc'
+21     abc
+22     100x
+23     6.a8
+24     {x
+25     [123, abc]
diff --git 
a/regression-test/suites/jsonb_p0/test_jsonb_load_unique_key_and_function.groovy
 
b/regression-test/suites/jsonb_p0/test_jsonb_load_unique_key_and_function.groovy
new file mode 100644
index 0000000000..4c3bd82e83
--- /dev/null
+++ 
b/regression-test/suites/jsonb_p0/test_jsonb_load_unique_key_and_function.groovy
@@ -0,0 +1,397 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_jsonb_unique_load_and_function", "p0") {
+    // define a sql table
+    def testTable = "tbl_test_jsonb_unique"
+    def dataFile = "test_jsonb_unique_key.csv"
+
+    sql """ set enable_vectorized_engine = true """
+
+    sql "DROP TABLE IF EXISTS ${testTable}"
+
+    sql """
+        CREATE TABLE IF NOT EXISTS ${testTable} (
+            id INT,
+            j JSONB
+        )
+        UNIQUE KEY(id)
+        DISTRIBUTED BY HASH(id) BUCKETS 10
+        PROPERTIES("replication_num" = "1");
+        """
+
+    // load the jsonb data from csv file
+    // fail by default for invalid data rows
+    streamLoad {
+        table testTable
+        
+        file dataFile // import csv file
+        time 10000 // limit inflight 10s
+
+        // if declared a check callback, the default check condition will 
ignore.
+        // So you must check all condition
+        check { result, exception, startTime, endTime ->
+            if (exception != null) {
+                throw exception
+            }
+            log.info("Stream load result: ${result}".toString())
+            def json = parseJson(result)
+            assertEquals("fail", json.Status.toLowerCase())
+            assertEquals("too many filtered rows", json.Message)
+            assertEquals(75, json.NumberTotalRows)
+            assertEquals(54, json.NumberLoadedRows)
+            assertEquals(21, json.NumberFilteredRows)
+            assertTrue(json.LoadBytes > 0)
+        }
+    }
+
+    // load the jsonb data from csv file
+    // success with header 'max_filter_ratio: 0.3'
+    streamLoad {
+        table testTable
+        
+        // set http request header params
+        set 'max_filter_ratio', '0.3'
+        file dataFile // import csv file
+        time 10000 // limit inflight 10s
+
+        // if declared a check callback, the default check condition will 
ignore.
+        // So you must check all condition
+        check { result, exception, startTime, endTime ->
+            if (exception != null) {
+                throw exception
+            }
+            log.info("Stream load result: ${result}".toString())
+            def json = parseJson(result)
+            assertEquals("success", json.Status.toLowerCase())
+            assertEquals(75, json.NumberTotalRows)
+            assertEquals(54, json.NumberLoadedRows)
+            assertEquals(21, json.NumberFilteredRows)
+            assertTrue(json.LoadBytes > 0)
+        }
+    }
+
+    // check result
+    qt_select "SELECT * FROM ${testTable} ORDER BY id"
+
+    // insert into valid json rows
+    sql """INSERT INTO ${testTable} VALUES(26, NULL)"""
+    sql """INSERT INTO ${testTable} VALUES(27, '{"k1":"v1", "k2": 200}')"""
+
+    // insert into invalid json rows with enable_insert_strict=true
+    // expect excepiton and no rows not changed
+    sql """ set enable_insert_strict = true """
+    success = true
+    try {
+        sql """INSERT INTO ${testTable} VALUES(26, '')"""
+    } catch(Exception ex) {
+       logger.info("""INSERT INTO ${testTable} invalid json failed: """ + ex)
+       success = false
+    }
+    assertEquals(false, success)
+    success = true
+    try {
+        sql """INSERT INTO ${testTable} VALUES(26, 'abc')"""
+    } catch(Exception ex) {
+       logger.info("""INSERT INTO ${testTable} invalid json failed: """ + ex)
+       success = false
+    }
+    assertEquals(false, success)
+
+    // insert into invalid json rows with enable_insert_strict=false
+    // expect no excepiton but no rows not changed
+    sql """ set enable_insert_strict = false """
+    success = true
+    try {
+        sql """INSERT INTO ${testTable} VALUES(26, '')"""
+    } catch(Exception ex) {
+       logger.info("""INSERT INTO ${testTable} invalid json failed: """ + ex)
+       success = false
+    }
+    assertEquals(true, success)
+    success = true
+    try {
+        sql """INSERT INTO ${testTable} VALUES(26, 'abc')"""
+    } catch(Exception ex) {
+       logger.info("""INSERT INTO ${testTable} invalid json failed: """ + ex)
+       success = false
+    }
+    assertEquals(true, success)
+
+    qt_select "SELECT * FROM ${testTable} ORDER BY id"
+
+    // jsonb_extract
+    qt_select "SELECT id, j, jsonb_extract(j, '\$') FROM ${testTable} ORDER BY 
id"
+
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.k1') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.k2') FROM ${testTable} ORDER 
BY id"
+
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[0]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[1]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[2]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[3]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[4]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[5]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[6]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$[10]') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1') FROM ${testTable} ORDER 
BY id"
+
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[0]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[1]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[2]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[3]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[4]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract(j, '\$.a1[10]') FROM ${testTable} 
ORDER BY id"
+
+    // jsonb_extract_string
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.k1') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.k2') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[5]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[6]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$[10]') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_string(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_extract_int
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.k1') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.k2') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[0]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[1]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[2]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[3]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[4]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[5]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[6]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$[10]') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_int(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_extract_bigint
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.k1') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.k2') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[5]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[6]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$[10]') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bigint(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+
+    // jsonb_extract_double
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.k1') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.k2') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[5]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[6]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$[10]') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_double(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_extract_bool
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.k1') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.k2') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[0]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[1]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[2]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[3]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[4]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[5]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[6]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$[10]') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_bool(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_extract_isnull
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.k1') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.k2') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[5]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[6]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$[10]') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1') FROM 
${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_extract_isnull(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_exists_path
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.k1') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.k2') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[0]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[1]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[2]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[3]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[4]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[5]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[6]') FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$[10]') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1') FROM ${testTable} 
ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[0]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[1]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[2]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[3]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[4]') FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, jsonb_exists_path(j, '\$.a1[10]') FROM 
${testTable} ORDER BY id"
+
+    // jsonb_type
+    qt_select "SELECT id, j, jsonb_type(j, '\$') FROM ${testTable} ORDER BY id"
+
+    qt_select "SELECT id, j, jsonb_type(j, '\$.k1') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.k2') FROM ${testTable} ORDER BY 
id"
+
+    qt_select "SELECT id, j, jsonb_type(j, '\$[0]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[1]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[2]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[3]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[4]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[5]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[6]') FROM ${testTable} ORDER BY 
id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$[10]') FROM ${testTable} ORDER 
BY id"
+
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1') FROM ${testTable} ORDER BY 
id"
+
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[0]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[1]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[2]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[3]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[4]') FROM ${testTable} ORDER 
BY id"
+    qt_select "SELECT id, j, jsonb_type(j, '\$.a1[10]') FROM ${testTable} 
ORDER BY id"
+
+
+    // CAST from JSONB
+    qt_select "SELECT id, j, CAST(j AS BOOLEAN) FROM ${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(j AS SMALLINT) FROM ${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(j AS INT) FROM ${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(j AS BIGINT) FROM ${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(j AS DOUBLE) FROM ${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(j AS STRING) FROM ${testTable} ORDER BY id"
+
+    // CAST to JSONB
+    qt_select "SELECT id, j, CAST(CAST(j AS BOOLEAN) AS JSONB) FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(CAST(j AS SMALLINT) AS JSONB) FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(CAST(j AS INT) AS JSONB) FROM ${testTable} 
ORDER BY id"
+    qt_select "SELECT id, j, CAST(CAST(j AS BIGINT) AS JSONB) FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(CAST(j AS DOUBLE) AS JSONB) FROM 
${testTable} ORDER BY id"
+    qt_select "SELECT id, j, CAST(CAST(j AS STRING) AS JSONB) FROM 
${testTable} ORDER BY id"
+
+    qt_select """SELECT CAST(NULL AS JSONB)"""
+    qt_select """SELECT CAST('null' AS JSONB)"""
+    qt_select """SELECT CAST('true' AS JSONB)"""
+    qt_select """SELECT CAST('false' AS JSONB)"""
+    qt_select """SELECT CAST('100' AS JSONB)"""
+    qt_select """SELECT CAST('10000' AS JSONB)"""
+    qt_select """SELECT CAST('1000000000' AS JSONB)"""
+    qt_select """SELECT CAST('1152921504606846976' AS JSONB)"""
+    qt_select """SELECT CAST('6.18' AS JSONB)"""
+    qt_select """SELECT CAST('"abcd"' AS JSONB)"""
+    qt_select """SELECT CAST('{}' AS JSONB)"""
+    qt_select """SELECT CAST('{"k1":"v31", "k2": 300}' AS JSONB)"""
+    qt_select """SELECT CAST('[]' AS JSONB)"""
+    qt_select """SELECT CAST('[123, 456]' AS JSONB)"""
+    qt_select """SELECT CAST('["abc", "def"]' AS JSONB)"""
+    qt_select """SELECT CAST('[null, true, false, 100, 6.18, "abc"]' AS 
JSONB)"""
+    qt_select """SELECT CAST('[{"k1":"v41", "k2": 400}, 1, "a", 3.14]' AS 
JSONB)"""
+    qt_select """SELECT CAST('{"k1":"v31", "k2": 300, "a1": [{"k1":"v41", 
"k2": 400}, 1, "a", 3.14]}' AS JSONB)"""
+    qt_select """SELECT CAST("''" AS JSONB)"""
+    qt_select """SELECT CAST("'abc'" AS JSONB)"""
+    qt_select """SELECT CAST('abc' AS JSONB)"""
+    qt_select """SELECT CAST('100x' AS JSONB)"""
+    qt_select """SELECT CAST('6.a8' AS JSONB)"""
+    qt_select """SELECT CAST('{x' AS JSONB)"""
+    qt_select """SELECT CAST('[123, abc]' AS JSONB)"""
+
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to