Skip to content

Commit 01a2e3a

Browse files
committed
feat: detect PostgreSQL release and grammar deltas
1 parent 6fec5dc commit 01a2e3a

12 files changed

Lines changed: 724 additions & 0 deletions

scripts/pg_compat/compare_versions.py

Lines changed: 513 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
%%
2+
select_stmt:
3+
SELECT target_list
4+
{
5+
$$ = make_select($2);
6+
}
7+
;
8+
%%
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{"id":"2c62b0d7edc01b8f82adad15","line":1,"normalized_sql":"SELECT 1","occurrences":[{"line":1,"offset":0,"source_file":"select.sql"}],"offset":0,"oracle_node":"PG_QUERY__NODE__NODE_SELECT_STMT","result":"DEEP_SUPPORTED","source_file":"select.sql","sql":"SELECT 1"}
2+
{"id":"34d8acda66155ea517be12bb","line":10,"normalized_sql":"CREATE TABLE old_table ( id integer )","occurrences":[{"line":10,"offset":100,"source_file":"create_table.sql"}],"offset":100,"oracle_node":"PG_QUERY__NODE__NODE_CREATE_STMT","result":"CLASSIFIED_ONLY","source_file":"create_table.sql","sql":"CREATE TABLE old_table (id integer)"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PG_KEYWORD("select", SELECT, RESERVED_KEYWORD, BARE_LABEL)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
typedef struct SelectStmt
2+
{
3+
NodeTag type;
4+
List *targetList;
5+
} SelectStmt;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
message SelectStmt {
2+
repeated Node target_list = 1;
3+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
%%
2+
select_stmt:
3+
SELECT target_list
4+
{
5+
$$ = make_select($2);
6+
}
7+
| SELECT DISTINCT target_list
8+
{
9+
$$ = make_distinct_select($3);
10+
}
11+
;
12+
%%
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{"id":"2c62b0d7edc01b8f82adad15","line":1,"normalized_sql":"SELECT 1","occurrences":[{"line":1,"offset":0,"source_file":"select.sql"}],"offset":0,"oracle_node":"PG_QUERY__NODE__NODE_SELECT_STMT","result":"DEEP_SUPPORTED","source_file":"select.sql","sql":"SELECT 1"}
2+
{"id":"6edce6d7aac4705e6c755458","line":11,"normalized_sql":"CREATE TABLE new_table ( id integer )","occurrences":[{"line":11,"offset":120,"source_file":"create_table.sql"}],"offset":120,"oracle_node":"PG_QUERY__NODE__NODE_CREATE_STMT","result":"CLASSIFIED_ONLY","source_file":"create_table.sql","sql":"CREATE TABLE new_table (id integer)"}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
PG_KEYWORD("select", SELECT, UNRESERVED_KEYWORD, BARE_LABEL)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
typedef struct SelectStmt
2+
{
3+
NodeTag type;
4+
List *targetList;
5+
bool distinct;
6+
} SelectStmt;

0 commit comments

Comments
 (0)