diff --git a/yaml-tests/src/test/resources/like.metrics.binpb b/yaml-tests/src/test/resources/like.metrics.binpb
index 9068389e1a..db9ce75bf6 100644
--- a/yaml-tests/src/test/resources/like.metrics.binpb
+++ b/yaml-tests/src/test/resources/like.metrics.binpb
@@ -1,127 +1,124 @@
-
+
6
- unnamed-3)EXPLAIN select * from C WHERE C2 LIKE '%'
-M (08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4)EXPLAIN select * from C WHERE C2 LIKE '%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
7
- unnamed-3*EXPLAIN select * from C WHERE C2 LIKE 'a%'
-
-M (0ڿ&8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4*EXPLAIN select * from C WHERE C2 LIKE 'a%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
8
- unnamed-3+EXPLAIN select * from C WHERE C2 LIKE 'ap%'
-̰M ֻ(08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4+EXPLAIN select * from C WHERE C2 LIKE 'ap%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
9
- unnamed-3,EXPLAIN select * from C WHERE C2 LIKE 'a%l%'
-M (08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4,EXPLAIN select * from C WHERE C2 LIKE 'a%l%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
8
- unnamed-3+EXPLAIN select * from C WHERE C2 LIKE 'ca%'
-M (08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4+EXPLAIN select * from C WHERE C2 LIKE 'ca%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
:
- unnamed-3-EXPLAIN select * from C WHERE C2 LIKE 'ca_al'
-M Ʃ(08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4-EXPLAIN select * from C WHERE C2 LIKE 'ca_al'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
:
- unnamed-3-EXPLAIN select * from C WHERE C2 LIKE 'ca%al'
-M (08#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4-EXPLAIN select * from C WHERE C2 LIKE 'ca%al'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
;
- unnamed-3.EXPLAIN select * from C WHERE C2 LIKE 'ca_al%'
-
-M (0"8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4.EXPLAIN select * from C WHERE C2 LIKE 'ca_al%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
4 -> 3 [ color="gray20" style="solid" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
2 -> 1 [ label=< q39> label="q39" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
-}
+}
;
- unnamed-3.EXPLAIN select * from C WHERE C2 LIKE 'ca%al%'
-
-M (0$8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8 ESCAPE 'null' | FETCH
digraph G {
+ unnamed-4.EXPLAIN select * from C WHERE C2 LIKE 'ca%al%'
+M (0۫8#@[COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH
digraph G {
fontname=courier;
rankdir=BT;
splines=line;
1 [ label=<> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="12" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
- 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c8 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
+ 2 [ label=<| Predicate Filter |
| WHERE q37.C2 LIKE @c7 ESCAPE 'null' |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 [ label=<| Covering Index Scan |
| range: <-∞, ∞> |
> color="black" shape="plain" style="solid" fillcolor="black" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
4 [ label=<> color="black" shape="plain" style="filled" fillcolor="lightblue" fontname="courier" fontsize="8" tooltip="RELATION(INT AS C1, STRING AS C2)" ];
3 -> 2 [ label=< q37> label="q37" color="gray20" style="bold" fontname="courier" fontsize="8" arrowhead="normal" arrowtail="none" dir="both" ];
diff --git a/yaml-tests/src/test/resources/like.metrics.yaml b/yaml-tests/src/test/resources/like.metrics.yaml
index a1e651ab41..b623ff889d 100644
--- a/yaml-tests/src/test/resources/like.metrics.yaml
+++ b/yaml-tests/src/test/resources/like.metrics.yaml
@@ -1,109 +1,109 @@
-unnamed-3:
+unnamed-4:
- query: EXPLAIN select * from C WHERE C2 LIKE '%'
- ref: like.yamsql:157
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:154
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 9
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 3
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'a%'
- ref: like.yamsql:181
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:178
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 21
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 6
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ap%'
- ref: like.yamsql:193
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:190
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 11
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 4
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'a%l%'
- ref: like.yamsql:202
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:199
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 8
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 3
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ca%'
- ref: like.yamsql:280
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:278
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 13
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 5
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ca_al'
- ref: like.yamsql:293
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:291
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 8
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 2
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ca%al'
- ref: like.yamsql:302
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:300
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 9
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 3
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ca_al%'
- ref: like.yamsql:310
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:308
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 21
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 7
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
- query: EXPLAIN select * from C WHERE C2 LIKE 'ca%al%'
- ref: like.yamsql:318
- explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c8
+ ref: like.yamsql:316
+ explain: 'COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7
ESCAPE ''null'' | FETCH'
task_count: 314
- task_total_time_ms: 21
+ task_total_time_ms: 60
transform_count: 77
- transform_time_ms: 7
+ transform_time_ms: 29
transform_yield_count: 29
- insert_time_ms: 0
+ insert_time_ms: 2
insert_new_count: 35
insert_reused_count: 5
diff --git a/yaml-tests/src/test/resources/like.yamsql b/yaml-tests/src/test/resources/like.yamsql
index c1a3f0a7fe..eeac7e3eb0 100644
--- a/yaml-tests/src/test/resources/like.yamsql
+++ b/yaml-tests/src/test/resources/like.yamsql
@@ -129,7 +129,6 @@ test_block:
{'{abcdefghijk}'},
{'*abcdef'}]
-
- # TODO (Investigate `Missing binding for __const_CONSTANT` error with queries when using plan from cache)
- query: select * from A WHERE A1 LIKE '%ABC%'
- unorderedResult: [{'ABCDEFGHIJKLMNOPQRSTUVWXYZ'}]
-
@@ -152,12 +151,7 @@ test_block:
{'\\||%'}]
-
- query: select * from C WHERE C2 LIKE '%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 1, C2: alphabet},
{ C1: 2, C2: anticipation},
@@ -181,12 +175,7 @@ test_block:
]
-
- query: select * from C WHERE C2 LIKE 'a%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 1, C2: alphabet},
{ C1: 2, C2: anticipation},
@@ -198,12 +187,7 @@ test_block:
]
-
- query: select * from C WHERE C2 LIKE 'ap%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 3, C2: aplomb},
{ C1: 4, C2: apple},
@@ -212,12 +196,7 @@ test_block:
]
-
- query: select * from C WHERE C2 LIKE 'a%l%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 1, C2: alphabet},
{ C1: 3, C2: aplomb},
@@ -296,12 +275,7 @@ test_block:
- query: select * from C WHERE C2 LIKE 'ca%'
# In theory, this could be executed optimally with prefix string scan with the prefix "ca"
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 13, C2: cabal},
{ C1: 14, C2: camel},
@@ -314,13 +288,7 @@ test_block:
- query: select * from C WHERE C2 LIKE 'ca_al'
# In theory, this could be optimized with prefix string scan with the prefix "ca" followed by compensation
# to handle filtering out based on the tail
-
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 13, C2: cabal},
{ C1: 15, C2: canal},
@@ -329,13 +297,7 @@ test_block:
- query: select * from C WHERE C2 LIKE 'ca%al'
# In theory, this could be optimized with prefix string scan with the prefix "ca" followed by compensation
# to handle matching the tail
-
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 13, C2: cabal},
{ C1: 15, C2: canal},
@@ -343,12 +305,7 @@ test_block:
]
-
- query: select * from C WHERE C2 LIKE 'ca_al%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 13, C2: cabal},
{ C1: 15, C2: canal},
@@ -356,12 +313,7 @@ test_block:
]
-
- query: select * from C WHERE C2 LIKE 'ca%al%'
- # currently LIKE statement does not work for cached plan
- # in this test EXPLAIN statement runs first and caches the plan
- # for compare results plan is executed from the cache
- # that causes an exception `Missing binding for __const_CONSTANT`
- # to be uncommented after the fix
- # - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
+ - explain: "COVERING(C2 <,> -> [C1: KEY:[2], C2: KEY:[0]]) | FILTER _.C2 LIKE @c7 ESCAPE 'null' | FETCH"
- result: [
{ C1: 13, C2: cabal},
{ C1: 15, C2: canal},