fix: correct the case sensitivity behavior for PromQL (#3296)

* fix: correct the case sensitivity behavior for PromQL

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* remove debug code

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* consolidate sqlness case

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

* drop table

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>

---------

Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
This commit is contained in:
Ruihang Xia
2024-02-08 11:26:32 +08:00
committed by GitHub
parent 6b4be3a1cc
commit 2f98fa0d97
5 changed files with 130 additions and 5 deletions

View File

@@ -622,6 +622,10 @@ desc table RUNTIME_METRICS;
| timestamp | TimestampMillisecond | | NO | | FIELD |
+-------------+----------------------+-----+------+---------+---------------+
drop table my_db.foo;
Affected Rows: 0
use public;
Affected Rows: 0

View File

@@ -117,4 +117,6 @@ select * from CHECK_CONSTRAINTS;
desc table RUNTIME_METRICS;
drop table my_db.foo;
use public;

View File

@@ -0,0 +1,77 @@
create table "MemAvailable" (ts timestamp time index, instance string primary key, val double);
Affected Rows: 0
create table "MemTotal" (ts timestamp time index, instance string primary key, val double);
Affected Rows: 0
insert into "MemAvailable" values
(0, 'host0', 10),
(5000, 'host0', 20),
(10000, 'host0', 30),
(0, 'host1', 40),
(5000, 'host1', 50),
(10000, 'host1', 60);
Affected Rows: 6
insert into "MemTotal" values
(0, 'host0', 100),
(5000, 'host0', 100),
(10000, 'host0', 100),
(0, 'host1', 100),
(5000, 'host1', 100),
(10000, 'host1', 100);
Affected Rows: 6
select table_name from information_schema.tables where table_type = 'BASE TABLE' order by table_id;
+--------------+
| table_name |
+--------------+
| MemAvailable |
| MemTotal |
+--------------+
-- SQLNESS SORT_RESULT 3 1
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum(MemTotal / 4);
+---------------------+---------------------------------------------------------------------+
| ts | MemAvailable.SUM(val / Float64(4)) + MemTotal.SUM(val / Float64(4)) |
+---------------------+---------------------------------------------------------------------+
| 1970-01-01T00:00:00 | 62.5 |
| 1970-01-01T00:00:05 | 67.5 |
| 1970-01-01T00:00:10 | 72.5 |
+---------------------+---------------------------------------------------------------------+
drop table "MemTotal";
Affected Rows: 0
create schema "AnotherSchema";
Affected Rows: 1
create table "AnotherSchema"."MemTotal" (ts timestamp time index, instance string primary key, val double);
Affected Rows: 0
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum(MemTotal / 4);
Error: 4001(TableNotFound), Table not found: greptime.public.MemTotal
-- Cross schema is not supported
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum({__name__="AnotherSchema.MemTotal"} / 4);
Error: 4001(TableNotFound), Table not found: greptime.public.AnotherSchema.MemTotal
drop table "MemAvailable";
Affected Rows: 0
drop table "AnotherSchema"."MemTotal";
Affected Rows: 0

View File

@@ -0,0 +1,39 @@
create table "MemAvailable" (ts timestamp time index, instance string primary key, val double);
create table "MemTotal" (ts timestamp time index, instance string primary key, val double);
insert into "MemAvailable" values
(0, 'host0', 10),
(5000, 'host0', 20),
(10000, 'host0', 30),
(0, 'host1', 40),
(5000, 'host1', 50),
(10000, 'host1', 60);
insert into "MemTotal" values
(0, 'host0', 100),
(5000, 'host0', 100),
(10000, 'host0', 100),
(0, 'host1', 100),
(5000, 'host1', 100),
(10000, 'host1', 100);
select table_name from information_schema.tables where table_type = 'BASE TABLE' order by table_id;
-- SQLNESS SORT_RESULT 3 1
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum(MemTotal / 4);
drop table "MemTotal";
create schema "AnotherSchema";
create table "AnotherSchema"."MemTotal" (ts timestamp time index, instance string primary key, val double);
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum(MemTotal / 4);
-- Cross schema is not supported
tql eval (0,10,'5s') sum(MemAvailable / 4) + sum({__name__="AnotherSchema.MemTotal"} / 4);
drop table "MemAvailable";
drop table "AnotherSchema"."MemTotal";