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