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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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=<
Fetch Records
> 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=<
Index
C2
> 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},