a99721162b
* feat: add text and word utils * feat: add entity collector class * refactor: rename SyntaxContextType to EntityContextType * refactor: improve EntityCollector * feat: improve mysql parser grammar * feat: add mysql entity collector * test: mysql entity collector tests * feat: remove useless method * feat: improve spark grammar file * feat: add spark entity collector * test: spark entity collector unit tests * feat: remove useless code * feat: add queryStatement label * feat: add crateDatabaseStmt * feat: add trino entity collector * feat: rename trinosql to trino * test: trino collect entity unit tests * test: fix spark test * feat(impala): support impale entity collector (#256) * Feat/collect entity hive (#263) * feat(hive): support hive collect entity * feat(hive): update tableAllColumns * feat: replace antlr4ts with antlr4ng * feat(pgsql): pgsql collect entity (#268) * feat(pgsql): pgsql collect entity * feat(pgsql): optimize some name --------- Co-authored-by: zhaoge <> * feat: get word text by token.text * feat: supprt collect db/function and add splitListener (#270) * feat: supprt collect db/function and add splitListner * feat: remove SplitListener interface in baseParser to use SplitListener in root * fix(mysql): fix show create xxx not celloct as createXXXEntity type * test: fix pgsql unit tests * Feat/error recover predicate (#274) * feat: optimize pgsql grammar * feat: add sql parser base * feat: apply SQLParserBase * feat: add geAllEntities method * test: test collect table when missing column * feat: compose collect and suggestion (#276) * feat: mark stmt which contain caret * test: correct name of getAllEntities * test: remove misscolumn unit tests * test: add suggestionWithEntity tests * feat: flink collect entity (#277) * feat: improve flink sql parser * feat: support flink entity collector * test: flink entity collect unit test * feat: move combine entities to parent class --------- Co-authored-by: 霜序 <976060700@qq.com> Co-authored-by: XCynthia <942884029@qq.com>
57 lines
1.3 KiB
SQL
57 lines
1.3 KiB
SQL
SELECT * FROM UNNEST(ARRAY[1,2]) AS t(number);
|
|
|
|
SELECT * FROM UNNEST(
|
|
map_from_entries(
|
|
ARRAY[
|
|
('SQL',1974),
|
|
('Java', 1995)
|
|
]
|
|
)
|
|
) AS t(language, first_appeared_year);
|
|
|
|
SELECT *
|
|
FROM UNNEST(
|
|
ARRAY[
|
|
ROW('Java', 1995),
|
|
ROW('SQL' , 1974)],
|
|
ARRAY[
|
|
ROW(false),
|
|
ROW(true)]
|
|
) as t(language,first_appeared_year,declarative);
|
|
|
|
SELECT a, b, rownumber
|
|
FROM UNNEST (
|
|
ARRAY[2, 5],
|
|
ARRAY[7, 8, 9]
|
|
) WITH ORDINALITY AS t(a, b, rownumber);
|
|
|
|
SELECT * FROM UNNEST (ARRAY[]) AS t(value);
|
|
|
|
SELECT * FROM UNNEST (CAST(null AS ARRAY(integer))) AS t(number);
|
|
|
|
SELECT student, score
|
|
FROM (
|
|
VALUES
|
|
('John', ARRAY[7, 10, 9]),
|
|
('Mary', ARRAY[4, 8, 9])
|
|
) AS tests (student, scores)
|
|
CROSS JOIN UNNEST(scores) AS t(score);
|
|
|
|
SELECT numbers, animals, n, a
|
|
FROM (
|
|
VALUES
|
|
(ARRAY[2, 5], ARRAY['dog', 'cat', 'bird']),
|
|
(ARRAY[7, 8, 9], ARRAY['cow', 'pig'])
|
|
) AS x (numbers, animals)
|
|
CROSS JOIN UNNEST(numbers, animals) AS t (n, a);
|
|
|
|
SELECT runner, checkpoint
|
|
FROM (
|
|
VALUES
|
|
('Joe', ARRAY[10, 20, 30, 42]),
|
|
('Roger', ARRAY[10]),
|
|
('Dave', ARRAY[]),
|
|
('Levi', NULL)
|
|
) AS marathon (runner, checkpoints)
|
|
LEFT JOIN UNNEST(checkpoints) AS t(checkpoint) ON TRUE;
|