Fix/split listener (#228)
* feat: improve FlinkSqlSplitListener * feat: improve ImpalaSqlSplitListener * feat: improve MysqlSplitListener * fix: correct PgSqlSplitListener * feat: improve TrinoSqlSplitListener * test: add split listener unit test * chore: ignore iml file * feat: add pgsql missing rules * test: fix pgsql unit tests
This commit is contained in:
@ -244,9 +244,9 @@ CREATE DATABASE name1
|
||||
CREATE DATABASE name2;
|
||||
|
||||
-- CREATE DOMAIN
|
||||
CREATE DOMAIN name AS data_type
|
||||
COLLATE collation
|
||||
DEFAULT expression
|
||||
CREATE DOMAIN domain_name AS data_type
|
||||
COLLATE col
|
||||
DEFAULT expr
|
||||
CONSTRAINT constraint_name NOT NULL
|
||||
NULL
|
||||
CHECK(
|
||||
@ -389,7 +389,7 @@ CREATE POLICY name ON table_name;
|
||||
CREATE OR REPLACE PROCEDURE
|
||||
name ( IN argname int DEFAULT default_expr)
|
||||
LANGUAGE lang_name
|
||||
TRANSFORM { FOR TYPE type_name }
|
||||
TRANSFORM FOR TYPE type_name
|
||||
EXTERNAL SECURITY INVOKER
|
||||
EXTERNAL SECURITY DEFINER
|
||||
SET configuration_parameter FROM CURRENT
|
||||
@ -399,7 +399,7 @@ CREATE OR REPLACE PROCEDURE
|
||||
|
||||
-- CREATE PUBLICATION
|
||||
CREATE PUBLICATION name
|
||||
FOR ALL TABLES, FOR publication_object
|
||||
FOR ALL TABLES
|
||||
WITH ( publication_parameter = value);
|
||||
CREATE PUBLICATION name;
|
||||
|
||||
|
@ -6,8 +6,11 @@ ABORT AND NO CHAIN;
|
||||
-- ANALYZE
|
||||
ANALYZE VERBOSE table_name ( column_name, column_name2);
|
||||
ANALYZE VERBOSE;
|
||||
ANALYZE SKIP_LOCKED true;
|
||||
ANALYZE BUFFER_USAGE_LIMIT 4;
|
||||
ANALYZE (VERBOSE false);
|
||||
ANALYZE (SKIP_LOCKED true);
|
||||
ANALYZE (BUFFER_USAGE_LIMIT 4);
|
||||
ANALYZE (SKIP_LOCKED false, SKIP_LOCKED false, BUFFER_USAGE_LIMIT '4KB');
|
||||
ANALYZE (SKIP_LOCKED false, SKIP_LOCKED false, BUFFER_USAGE_LIMIT '4KB') table_name ( column_name, column_name2);
|
||||
ANALYZE;
|
||||
|
||||
-- BEGIN
|
||||
@ -59,7 +62,7 @@ COMMENT ON OPERATOR CLASS object_name USING index_method IS 'text';
|
||||
COMMENT ON OPERATOR FAMILY object_name USING index_method IS 'text';
|
||||
COMMENT ON POLICY policy_name ON table_name IS 'text';
|
||||
COMMENT ON PROCEDURAL LANGUAGE object_name IS 'text';
|
||||
COMMENT ON PROCEDURE procedure_name IS 'text';;
|
||||
COMMENT ON PROCEDURE procedure_name IS 'text';
|
||||
COMMENT ON PUBLICATION object_name IS 'text';
|
||||
COMMENT ON ROLE object_name IS 'text';
|
||||
COMMENT ON ROUTINE routine_name IS 'text';
|
||||
@ -120,8 +123,8 @@ DISCARD ALL;
|
||||
DISCARD TEMP;
|
||||
|
||||
-- DO
|
||||
DO LANGUAGE lang_name '$$DECLARE' r record;
|
||||
DO '$$DECLARE' r record;
|
||||
DO LANGUAGE lang_name '$$DECLARE';
|
||||
DO '$$DECLARE';
|
||||
|
||||
-- END
|
||||
END TRANSACTION;
|
||||
@ -201,10 +204,10 @@ REASSIGN OWNED BY old_role TO new_role;
|
||||
REFRESH MATERIALIZED VIEW name WITH NO DATA;
|
||||
|
||||
-- REINDEX
|
||||
REINDEX DATABASE CONCURRENTLY name FORCE;
|
||||
REINDEX TABLE name;
|
||||
REINDEX INDEX name;
|
||||
REINDEX SYSTEM name;
|
||||
REINDEX DATABASE CONCURRENTLY dbname;
|
||||
REINDEX TABLE tbname;
|
||||
REINDEX INDEX indexname;
|
||||
REINDEX SYSTEM sysname;
|
||||
|
||||
-- RELEASE SAVEPOINT
|
||||
RELEASE SAVEPOINT savepoint_name;
|
||||
@ -313,7 +316,6 @@ ANALYZE;
|
||||
VALUES (1, '3'), (3, 'sdsd')
|
||||
ORDER BY sort_expression ASC
|
||||
LIMIT 20
|
||||
OFFSET 324 ROW
|
||||
FETCH NEXT 343 ROWS ONLY ;
|
||||
OFFSET 324 ROWS;
|
||||
VALUES (1, '3'), (3, 'sdsd');
|
||||
|
||||
|
@ -1,25 +1,24 @@
|
||||
-- SELECT
|
||||
WITH RECURSIVE query_name (id) AS (SELECT id FROM table_expression)
|
||||
SELECT ALL ON (col1,col2) random() AS name1 FROM table_expression
|
||||
SELECT DISTINCT ON (col1,col2) random() AS name1 FROM table_expression
|
||||
WHERE name1=name1
|
||||
GROUP BY DISTINCT id
|
||||
HAVING sum(len) < interval '5 hours'
|
||||
WINDOW w AS (PARTITION BY depname ORDER BY salary DESC)
|
||||
UNION ALL (SELECT * FROM others)
|
||||
ORDER BY salary DESC
|
||||
LIMIT ALL
|
||||
OFFSET start ROWS
|
||||
FETCH NEXT ROWS ONLY
|
||||
OFFSET start ROWS
|
||||
FOR UPDATE OF table_name, table_name2 NOWAIT;
|
||||
SELECT;
|
||||
|
||||
SELECT * FROM db.tbs GROUP BY (col1 > 3, col2 < 8) ORDER BY col3 > 9;
|
||||
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) INTERSECT DISTINCT (SELECT * FROM others) ORDER BY salary ASC LIMIT ALL OFFSET start FETCH NEXT ROW ONLY FOR NO KEY UPDATE;
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) INTERSECT DISTINCT (SELECT * FROM others) ORDER BY salary ASC OFFSET start FETCH NEXT ROW ONLY FOR NO KEY UPDATE;
|
||||
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULL FIRST LIMIT 40 OFFSET start FETCH NEXT ROW ONLY FOR SHARE;
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULLS FIRST OFFSET start FETCH NEXT ROW ONLY FOR SHARE;
|
||||
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULL FIRST LIMIT 40 OFFSET start FETCH NEXT ROW ONLY FOR KEY SHARE OF table_name NOWAIT;
|
||||
WITH query_name (id) AS (SELECT id FROM table_expression) SELECT DISTINCT ON (col1) random() AS name1 FROM table_expression WHERE name1=name1 GROUP BY id HAVING sum(len) < interval '5 hours' WINDOW w AS (PARTITION BY depname ORDER BY salary DESC) EXCEPT (SELECT * FROM others) ORDER BY salary USING > NULLS FIRST OFFSET start FETCH NEXT ROW ONLY FOR KEY SHARE OF table_name NOWAIT;
|
||||
|
||||
-- SELECT INTO
|
||||
WITH RECURSIVE query_name (id) AS (SELECT id FROM table_expression)
|
||||
@ -34,7 +33,6 @@ INTO TEMPORARY TABLE new_table
|
||||
ORDER BY expression_1 USING > NULLS FIRST
|
||||
LIMIT ALL
|
||||
OFFSET start ROW
|
||||
FETCH FIRST 234 ROWS ONLY
|
||||
FOR UPDATE OF table_name NOWAIT;
|
||||
SELECT INTO new_table;
|
||||
|
||||
|
@ -34,5 +34,5 @@ UPDATE ONLY table_name * AS alias
|
||||
SET column_name = DEFAULT, (column_name, column_nam2) = ROW ( a+1,DEFAULT)
|
||||
FROM from_list
|
||||
WHERE a=b
|
||||
RETURNING * AS output_name;
|
||||
RETURNING column_name AS output_name;
|
||||
UPDATE table_name SET column_name = a + 3;
|
||||
|
Reference in New Issue
Block a user