mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-13 08:43:00 +00:00
* feat(mysql): add SHOW WARNINGS support and return warnings for unsupported SET variables Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * feat(function): add MySQL IF() function and PostgreSQL description functions for connector compatibility Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: show tables for mysql Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: partitions table in information_schema and add starrocks external catalog compatibility Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * refactor: async udf Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: set warnings Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * feat: impl pg_my_temp_schema and make description functions simple Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * test: add test for issue 7313 Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * feat: apply suggestions Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: partition_expression and partition_description Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: test Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: unit tests Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: saerch_path only works for pg Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * feat: improve warnings processing Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * fix: warnings while writing affected rows and refactor Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * chore: improve ShobjDescriptionFunction signature Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * refactor: array_to_boolean Signed-off-by: Dennis Zhuang <killme2008@gmail.com> --------- Signed-off-by: Dennis Zhuang <killme2008@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
63 lines
1.0 KiB
SQL
63 lines
1.0 KiB
SQL
CREATE TABLE t(a INTEGER, ts timestamp time index);
|
|
|
|
INSERT INTO t VALUES (1, 1), (null, 2), (3, 3);
|
|
|
|
SELECT ISNULL(a) from t;
|
|
|
|
SELECT ISNULL(null);
|
|
|
|
SELECT ISNULL(1);
|
|
|
|
SELECT ISNULL(-1);
|
|
|
|
SELECT ISNULL(1.0);
|
|
|
|
SELECT ISNULL(true);
|
|
|
|
SELECT ISNULL('string');
|
|
|
|
SELECT FIRST_VALUE(1);
|
|
|
|
SELECT FIRST_VALUE('a');
|
|
|
|
SELECT LAST_VALUE(1);
|
|
|
|
SELECT LAST_VALUE('a');
|
|
|
|
-- MySQL-compatible IF function tests
|
|
SELECT IF(true, 'yes', 'no');
|
|
|
|
SELECT IF(false, 'yes', 'no');
|
|
|
|
SELECT IF(NULL, 'yes', 'no');
|
|
|
|
SELECT IF(1, 'yes', 'no');
|
|
|
|
SELECT IF(0, 'yes', 'no');
|
|
|
|
SELECT IF(-1, 'yes', 'no');
|
|
|
|
SELECT IF(1.5, 'yes', 'no');
|
|
|
|
SELECT IF(0.0, 'yes', 'no');
|
|
|
|
-- Test with table column
|
|
SELECT IF(a > 1, 'greater', 'not greater') FROM t;
|
|
|
|
-- Test numeric return types
|
|
SELECT IF(true, 100, 200);
|
|
|
|
SELECT IF(false, 100, 200);
|
|
|
|
-- Test with IFNULL (should already work via DataFusion)
|
|
SELECT IFNULL(NULL, 'default');
|
|
|
|
SELECT IFNULL('value', 'default');
|
|
|
|
-- Test COALESCE (should already work via DataFusion)
|
|
SELECT COALESCE(NULL, NULL, 'third');
|
|
|
|
SELECT COALESCE('first', 'second');
|
|
|
|
DROP TABLE t;
|