This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/main by this push:
new 3530dd9b Add stream related QL test cases (#810)
3530dd9b is described below
commit 3530dd9b5cefaa4fef60eec91ecbfbdfcaf243c5
Author: mrproliu <[email protected]>
AuthorDate: Mon Oct 20 08:54:29 2025 +0800
Add stream related QL test cases (#810)
---
docs/interacting/bydbql.md | 7 +++++--
pkg/query/logical/tag_filter.go | 4 ++++
.../stream/data/input/{global_index.yaml => all.ql} | 20 ++------------------
.../input/{global_index.yaml => all_max_limit.ql} | 21 +++------------------
.../input/{global_index.yaml => duplicated_all.ql} | 20 ++------------------
...lobal_index.yaml => duplicated_entity_filter.ql} | 21 +++------------------
...global_index.yaml => duplicated_index_filter.ql} | 21 +++------------------
...bal_index.yaml => duplicated_order_by_filter.ql} | 21 +++------------------
...obal_index.yaml => duplicated_order_by_index.ql} | 21 +++------------------
.../data/input/{global_index.yaml => err_in_arr.ql} | 21 +++------------------
.../{global_index.yaml => filter_no_indexed.ql} | 21 +++------------------
test/cases/stream/data/input/filter_no_indexed.yaml | 15 ++++++---------
.../{global_index.yaml => filter_no_indexed_or.ql} | 21 +++------------------
.../stream/data/input/filter_no_indexed_or.yaml | 15 ++++++---------
.../{global_index.yaml => filter_order_desc.ql} | 21 +++------------------
.../data/input/{global_index.yaml => filter_tag.ql} | 21 +++------------------
.../{global_index.yaml => filter_tag_empty.ql} | 21 +++------------------
.../input/{global_index.yaml => global_index.ql} | 21 +++------------------
test/cases/stream/data/input/global_index.yaml | 15 ++++++---------
.../input/{global_index.yaml => global_indices.ql} | 21 +++------------------
test/cases/stream/data/input/global_indices.yaml | 15 ++++++---------
.../data/input/{global_index.yaml => having.ql} | 21 +++------------------
.../{global_index.yaml => having_non_indexed.ql} | 21 +++------------------
...{global_index.yaml => having_non_indexed_arr.ql} | 21 +++------------------
.../input/{global_index.yaml => hybrid_index.ql} | 21 +++------------------
.../data/input/{global_index.yaml => less.ql} | 21 +++------------------
.../data/input/{global_index.yaml => less_eq.ql} | 21 +++------------------
.../data/input/{global_index.yaml => limit.ql} | 21 +++------------------
.../data/input/{global_index.yaml => logical.ql} | 21 +++------------------
.../{global_index.yaml => multi_group_new_tag.ql} | 20 ++------------------
...obal_index.yaml => multi_group_sort_duration.ql} | 21 +++------------------
.../{global_index.yaml => multi_group_tag_type.ql} | 20 ++------------------
.../{global_index.yaml => multi_group_unchanged.ql} | 20 ++------------------
.../data/input/{global_index.yaml => offset.ql} | 21 +++------------------
.../data/input/{global_index.yaml => order_asc.ql} | 21 +++------------------
.../data/input/{global_index.yaml => order_desc.ql} | 21 +++------------------
.../data/input/{global_index.yaml => search.ql} | 21 +++------------------
.../data/input/{global_index.yaml => sort_desc.ql} | 21 +++------------------
...l_index.yaml => sort_duration_no_index_limit.ql} | 21 +++------------------
.../data/input/{global_index.yaml => sort_empty.ql} | 21 +++------------------
.../input/{global_index.yaml => sort_filter.ql} | 21 +++------------------
41 files changed, 133 insertions(+), 668 deletions(-)
diff --git a/docs/interacting/bydbql.md b/docs/interacting/bydbql.md
index fc4b5181..996a9b3b 100644
--- a/docs/interacting/bydbql.md
+++ b/docs/interacting/bydbql.md
@@ -303,7 +303,7 @@ criteria ::= condition (("AND" | "OR") condition)*
condition ::= identifier binary_op (value | value_list)
time_condition ::= "=" timestamp | ">" timestamp | "<" timestamp | ">="
timestamp | "<=" timestamp | "BETWEEN" timestamp "AND" timestamp
binary_op ::= "=" | "!=" | ">" | "<" | ">=" | "<=" | "IN" | "NOT IN" |
"HAVING" | "NOT HAVING" | "MATCH"
-order_expression::= identifier ["ASC" | "DESC"]
+order_expression::= [identifier] ["ASC" | "DESC"]
value ::= string_literal | integer_literal | "NULL"
value_list ::= "(" value ("," value)* ")"
timestamp ::= string_literal | integer_literal
@@ -331,7 +331,10 @@ integer_literal ::= [0-9]+
* **`TIME > '-30m'`**: Sets `begin` to 30 minutes ago.
* **`TIME BETWEEN '-1h' AND 'now'`**: Sets `begin` to 1 hour ago and
`end` to current time.
* **`WHERE conditions`**: Maps to `criteria`.
-* **`ORDER BY field`**: Maps to `order_by`.
+* **`ORDER BY` clause**: Maps to `order_by`. Supports the following forms:
+ * **`ORDER BY field`**: Maps to `order_by` with ascending sort by
default.
+ * **`ORDER BY field DESC` / `ORDER BY field ASC`**: Adds an explicit
sort direction while targeting the specified field.
+ * **`ORDER BY TIME DESC` / `ORDER BY TIME ASC`**: Shorthand that relies
on the timestamps.
* **`LIMIT`/`OFFSET`**: Maps to `limit` and `offset`.
* **`WITH QUERY_TRACE`**: Maps to the `trace` field to enable distributed
tracing of query execution.
diff --git a/pkg/query/logical/tag_filter.go b/pkg/query/logical/tag_filter.go
index 1e4d0af7..16655bd6 100644
--- a/pkg/query/logical/tag_filter.go
+++ b/pkg/query/logical/tag_filter.go
@@ -393,6 +393,10 @@ func newInTag(tagName string, values LiteralExpr) *inTag {
}
}
+func (h *inTag) String() string {
+ return convert.JSONToString(h)
+}
+
func (h *inTag) Match(accessor TagValueIndexAccessor, registry
TagSpecRegistry) (bool, error) {
expr, err := tagExpr(accessor, registry, h.Name, nil)
if err != nil {
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/all.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/all.ql
index 9beb9160..a226f8be 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/all.ql
@@ -15,21 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/all_max_limit.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/all_max_limit.ql
index 9beb9160..4073075a 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/all_max_limit.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+LIMIT 4294967295
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/duplicated_all.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/duplicated_all.ql
index 9beb9160..8bcf07c8 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/duplicated_all.ql
@@ -15,21 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id, duration, data_binary FROM
STREAM duplicated IN default
+TIME > '-15m'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/duplicated_entity_filter.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/duplicated_entity_filter.ql
index 9beb9160..454e72e4 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/duplicated_entity_filter.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id, duration, data_binary FROM
STREAM duplicated IN default
+TIME > '-15m'
+WHERE service_instance_id = '10.0.0.3_id'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/duplicated_index_filter.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/duplicated_index_filter.ql
index 9beb9160..b391014d 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/duplicated_index_filter.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id, duration, data_binary FROM
STREAM duplicated IN default
+TIME > '-15m'
+WHERE trace_id = '1'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/duplicated_order_by_filter.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/duplicated_order_by_filter.ql
index 9beb9160..24212a18 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/duplicated_order_by_filter.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id, duration, data_binary FROM
STREAM duplicated IN default
+TIME > '-15m'
+WHERE trace_id = '1' ORDER BY duration DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/duplicated_order_by_index.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/duplicated_order_by_index.ql
index 9beb9160..bc635799 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/duplicated_order_by_index.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id, duration, data_binary FROM
STREAM duplicated IN default
+TIME > '-15m'
+ORDER BY duration DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/err_in_arr.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/err_in_arr.ql
index 9beb9160..e581823f 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/err_in_arr.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, extended_tags, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE extended_tags IN ('c', 'b')
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/filter_no_indexed.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/filter_no_indexed.ql
index 9beb9160..d080ce43 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/filter_no_indexed.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, span_id, start_time FROM STREAM sw IN default
+TIME > '-15m'
+WHERE span_id = '1' AND start_time = 1622933202000000000
diff --git a/test/cases/stream/data/input/filter_no_indexed.yaml
b/test/cases/stream/data/input/filter_no_indexed.yaml
index b89010d4..2e6ad046 100644
--- a/test/cases/stream/data/input/filter_no_indexed.yaml
+++ b/test/cases/stream/data/input/filter_no_indexed.yaml
@@ -32,12 +32,9 @@ criteria:
str:
value: "1"
right:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "start_time"
- op: "BINARY_OP_EQ"
- value:
- int:
- value: 1622933202000000000
+ condition:
+ name: "start_time"
+ op: "BINARY_OP_EQ"
+ value:
+ int:
+ value: 1622933202000000000
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/filter_no_indexed_or.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/filter_no_indexed_or.ql
index 9beb9160..2ed108c3 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/filter_no_indexed_or.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT state, trace_id, span_id, start_time FROM STREAM sw IN default
+TIME > '-15m'
+WHERE span_id = '1' OR start_time = 1622933202000000000 AND state = 0
diff --git a/test/cases/stream/data/input/filter_no_indexed_or.yaml
b/test/cases/stream/data/input/filter_no_indexed_or.yaml
index 3a638f58..50fa2c19 100644
--- a/test/cases/stream/data/input/filter_no_indexed_or.yaml
+++ b/test/cases/stream/data/input/filter_no_indexed_or.yaml
@@ -42,12 +42,9 @@ criteria:
int:
value: 1622933202000000000
right:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "state"
- op: "BINARY_OP_EQ"
- value:
- int:
- value: "0"
+ condition:
+ name: "state"
+ op: "BINARY_OP_EQ"
+ value:
+ int:
+ value: "0"
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/filter_order_desc.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/filter_order_desc.ql
index 9beb9160..f5db3b3e 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/filter_order_desc.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE duration < 500 ORDER BY DESC LIMIT 2
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/filter_tag.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/filter_tag.ql
index 9beb9160..d7e9cc45 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/filter_tag.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, span_id FROM STREAM sw IN default
+TIME > '-15m'
+WHERE trace_id = '1' AND span_id = '1'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/filter_tag_empty.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/filter_tag_empty.ql
index 9beb9160..8b99aa0a 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/filter_tag_empty.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, span_id FROM STREAM sw IN default
+TIME > '-15m'
+WHERE trace_id = '1' AND span_id = '2'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/global_index.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/global_index.ql
index 9beb9160..84a004f0 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/global_index.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE trace_id = '1'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/global_index.yaml
index 9beb9160..536a3bb1 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/global_index.yaml
@@ -24,12 +24,9 @@ projection:
- name: "data"
tags: ["data_binary"]
criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+ condition:
+ name: "trace_id"
+ op: "BINARY_OP_EQ"
+ value:
+ str:
+ value: "1"
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/global_indices.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/global_indices.ql
index 9beb9160..146f5eac 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/global_indices.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE trace_id IN ('1', '3', '5', 'unknown')
diff --git a/test/cases/stream/data/input/global_indices.yaml
b/test/cases/stream/data/input/global_indices.yaml
index 84db8172..c4d00b05 100644
--- a/test/cases/stream/data/input/global_indices.yaml
+++ b/test/cases/stream/data/input/global_indices.yaml
@@ -24,12 +24,9 @@ projection:
- name: "data"
tags: ["data_binary"]
criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_IN"
- value:
- str_array:
- value: ["1", "3", "5", "unknown"]
+ condition:
+ name: "trace_id"
+ op: "BINARY_OP_IN"
+ value:
+ str_array:
+ value: ["1", "3", "5", "unknown"]
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/having.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/having.ql
index 9beb9160..218845bd 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/having.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, extended_tags, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE extended_tags HAVING ('c', 'b')
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/having_non_indexed.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/having_non_indexed.ql
index 9beb9160..28e7e44c 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/having_non_indexed.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, non_indexed_tags, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE non_indexed_tags HAVING 'c'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/having_non_indexed_arr.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/having_non_indexed_arr.ql
index 9beb9160..d11e6d5b 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/having_non_indexed_arr.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, non_indexed_tags, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE non_indexed_tags HAVING ('b', 'c')
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/hybrid_index.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/hybrid_index.ql
index 9beb9160..da350de1 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/hybrid_index.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, extended_tags, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE extended_tags HAVING ('c', 'b') AND trace_id = '5'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/less.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/less.ql
index 9beb9160..8d6724c4 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/less.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE duration < 500
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/less_eq.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/less_eq.ql
index 9beb9160..7d36ceae 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/less_eq.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE duration <= 500
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/limit.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/limit.ql
index 9beb9160..c293c5f5 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/limit.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+LIMIT 3
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/logical.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/logical.ql
index 9beb9160..4c9532b2 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/logical.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, service_id, status_code, data_binary FROM STREAM sw
IN default
+TIME > '-15m'
+WHERE status_code < 200 AND service_id = 'webapp_id' OR duration < 100
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/multi_group_new_tag.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/multi_group_new_tag.ql
index 9beb9160..49b58371 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/multi_group_new_tag.ql
@@ -15,21 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, new_tag FROM STREAM sw IN default, updated
+TIME > '-15m'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/multi_group_sort_duration.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/multi_group_sort_duration.ql
index 9beb9160..e038e618 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/multi_group_sort_duration.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration FROM STREAM sw IN default, updated
+TIME > '-15m'
+ORDER BY duration DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/multi_group_tag_type.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/multi_group_tag_type.ql
index 9beb9160..3c253b65 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/multi_group_tag_type.ql
@@ -15,21 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, status_code FROM STREAM sw IN default, updated
+TIME > '-15m'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/multi_group_unchanged.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/multi_group_unchanged.ql
index 9beb9160..14163889 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/multi_group_unchanged.ql
@@ -15,21 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, service_id, service_instance_id FROM STREAM sw IN default,
updated
+TIME > '-15m'
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/offset.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/offset.ql
index 9beb9160..f0dceb3a 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/offset.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+LIMIT 1 OFFSET 3
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/order_asc.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/order_asc.ql
index 9beb9160..56211235 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/order_asc.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+ORDER BY TIME ASC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/order_desc.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/order_desc.ql
index 9beb9160..95921144 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/order_desc.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+ORDER BY TIME DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/search.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/search.ql
index 9beb9160..26026204 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/search.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, db.instance, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE db.instance MATCH('mysql')
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/sort_desc.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/sort_desc.ql
index 9beb9160..2481b2a4 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/sort_desc.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+ORDER BY duration DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/sort_duration_no_index_limit.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/sort_duration_no_index_limit.ql
index 9beb9160..a3b60f82 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/sort_duration_no_index_limit.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, span_id, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE span_id = '2' ORDER BY duration DESC LIMIT 2
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/sort_empty.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/sort_empty.ql
index 9beb9160..f9231bd9 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/sort_empty.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT service_instance_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE service_instance_id = 'foo' ORDER BY duration DESC
diff --git a/test/cases/stream/data/input/global_index.yaml
b/test/cases/stream/data/input/sort_filter.ql
similarity index 71%
copy from test/cases/stream/data/input/global_index.yaml
copy to test/cases/stream/data/input/sort_filter.ql
index 9beb9160..86c7f56d 100644
--- a/test/cases/stream/data/input/global_index.yaml
+++ b/test/cases/stream/data/input/sort_filter.ql
@@ -15,21 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-name: "sw"
-groups: ["default"]
-projection:
- tagFamilies:
- - name: "searchable"
- tags: ["trace_id"]
- - name: "data"
- tags: ["data_binary"]
-criteria:
- le:
- op: "LOGICAL_OP_AND"
- left:
- condition:
- name: "trace_id"
- op: "BINARY_OP_EQ"
- value:
- str:
- value: "1"
+SELECT trace_id, duration, data_binary FROM STREAM sw IN default
+TIME > '-15m'
+WHERE duration < 500 ORDER BY duration DESC