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

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


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 2b568b335cb [fix](ES Catalog)Do not extract doc_values of field with 
ignore_above setting (#40314) (#40466)
2b568b335cb is described below

commit 2b568b335cb2c05d3883831b652e0cd1ecbc60c7
Author: qiye <[email protected]>
AuthorDate: Fri Sep 6 16:25:06 2024 +0800

    [fix](ES Catalog)Do not extract doc_values of field with ignore_above 
setting (#40314) (#40466)
    
    bp #40314
---
 .../elasticsearch/scripts/data/data4_es6.json      |  32 +++
 .../elasticsearch/scripts/data/data5.json          |  35 ++-
 .../scripts/data/{data5.json => data6.json}        |   0
 .../elasticsearch/scripts/es_init.sh               |   8 +-
 .../elasticsearch/scripts/index/es6_test1.json     |   5 +-
 .../elasticsearch/scripts/index/es7_test1.json     |   5 +-
 .../java/org/apache/doris/catalog/EsTable.java     |   7 +-
 .../doris/external/elasticsearch/MappingPhase.java |  21 ++
 .../data/external_table_p0/es/test_es_query.out    | 253 ++++++++++++++++-----
 .../external_table_p0/es/test_es_query_nereids.out |  40 +---
 .../external_table_p0/es/test_es_query.groovy      |  26 +--
 11 files changed, 313 insertions(+), 119 deletions(-)

diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json
new file mode 100755
index 00000000000..b639879bab8
--- /dev/null
+++ 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data4_es6.json
@@ -0,0 +1,32 @@
+{
+  "test1": "string_ignore_above_10",
+  "test2": "text_ignore_above_10",
+  "test3": 5.0,
+  "test4": "2022-08-08",
+  "test5": 3333.22,
+  "test6": "2022-08-08T12:10:10.151",
+  "c_bool": [true, false, true, true],
+  "c_byte": [1, -2, -3, 4],
+  "c_short": [128, 129, -129, -130],
+  "c_integer": [32768, 32769, -32769, -32770],
+  "c_long": [-1, 0, 1, 2],
+  "c_unsigned_long": [0, 1, 2, 3],
+  "c_float": [1.0, 1.1, 1.2, 1.3],
+  "c_half_float": [1, 2, 3, 4],
+  "c_double": [1, 2, 3, 4],
+  "c_scaled_float": [1, 2, 3, 4],
+  "c_date": ["2020-01-01", "2020-01-02"],
+  "c_datetime": ["2020-01-01 12:00:00", "2020-01-02 13:01:01"],
+  "c_keyword": ["a", "b", "c"],
+  "c_text": ["d", "e", "f"],
+  "c_ip": ["192.168.0.1", "127.0.0.1"],
+  "c_person": [
+    {"name": "Andy", "age": 18},
+    {"name": "Tim", "age": 28}
+  ],
+  "message": "I'm not null or empty",
+  "c_user": [
+    {"first": "John", "last":  "Smith"},
+    {"first": "Alice", "last":  "White"}
+  ]
+}
diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json
index 3d8852a5284..3970c8d9412 100755
--- a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json
+++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json
@@ -1,4 +1,35 @@
 {
-  "field1": "value1",
-  "field2": "value2"
+  "test1": "string_ignore_above_10",
+  "test2": "text_ignore_above_10",
+  "test3": 6.0,
+  "test4": "2022-08-08",
+  "test5": "2022-08-11 12:10:10",
+  "test6": 1660191010000,
+  "test7": "2022-08-11 12:10:10",
+  "test8": "2022-08-11T12:10:10+09:00",
+  "test9": "4444.22",
+  "test10": "2022-08-08T12:10:10.151",
+  "c_bool": [true, false, true, true],
+  "c_byte": [1, -2, -3, 4],
+  "c_short": [128, 129, -129, -130],
+  "c_integer": [32768, 32769, -32769, -32770],
+  "c_long": [-1, 0, 1, 2],
+  "c_unsigned_long": [0, 1, 2, 3],
+  "c_float": [1.0, 1.1, 1.2, 1.3],
+  "c_half_float": [1, 2, 3, 4],
+  "c_double": [1, 2, 3, 4],
+  "c_scaled_float": [1, 2, 3, 4],
+  "c_date": ["2020-01-01", "2020-01-02"],
+  "c_datetime": ["2020-01-01 12:00:00", "2020-01-02 13:01:01"],
+  "c_keyword": ["a", "b", "c"],
+  "c_text": ["d", "e", "f"],
+  "c_ip": ["192.168.0.1", "127.0.0.1"],
+  "c_person": [
+    {"name": "Andy", "age": 18},
+    {"name": "Tim", "age": 28}
+  ],
+  "c_user": [
+    {"first": "John", "last":  "Smith"},
+    {"first": "Alice", "last":  "White"}
+  ]
 }
diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json
similarity index 100%
copy from 
docker/thirdparties/docker-compose/elasticsearch/scripts/data/data5.json
copy to docker/thirdparties/docker-compose/elasticsearch/scripts/data/data6.json
diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh
index 258c6c83ef5..0e0d5a96d3a 100755
--- a/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh
+++ b/docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh
@@ -53,6 +53,7 @@ curl "http://${ES_5_HOST}:9200/test1/doc/1"; -H 
"Content-Type:application/json" -
 curl "http://${ES_5_HOST}:9200/test1/doc/2"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data2_es6.json'
 # only difference between es5 and es6
 curl "http://${ES_5_HOST}:9200/test1/doc/3"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data3_es5.json'
+curl "http://${ES_5_HOST}:9200/test1/doc/4"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data4_es6.json'
 # put data for test2_20220808
 curl "http://${ES_5_HOST}:9200/test2_20220808/doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1_es6.json'
 curl "http://${ES_5_HOST}:9200/test2_20220808/doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json'
@@ -88,6 +89,7 @@ curl "http://${ES_6_HOST}:9200/test2_20220809"; -H 
"Content-Type:application/json
 curl "http://${ES_6_HOST}:9200/test1/doc/1"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data1_es6.json'
 curl "http://${ES_6_HOST}:9200/test1/doc/2"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data2_es6.json'
 curl "http://${ES_6_HOST}:9200/test1/doc/3"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data3_es6.json'
+curl "http://${ES_6_HOST}:9200/test1/doc/4"; -H "Content-Type:application/json" 
-X POST -d '@/mnt/scripts/data/data4_es6.json'
 # put data for test2_20220808
 curl "http://${ES_6_HOST}:9200/test2_20220808/doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1_es6.json'
 curl "http://${ES_6_HOST}:9200/test2_20220808/doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2_es6.json'
@@ -125,6 +127,7 @@ curl "http://${ES_7_HOST}:9200/test1/_doc/1"; -H 
"Content-Type:application/json"
 curl "http://${ES_7_HOST}:9200/test1/_doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json'
 curl "http://${ES_7_HOST}:9200/test1/_doc/3"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json'
 curl "http://${ES_7_HOST}:9200/test1/_doc/4"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json'
+curl "http://${ES_7_HOST}:9200/test1/_doc/5"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json'
 # put data for test2_20220808
 curl "http://${ES_7_HOST}:9200/test2_20220808/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1.json'
 curl "http://${ES_7_HOST}:9200/test2_20220808/_doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json'
@@ -136,7 +139,7 @@ curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/2"; -H 
"Content-Type:applicati
 curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/3"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json'
 curl "http://${ES_7_HOST}:9200/test2_20220809/_doc/4"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json'
 # put data for test3_20231005
-curl "http://${ES_7_HOST}:9200/test3_20231005/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json'
+curl "http://${ES_7_HOST}:9200/test3_20231005/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data6.json'
 
 # put _meta for array
 curl "http://${ES_7_HOST}:9200/test1/_mapping"; -H 
"Content-Type:application/json" -X PUT -d "@/mnt/scripts/index/array_meta.json"
@@ -170,6 +173,7 @@ curl "http://${ES_8_HOST}:9200/test1/_doc/1"; -H 
"Content-Type:application/json"
 curl "http://${ES_8_HOST}:9200/test1/_doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json'
 curl "http://${ES_8_HOST}:9200/test1/_doc/3"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json'
 curl "http://${ES_8_HOST}:9200/test1/_doc/4"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json'
+curl "http://${ES_8_HOST}:9200/test1/_doc/5"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json'
 # put data for test2_20220808
 curl "http://${ES_8_HOST}:9200/test2_20220808/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data1.json'
 curl "http://${ES_8_HOST}:9200/test2_20220808/_doc/2"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data2.json'
@@ -181,7 +185,7 @@ curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/2"; -H 
"Content-Type:applicati
 curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/3"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data3.json'
 curl "http://${ES_8_HOST}:9200/test2_20220809/_doc/4"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data4.json'
 # put data for test3_20231005
-curl "http://${ES_8_HOST}:9200/test3_20231005/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data5.json'
+curl "http://${ES_8_HOST}:9200/test3_20231005/_doc/1"; -H 
"Content-Type:application/json" -X POST -d '@/mnt/scripts/data/data6.json'
 
 # put _meta for array
 curl "http://${ES_8_HOST}:9200/test1/_mapping"; -H 
"Content-Type:application/json" -X PUT -d "@/mnt/scripts/index/array_meta.json"
diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json
index ffcc857dd5e..cfe83d127f2 100755
--- 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json
+++ 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json
@@ -7,14 +7,15 @@
     "doc": {
       "properties": {
         "test1": {
-          "type": "keyword"
+          "type": "keyword",
+          "ignore_above": 10
         },
         "test2": {
           "type": "text",
           "fields": {
             "keyword": {
               "type": "keyword",
-              "ignore_above": 256
+              "ignore_above": 10
             }
           }
         },
diff --git 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json
index c3549baa9f8..a9da64e9a5d 100755
--- 
a/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json
+++ 
b/docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json
@@ -6,14 +6,15 @@
   "mappings": {
     "properties": {
       "test1": {
-        "type": "keyword"
+        "type": "keyword",
+        "ignore_above": 10
       },
       "test2": {
         "type": "text",
         "fields": {
           "keyword": {
             "type": "keyword",
-            "ignore_above": 256
+            "ignore_above": 10
           }
         }
       },
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java
index a29c547fa97..ab4b69440f9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/EsTable.java
@@ -38,7 +38,7 @@ import org.apache.logging.log4j.Logger;
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
-import java.util.Collections;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -51,7 +51,10 @@ import java.util.Set;
 @Getter
 @Setter
 public class EsTable extends Table {
-    public static final Set<String> DEFAULT_DOCVALUE_DISABLED_FIELDS = new 
HashSet<>(Collections.singletonList("text"));
+    // reference: 
https://www.elastic.co/guide/en/elasticsearch/reference/current/doc-values.html
+    // 
https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html
+    public static final Set<String> DEFAULT_DOCVALUE_DISABLED_FIELDS =
+            new HashSet<>(Arrays.asList("text", "annotated_text", 
"match_only_text"));
 
     private static final Logger LOG = LogManager.getLogger(EsTable.class);
     // Solr doc_values vs stored_fields performance-smackdown indicate:
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/MappingPhase.java
 
b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/MappingPhase.java
index 26d1bc1dcca..5cdef57e9d7 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/MappingPhase.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/external/elasticsearch/MappingPhase.java
@@ -130,6 +130,16 @@ public class MappingPhase implements SearchPhase {
                         if (docValue) {
                             docValueField = colName;
                         }
+                    } else if (innerTypeObject.has("ignore_above")) {
+                        // reference:
+                        // 
https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html#keyword-params
+                        // > ignore_above
+                        // > Do not index any string longer than this value. 
Defaults to 2147483647 so that all values
+                        // > would be accepted. Please however note that 
default dynamic mapping rules create a sub
+                        // > keyword field that overrides this default by 
setting ignore_above: 256.
+                        // this field has `ignore_above` param
+                        // Strings longer than the ignore_above setting will 
not be indexed or stored
+                        // so we cannot rely on its doc_values
                     } else {
                         // a : {c : {}} -> a -> a.c
                         docValueField = colName + "." + fieldName;
@@ -146,6 +156,17 @@ public class MappingPhase implements SearchPhase {
             } else if (fieldType == null || "nested".equals(fieldType)) {
                 // The object field has no type, and nested not support doc 
value.
                 return;
+            } else if (fieldObject.has("ignore_above")) {
+                // reference:
+                // 
https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html#keyword-params
+                // > ignore_above
+                // > Do not index any string longer than this value. Defaults 
to 2147483647 so that all values
+                // > would be accepted. Please however note that default 
dynamic mapping rules create a sub
+                // > keyword field that overrides this default by setting 
ignore_above: 256.
+                // this field has `ignore_above` param
+                // Strings longer than the ignore_above setting will not be 
indexed or stored
+                // so we cannot rely on its doc_values
+                return;
             }
             docValueField = colName;
         }
diff --git a/regression-test/data/external_table_p0/es/test_es_query.out 
b/regression-test/data/external_table_p0/es/test_es_query.out
index 1e103748dc4..ba0c87245a1 100644
--- a/regression-test/data/external_table_p0/es/test_es_query.out
+++ b/regression-test/data/external_table_p0/es/test_es_query.out
@@ -10,6 +10,7 @@
 2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
 2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
 2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
+2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
 
 -- !sql04 --
 I'm not null or empty
@@ -21,6 +22,7 @@ I'm not null or empty
 -- !sql06 --
 \N
 \N
+\N
 
 I'm not null or empty
 
@@ -29,73 +31,28 @@ I'm not null or empty
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]          
[{"last":"Smith","first":"J [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  I'm not null or empty   [{ [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  \N      [{"last":"Smith","fir [...]
+["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    
string_ignore_above_10  [1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     
text_ignore_above_10    ["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    
[1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770 [...]
 
 -- !sql08 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-
--- !sql20 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
-
--- !sql21 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
-
--- !sql22 --
-2022-08-08     2022-08-08T12:10:10     2022-08-08T12:10:10     
2022-08-08T04:10:10     2022-08-08T20:10:10
-2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
-2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
-2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql23 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":"Jo [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
-
--- !sql24 --
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
--- !sql01 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  \N      
[{"last":"Smith","first [...]
-
--- !sql02 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  \N      
[{"last":"Smith","first [...]
+-- !sql09 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
 
--- !sql03 --
-2022-08-08     2022-08-08T12:10:10     2022-08-08T12:10:10     
2022-08-08T04:10:10     2022-08-08T20:10:10
-2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
-2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
-2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql04 --
-I'm not null or empty
-
--- !sql05 --
-
-I'm not null or empty
-
--- !sql06 --
-\N
-\N
-
-I'm not null or empty
-
--- !sql07 --
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  \N      
[{"last":"Smith","first [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]          
[{"last":"Smith","first":"J [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  I'm not null or empty   [{ [...]
-["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  \N      [{"last":"Smith","fir [...]
-
--- !sql08 --
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
-[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+-- !sql10 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
 
 -- !sql20 --
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
@@ -108,18 +65,21 @@ I'm not null or empty
 2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
 2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
 2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
+2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
 
 -- !sql23 --
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":"Jo [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
+["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    
string_ignore_above_10  [1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     
text_ignore_above_10    ["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    
[1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770 [...]
 
 -- !sql24 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_5_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
@@ -136,6 +96,7 @@ I'm not null or empty
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_5_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -149,6 +110,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_5_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -175,23 +137,28 @@ true      1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 
 -- !sql_5_16 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_5_17 --
 
+I'm not null or empty
 I'm not null or empty
 
 -- !sql_5_18 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_5_19 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]              
string2 text2   4.0     2022-08-08T00:00        2222    2022-08-08T12:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string3 text3_4*5       5.0     2022-08-08T00:00        3333    
2022 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string_ignore_above_10  text_ignore_above_10    5.0      [...]
 
 -- !sql_5_20 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_5_21 --
 2022-08-08T20:10:10    2022-08-08 20
@@ -203,6 +170,18 @@ I'm not null or empty
 2022-08-08T12:10:10    2022-08-08 12
 2022-08-08T12:10:10    2022-08-08 12
 
+-- !sql_5_23 --
+string1
+string2
+string3
+string_ignore_above_10
+
+-- !sql_5_24 --
+text#1
+text2
+text3_4*5
+text_ignore_above_10
+
 -- !sql_6_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 
@@ -218,6 +197,7 @@ I'm not null or empty
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_6_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -231,6 +211,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_6_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -257,23 +238,28 @@ true      1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 
 -- !sql_6_16 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_6_17 --
 
+I'm not null or empty
 I'm not null or empty
 
 -- !sql_6_18 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_6_19 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]              
string2 text2   4.0     2022-08-08T00:00        2222    2022-08-08T12:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string3 text3_4*5       5.0     2022-08-08T00:00        3333    
2022 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string_ignore_above_10  text_ignore_above_10    5.0      [...]
 
 -- !sql_6_20 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_6_21 --
 2022-08-08T20:10:10    2022-08-08 20
@@ -285,6 +271,18 @@ I'm not null or empty
 2022-08-08T12:10:10    2022-08-08 12
 2022-08-08T12:10:10    2022-08-08 12
 
+-- !sql_6_23 --
+string1
+string2
+string3
+string_ignore_above_10
+
+-- !sql_6_24 --
+text#1
+text2
+text3_4*5
+text_ignore_above_10
+
 -- !sql_7_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
@@ -302,6 +300,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_7_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -321,6 +320,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_7_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -374,12 +374,14 @@ I'm not null or empty
 
 -- !sql_7_23 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
 -- !sql_7_24 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
@@ -389,6 +391,7 @@ I'm not null or empty
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_7_26 --
 2022-08-08T04:10:10    2022-08-08
@@ -406,7 +409,21 @@ I'm not null or empty
 2022-08-11T12:10:10    2022-08-11
 2022-08-11T12:10:10    2022-08-11
 
--- !sql_7_26 --
+-- !sql_7_30 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
+
+-- !sql_7_31 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
+
+-- !sql_7_50 --
 value1 value2
 
 -- !sql_8_01 --
@@ -423,6 +440,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_8_04 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -442,6 +460,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_8_07 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -495,12 +514,14 @@ I'm not null or empty
 
 -- !sql_8_21 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
 -- !sql_8_22 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
@@ -510,6 +531,7 @@ I'm not null or empty
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_8_24 --
 2022-08-08T04:10:10    2022-08-08
@@ -527,6 +549,20 @@ I'm not null or empty
 2022-08-11T12:10:10    2022-08-11
 2022-08-11T12:10:10    2022-08-11
 
+-- !sql_8_28 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
+
+-- !sql_8_29 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
+
 -- !sql01 --
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  \N      
[{"last":"Smith","first [...]
 
@@ -538,6 +574,7 @@ I'm not null or empty
 2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
 2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
 2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
+2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
 
 -- !sql04 --
 I'm not null or empty
@@ -549,6 +586,7 @@ I'm not null or empty
 -- !sql06 --
 \N
 \N
+\N
 
 I'm not null or empty
 
@@ -557,12 +595,28 @@ I'm not null or empty
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]          
[{"last":"Smith","first":"J [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  I'm not null or empty   [{ [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  \N      [{"last":"Smith","fir [...]
+["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    
string_ignore_above_10  [1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     
text_ignore_above_10    ["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    
[1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770 [...]
 
 -- !sql08 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+
+-- !sql09 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
+
+-- !sql10 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
 
 -- !sql20 --
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
@@ -575,18 +629,21 @@ I'm not null or empty
 2022-08-08     2022-08-09T12:10:10     2022-08-09T12:10:10     
2022-08-09T12:10:10     2022-08-09T12:10:10
 2022-08-08     2022-08-10T12:10:10     2022-08-10T12:10:10     
2022-08-10T04:10:10     2022-08-10T20:10:10
 2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
+2022-08-08     2022-08-11T12:10:10     2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10
 
 -- !sql23 --
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string1 
[1, 2, 3, 4]    2022-08-08      2022-08-08T12:10:10     text#1  ["2020-01-01", 
"2020-01-02"]    3.14    [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-08T12:10:10     2022-08-08T12:10:10     2022-08-08T20:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":" [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string2 
[1, 2, 3, 4]    2022-08-08      2022-08-09T12:10:10     text2   ["2020-01-01", 
"2020-01-02"]    4.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 ["a", "b", "c"] [{"name":"Andy","age":18},{"name":"Tim","age":28}]      
2022-08-09T12:10:10     2022-08-09T12:10:10     2022-08-09T12:10:10     [1, -2, 
-3, 4]  [1, 0, 1, 1]    [32768, 32769, -32769, -32770]  
[{"last":"Smith","first":"Jo [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string3 
[1, 2, 3, 4]    2022-08-08      2022-08-10T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    5.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-10T12:10:10     
2022-08-10T12:10:10     2022-08-10T20:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
 ["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    string4 
[1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     text3_4*5       
["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      
[1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770]  [{"last":"Smith","first" [...]
+["2020-01-01 12:00:00", "2020-01-02 13:01:01"] [-1, 0, 1, 2]   [0, 1, 2, 3]    
["d", "e", "f"] [128, 129, -129, -130]  ["192.168.0.1", "127.0.0.1"]    
string_ignore_above_10  [1, 2, 3, 4]    2022-08-08      2022-08-11T12:10:10     
text_ignore_above_10    ["2020-01-01", "2020-01-02"]    6.0     [1, 2, 3, 4]    
[1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]    ["a", "b", "c"] 
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      2022-08-11T12:10:10     
2022-08-11T12:10:10     2022-08-11T11:10:10     [1, -2, -3, 4]  [1, 0, 1, 1]    
[32768, 32769, -32769, -32770 [...]
 
 -- !sql24 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_5_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
@@ -603,6 +660,7 @@ I'm not null or empty
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_5_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -616,6 +674,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_5_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -642,23 +701,28 @@ true      1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 
 -- !sql_5_16 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_5_17 --
 
+I'm not null or empty
 I'm not null or empty
 
 -- !sql_5_18 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_5_19 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]              
string2 text2   4.0     2022-08-08T00:00        2222    2022-08-08T12:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string3 text3_4*5       5.0     2022-08-08T00:00        3333    
2022 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string_ignore_above_10  text_ignore_above_10    5.0      [...]
 
 -- !sql_5_20 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_5_21 --
 2022-08-08T20:10:10    2022-08-08 20
@@ -670,6 +734,18 @@ I'm not null or empty
 2022-08-08T12:10:10    2022-08-08 12
 2022-08-08T12:10:10    2022-08-08 12
 
+-- !sql_5_23 --
+string1
+string2
+string3
+string_ignore_above_10
+
+-- !sql_5_24 --
+text#1
+text2
+text3_4*5
+text_ignore_above_10
+
 -- !sql_6_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 
@@ -685,6 +761,7 @@ I'm not null or empty
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_6_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -698,6 +775,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_6_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -724,23 +802,28 @@ true      1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 
 -- !sql_6_16 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_6_17 --
 
+I'm not null or empty
 I'm not null or empty
 
 -- !sql_6_18 --
 I'm not null or empty
+I'm not null or empty
 
 -- !sql_6_19 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
string1 text#1  3.14    2022-08-08T00:00        12345   2022-08-08T20:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]              
string2 text2   4.0     2022-08-08T00:00        2222    2022-08-08T12:10:10
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string3 text3_4*5       5.0     2022-08-08T00:00        3333    
2022 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      I'm not 
null or empty   string_ignore_above_10  text_ignore_above_10    5.0      [...]
 
 -- !sql_6_20 --
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_6_21 --
 2022-08-08T20:10:10    2022-08-08 20
@@ -752,6 +835,18 @@ I'm not null or empty
 2022-08-08T12:10:10    2022-08-08 12
 2022-08-08T12:10:10    2022-08-08 12
 
+-- !sql_6_23 --
+string1
+string2
+string3
+string_ignore_above_10
+
+-- !sql_6_24 --
+text#1
+text2
+text3_4*5
+text_ignore_above_10
+
 -- !sql_7_02 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
@@ -769,6 +864,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_7_06 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -788,6 +884,7 @@ true        1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_7_09 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -841,12 +938,14 @@ I'm not null or empty
 
 -- !sql_7_23 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
 -- !sql_7_24 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
@@ -856,6 +955,7 @@ I'm not null or empty
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_7_26 --
 2022-08-08T04:10:10    2022-08-08
@@ -873,7 +973,21 @@ I'm not null or empty
 2022-08-11T12:10:10    2022-08-11
 2022-08-11T12:10:10    2022-08-11
 
--- !sql_7_26 --
+-- !sql_7_30 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
+
+-- !sql_7_31 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
+
+-- !sql_7_50 --
 value1 value2
 
 -- !sql_8_01 --
@@ -890,6 +1004,7 @@ true       1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
+true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
 
 -- !sql_8_04 --
 true   1       128     32768   -1      0       1.0     1.0     1.0     1.0     
2020-01-01      2020-01-01T12:00        a       d       192.168.0.1     
{"name":"Andy","age":18}
@@ -909,6 +1024,7 @@ true       1       128     32768   -1      0       1.0     
1.0     1.0     1.0     2020-01-01      2020-01-01T12:00        a       d       
192.168.0.
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
+[1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
 
 -- !sql_8_07 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  [128, 129, -129, -130]  [32768, 32769, -32769, 
-32770]  [-1, 0, 1, 2]   [0, 1, 2, 3]    [1, 1.1, 1.2, 1.3]      [1, 2, 3, 4]   
 [1, 2, 3, 4]    [1, 2, 3, 4]    ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  ["a", "b", "c"] ["d", "e", "f"] 
["192.168.0.1", "127.0.0.1"]    
[{"name":"Andy","age":18},{"name":"Tim","age":28}]
@@ -962,12 +1078,14 @@ I'm not null or empty
 
 -- !sql_8_21 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
 
 -- !sql_8_22 --
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string4 2022-08-08T20:10:10     text3_4*5       6.0     
2022-08-08T00:00        20 [...]
+[1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
\N      \N      string_ignore_above_10  2022-08-08T20:10:10     
text_ignore_above_ [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
        \N      string2 2022-08-08T12:10:10     text2   4.0     
2022-08-08T00:00        2022-08- [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      \N      
I'm not null or empty   \N      string3 2022-08-09T00:40:10     text3_4*5       
5.0      [...]
 [1, 0, 1, 1]   [1, -2, -3, 4]  ["2020-01-01", "2020-01-02"]    ["2020-01-01 
12:00:00", "2020-01-02 13:01:01"]  [1, 2, 3, 4]    [1, 1.1, 1.2, 1.3]      [1, 
2, 3, 4]    [32768, 32769, -32769, -32770]  ["192.168.0.1", "127.0.0.1"]    
["a", "b", "c"] [-1, 0, 1, 2]   
[{"name":"Andy","age":18},{"name":"Tim","age":28}]      [1, 2, 3, 4]    [128, 
129, -129, -130]  ["d", "e", "f"] [0, 1, 2, 3]    
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      debug   
\N      This string can be quite lengthy        string1 2022-08-08T20:10:10     
 [...]
@@ -977,6 +1095,7 @@ I'm not null or empty
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 [{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
+[{"name":"Andy","age":18},{"name":"Tim","age":28}]     
[{"last":"Smith","first":"John"},{"last":"White","first":"Alice"}]      "Andy"  
"White"
 
 -- !sql_8_24 --
 2022-08-08T04:10:10    2022-08-08
@@ -994,3 +1113,17 @@ I'm not null or empty
 2022-08-11T12:10:10    2022-08-11
 2022-08-11T12:10:10    2022-08-11
 
+-- !sql_8_28 --
+string1
+string2
+string3
+string4
+string_ignore_above_10
+
+-- !sql_8_29 --
+text#1
+text2
+text3_4*5
+text3_4*5
+text_ignore_above_10
+
diff --git 
a/regression-test/data/external_table_p0/es/test_es_query_nereids.out 
b/regression-test/data/external_table_p0/es/test_es_query_nereids.out
index bdc654c706a..0c9bed926df 100644
--- a/regression-test/data/external_table_p0/es/test_es_query_nereids.out
+++ b/regression-test/data/external_table_p0/es/test_es_query_nereids.out
@@ -1,42 +1,12 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !sql62 --
-string1        text#1  3.14    2022-08-08T08:00
+string1        text#1  3.14    2022-08-08T00:00
 
 -- !sql63 --
-string1        text#1  3.14    2022-08-08T08:00
-string2        text2   4.0     2022-08-08T08:00
-string3        text3_4*5       5.0     2022-08-08T08:00
+string1        text#1  3.14    2022-08-08T00:00
+string2        text2   4.0     2022-08-08T00:00
+string3        text3_4*5       5.0     2022-08-08T00:00
 
 -- !sql64 --
-string2        text2   4.0     2022-08-08T08:00
-
--- !sql72 --
-string1        text#1  3.14    2022-08-08T08:00        2022-08-08T12:10:10     
\N      2022-08-08T04:10:10     2022-08-08T20:10:10
-string2        text2   4.0     2022-08-08T08:00        2022-08-09T12:10:10     
\N      2022-08-09T12:10:10     2022-08-09T12:10:10
-string3        text3_4*5       5.0     2022-08-08T08:00        
2022-08-10T12:10:10     \N      2022-08-10T04:10:10     2022-08-10T20:10:10
-string4        text3_4*5       6.0     2022-08-08T08:00        
2022-08-11T12:10:10     \N      2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql73 --
-string1        text#1  3.14    2022-08-08T08:00        2022-08-08T12:10:10     
\N      2022-08-08T04:10:10     2022-08-08T20:10:10
-string2        text2   4.0     2022-08-08T08:00        2022-08-09T12:10:10     
\N      2022-08-09T12:10:10     2022-08-09T12:10:10
-string3        text3_4*5       5.0     2022-08-08T08:00        
2022-08-10T12:10:10     \N      2022-08-10T04:10:10     2022-08-10T20:10:10
-string4        text3_4*5       6.0     2022-08-08T08:00        
2022-08-11T12:10:10     \N      2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql74 --
-string1        text#1  3.14    2022-08-08T08:00        2022-08-08T12:10:10     
\N      2022-08-08T04:10:10     2022-08-08T20:10:10
-string2        text2   4.0     2022-08-08T08:00        2022-08-09T12:10:10     
\N      2022-08-09T12:10:10     2022-08-09T12:10:10
-string3        text3_4*5       5.0     2022-08-08T08:00        
2022-08-10T12:10:10     \N      2022-08-10T04:10:10     2022-08-10T20:10:10
-string4        text3_4*5       6.0     2022-08-08T08:00        
2022-08-11T12:10:10     \N      2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql81 --
-string1        text#1  3.14    2022-08-08T08:00        2022-08-08T12:10:10     
\N      2022-08-08T04:10:10     2022-08-08T20:10:10
-string2        text2   4.0     2022-08-08T08:00        2022-08-09T12:10:10     
\N      2022-08-09T12:10:10     2022-08-09T12:10:10
-string3        text3_4*5       5.0     2022-08-08T08:00        
2022-08-10T12:10:10     \N      2022-08-10T04:10:10     2022-08-10T20:10:10
-string4        text3_4*5       6.0     2022-08-08T08:00        
2022-08-11T12:10:10     \N      2022-08-11T12:10:10     2022-08-11T11:10:10
-
--- !sql82 --
-string1        text#1  3.14    2022-08-08T08:00        2022-08-08T12:10:10     
\N      2022-08-08T04:10:10     2022-08-08T20:10:10
-string2        text2   4.0     2022-08-08T08:00        2022-08-09T12:10:10     
\N      2022-08-09T12:10:10     2022-08-09T12:10:10
-string3        text3_4*5       5.0     2022-08-08T08:00        
2022-08-10T12:10:10     \N      2022-08-10T04:10:10     2022-08-10T20:10:10
-string4        text3_4*5       6.0     2022-08-08T08:00        
2022-08-11T12:10:10     \N      2022-08-11T12:10:10     2022-08-11T11:10:10
+string2        text2   4.0     2022-08-08T00:00
 
diff --git a/regression-test/suites/external_table_p0/es/test_es_query.groovy 
b/regression-test/suites/external_table_p0/es/test_es_query.groovy
index 9d9c7a9bacc..bf89d760300 100644
--- a/regression-test/suites/external_table_p0/es/test_es_query.groovy
+++ b/regression-test/suites/external_table_p0/es/test_es_query.groovy
@@ -125,14 +125,7 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
                 "http_ssl_enabled"="false"
             );
         """
-        order_qt_sql01 """select * from test_v1 where test2='text#1'"""
-        order_qt_sql02 """select * from test_v1 where esquery(test2, 
'{"match":{"test2":"text#1"}}')"""
-        order_qt_sql03 """select test4,test5,test6,test7,test8 from test_v1 
order by test8"""
-        order_qt_sql04 """select message from test_v1 where message != ''"""
-        order_qt_sql05 """select message from test_v1 where message is not 
null"""
-        order_qt_sql06 """select message from test_v1 where 
not_null_or_empty(message)"""
-        order_qt_sql07 """select * from test_v1 where esquery(c_datetime, 
'{"term":{"c_datetime":"2020-01-01 12:00:00"}}');"""
-        order_qt_sql08 """select c_person, c_user, json_extract(c_person, 
'\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v1;"""
+        
        sql """
             CREATE TABLE `test_v2` (
                 `c_datetime` array<datetimev2> NULL,
@@ -170,11 +163,6 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
                 "http_ssl_enabled"="false"
             );
         """
-        order_qt_sql20 """select * from test_v2 where test2='text#1'"""
-        order_qt_sql21 """select * from test_v2 where esquery(test2, 
'{"match":{"test2":"text#1"}}')"""
-        order_qt_sql22 """select test4,test5,test6,test7,test8 from test_v2 
order by test8"""
-        order_qt_sql23 """select * from test_v2 where esquery(c_long, 
'{"term":{"c_long":"-1"}}');"""
-        order_qt_sql24 """select c_person, c_user, json_extract(c_person, 
'\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v2;"""
 
         def query_catalogs = { -> 
             sql """switch internal"""
@@ -187,6 +175,8 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             order_qt_sql06 """select message from test_v1 where 
not_null_or_empty(message)"""
             order_qt_sql07 """select * from test_v1 where esquery(c_datetime, 
'{"term":{"c_datetime":"2020-01-01 12:00:00"}}');"""
             order_qt_sql08 """select c_person, c_user, json_extract(c_person, 
'\$.[0].name'), json_extract(c_user, '\$.[1].last') from test_v1;"""
+            order_qt_sql09 """select test1 from test_v1;"""
+            order_qt_sql10 """select test2 from test_v1;"""
             
             order_qt_sql20 """select * from test_v2 where test2='text#1'"""
             order_qt_sql21 """select * from test_v2 where esquery(test2, 
'{"match":{"test2":"text#1"}}')"""
@@ -216,6 +206,8 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             order_qt_sql_5_20 """select c_person, c_user, 
json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from 
test1;"""
             order_qt_sql_5_21 """select test6, substring(test6, 1, 13) from 
test2 where substring(test6, 1, 13) = '2022-08-08 20' limit 4;"""
             order_qt_sql_5_22 """select test6, substring(test6, 1, 13) from 
test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;"""
+            order_qt_sql_5_23 """select test1 from test1;"""
+            order_qt_sql_5_24 """select test2 from test1;"""
             try {
                 sql """select * from composite_type_array;"""
                 fail("Should not reach here")
@@ -247,6 +239,8 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             order_qt_sql_6_20 """select c_person, c_user, 
json_extract(c_person, '\$.[0].name'), json_extract(c_user, '\$.[1].last') from 
test1;"""
             order_qt_sql_6_21 """select test6, substring(test6, 1, 13) from 
test2 where substring(test6, 1, 13) = '2022-08-08 20' limit 4;"""
             order_qt_sql_6_22 """select test6, substring(test6, 1, 13) from 
test2 where substring(test6, 1, 13) = '2022-08-08 12' limit 4;"""
+            order_qt_sql_6_23 """select test1 from test1;"""
+            order_qt_sql_6_24 """select test2 from test1;"""
             try {
                 sql """select * from composite_type_array;"""
                 fail("Should not reach here")
@@ -303,6 +297,8 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             order_qt_sql_7_27 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-09' limit 2;"""
             order_qt_sql_7_28 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-10' limit 2;"""
             order_qt_sql_7_29 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-11' limit 2;"""
+            order_qt_sql_7_30 """select test1 from test1;"""
+            order_qt_sql_7_31 """select test2 from test1;"""
             try {
                 sql """select * from composite_type_array;"""
                 fail("Should not reach here")
@@ -329,7 +325,7 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             }
             assertTrue(containeHide7)
 
-            order_qt_sql_7_26 """select * from test3_20231005"""
+            order_qt_sql_7_50 """select * from test3_20231005"""
 
             sql """switch test_es_query_es8"""
             order_qt_sql_8_01 """select * from test1 where test2='text#1'"""
@@ -359,6 +355,8 @@ suite("test_es_query", 
"p0,external,es,external_docker,external_docker_es") {
             order_qt_sql_8_25 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-09' limit 2;"""
             order_qt_sql_8_26 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-10' limit 2;"""
             order_qt_sql_8_27 """select test7,substring(test7, 1, 10) from 
test2 where substring(test7, 1, 10)='2022-08-11' limit 2;"""
+            order_qt_sql_8_28 """select test1 from test1;"""
+            order_qt_sql_8_29 """select test2 from test1;"""
             try {
                 sql """select * from composite_type_array;"""
                 fail("Should not reach here")


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

Reply via email to