Skip to content

Commit 583683f

Browse files
update formatter to sqldev-22.2.0
1 parent 9ed71a4 commit 583683f

File tree

2 files changed

+56
-48
lines changed

2 files changed

+56
-48
lines changed

formatter/install-pre-commit-hook.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ FORMATTER_DIR="$(dirname $0)"
44
GIT_HOOK_DIR="$FORMATTER_DIR/../.git/hooks"
55
cp $FORMATTER_DIR/pre-commit $GIT_HOOK_DIR/pre-commit
66
chmod +x $GIT_HOOK_DIR/pre-commit
7-
curl -o $GIT_HOOK_DIR/tvdformat.jar -L https://github.com/Trivadis/plsql-formatter-settings/releases/download/sqldev-21.4.3/tvdformat.jar
7+
curl -o $GIT_HOOK_DIR/tvdformat.jar -L https://github.com/Trivadis/plsql-formatter-settings/releases/download/sqldev-22.2.0/tvdformat.jar
88
echo "pre-commit hook installed in $GIT_HOOK_DIR/pre-commit."

formatter/trivadis_custom_format.arbori

Lines changed: 55 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
include "std.arbori"
1818

1919
/**
20-
* Lightweight Formatter for SQL Developer and SQLcl, version 22.1.0-SNAPSHOT
20+
* Lightweight Formatter for SQL Developer and SQLcl, version 22.2.0
2121
* The idea is to keep the code formatted "as is" and apply chosen formatting rules only.
2222
*
2323
* The Arbori program is processed from top to bottom.
@@ -117,6 +117,9 @@ skipWhiteSpaceBeforeNode:
117117
var doNotCallCallbackFunction;
118118
}
119119

120+
-- In SQLDev 22.2.0 the formatter introduced a check that looks for "order_by_clause___0" in the Arbori program.
121+
-- There is no need to define a query that uses it. Using it in the comment is good enough.
122+
120123
-- ====================================================================================================================
121124
-- Phase 1 - Initialization and pre-processing.
122125
-- ====================================================================================================================
@@ -1046,7 +1049,7 @@ a13_nodes:
10461049
| [node) function_expression
10471050
| [node) dotted_name
10481051
| [node) dotted_expr
1049-
| [node) column[4,12)
1052+
| [node) column___0
10501053
| [node) compound_expression & ![node^) compound_expression
10511054
| [node) pls_expr & ![node^) pls_expr
10521055
| [node) "expr_list" & ![node^) "expr_list"
@@ -1228,8 +1231,11 @@ a5_brackets:
12281231
;
12291232

12301233
a5_indicator_variable:
1231-
[node) bind_var
1232-
& [node-1) bind_var
1234+
[node) identifier
1235+
& [node-1) ':'
1236+
& [node-2) identifier
1237+
& [node-3) ':'
1238+
& [node^) bind_var
12331239
;
12341240

12351241
a5_star_star:
@@ -1293,12 +1299,11 @@ a6_percent:
12931299
;
12941300

12951301
a6_brackets:
1296-
[node) '['
1302+
[node) '['
12971303
;
12981304

12991305
a6_host_variable:
1300-
[node) ':'
1301-
& [node^) bind_var
1306+
[node^) bind_var
13021307
;
13031308

13041309
a6_pragma_exception_init:
@@ -1745,8 +1750,8 @@ a15_various:
17451750
[node) insert_into_clause & [node^^) multi_table_insert
17461751
| [node) subquery & [node^) multi_table_insert
17471752
| [node) subprg_property
1748-
| [node) ')' & [node^) create_view#[114,130)
1749-
| [node) ')' & [node^) create_materialized_view[33,79)
1753+
| [node) ')' & [node^) create_view#___0
1754+
| [node) ')' & [node^) create_materialized_view2___0
17501755
;
17511756

17521757
a15_subsequent_prm_spec_trailing_comma:
@@ -1769,13 +1774,13 @@ a15_is_or_as:
17691774
;
17701775

17711776
a15_view_column_alias:
1772-
[parent) create_view#[114,130)
1777+
[parent) create_view#___0
17731778
& [node) alias_in_out_constraints
17741779
& parent < node
17751780
;
17761781

17771782
a15_materialized_view_column_alias:
1778-
[parent) create_materialized_view[33,79)
1783+
[parent) create_materialized_view2___0
17791784
& [node) identifier
17801785
& parent < node
17811786
;
@@ -2291,7 +2296,7 @@ o10_join_clause_break_keywords:
22912296
& ![keyword-1) 'CROSS'
22922297
& ![keyword-1) 'NATURAL'
22932298
& ![keyword-1) outer_join_type
2294-
& ![keyword-1) "inner_cross_join_clause"[26,55)
2299+
& ![keyword-1) "inner_cross_join_clause"___0
22952300
--| [keyword) 'PARTITION'
22962301
| [keyword) 'ON'
22972302
| [keyword) 'USING'
@@ -2360,7 +2365,7 @@ o11_break_on_subqueries:
23602365
-- --------------------------------------------------------------------------------------------------------------------
23612366

23622367
a16_select:
2363-
[parent) subquery
2368+
[parent) query_block
23642369
& (
23652370
[node) 'FROM' & ![node^) expr
23662371
| [node) 'WHERE'
@@ -2772,7 +2777,7 @@ r2_common:
27722777
| [node) field_list & ![node^) field_list
27732778
| [node) fml_part
27742779
| [node) paren_expr_list
2775-
| [node) "expr_list" & [node-1) '(' & [node^) in_condition[24,35)
2780+
| [node) "expr_list" & [node-1) '(' & [node^) in_condition___0
27762781
| [node) xmltable
27772782
| [node) json_table
27782783
| [node) JSON_columns_clause
@@ -2796,7 +2801,7 @@ r2_common:
27962801
| [node) analytic_clause & ![node^) over_clause
27972802
| [node) 'RETURN' & [node^) subprg_spec
27982803
| [node-1) 'RETURN' & [node^) stmt
2799-
| [node) plsql_declarations & ([node^) with_clause | [node^) with_clause[12,20))
2804+
| [node) plsql_declarations & ([node^) with_clause | [node^) with_clause___0)
28002805
;
28012806

28022807
r2_flowcontrol_condition:
@@ -2813,9 +2818,9 @@ r2_flowcontrol_condition:
28132818
;
28142819

28152820
r2_case_expression:
2816-
[node) simple_case_expression[4,27)#
2821+
[node) simple_case_expression___0#
28172822
| [node) searched_case_expression#
2818-
| [node) expr & [node^) simple_case_expression[4,27)#
2823+
| [node) expr & [node^) simple_case_expression___0#
28192824
| [node) else_clause & [node^) case_expression
28202825
| [node) expr & [node^) else_clause & [node^^) case_expression
28212826
| [node) expr & [node^) searched_case_expression#
@@ -2833,18 +2838,18 @@ r2_case_expression_plsql:
28332838
;
28342839

28352840
r2_view:
2836-
[node) create_view#[114,130)
2841+
[node) create_view#___0
28372842
| [node) subquery & [node^) create_view#
28382843
;
28392844

28402845
r2_materialized_view:
2841-
[node) create_materialized_view[33,79)
2846+
[node) create_materialized_view2___0
28422847
| [node) subquery & [node^) create_materialized_view
2843-
| [node) create_materialized_view[91,136)
2844-
| [node) create_materialized_view[136,174)
2848+
| [node) create_materialized_view3___2
2849+
| [node) create_materialized_view3___3
28452850
| [node) create_mv_refresh
28462851
| [node) 'DISABLE' & [node^) create_materialized_view
2847-
| [node) create_materialized_view[200,210)
2852+
| [node) create_materialized_view3___0
28482853
| [node) query_rewrite_clause
28492854
;
28502855

@@ -2861,7 +2866,7 @@ r2_body:
28612866
;
28622867

28632868
r2_single_table_insert:
2864-
[node) insert_into_clause[13,25)
2869+
[node) insert_into_clause___0
28652870
| [node) par_expr_list
28662871
;
28672872

@@ -2880,8 +2885,8 @@ r2_multi_table_insert:
28802885
r2_merge_insert_clause:
28812886
[parent) merge_insert_clause
28822887
& (
2883-
[node) merge_insert_clause[23,35) & [node-1) 'INSERT'
2884-
| [node) merge_insert_clause[43,50) & [node-1) 'VALUES'
2888+
[node) merge_insert_clause___0 & [node-1) 'INSERT'
2889+
| [node) merge_insert_clause___2 & [node-1) 'VALUES'
28852890
)
28862891
& parent < node
28872892
;
@@ -2921,12 +2926,12 @@ r2_decrement_left_margin:
29212926
| [node^) xmltable
29222927
| [node^) json_table
29232928
| [node^) JSON_columns_clause
2924-
| [node^) create_view#[114,130)
2925-
| [node^) create_materialized_view[33,79)
2926-
| [node^) insert_into_clause[13,25)
2929+
| [node^) create_view#___0
2930+
| [node^) create_materialized_view2___0
2931+
| [node^) insert_into_clause___0
29272932
| [node^) par_expr_list
2928-
| [node^) merge_insert_clause[23,35)
2929-
| [node^) merge_insert_clause[43,50)
2933+
| [node^) merge_insert_clause___0
2934+
| [node^) merge_insert_clause___2
29302935
| [node^) function
29312936
| [node^) function_expression
29322937
| [node^) "(x,y,z)"
@@ -2970,15 +2975,15 @@ r2_increment_left_margin_by_keyword_outside_update_delete_merge:
29702975
-- delete statement
29712976
| [node) 'FROM' & [keyword) 'DELETE' & [node^) delete & keyword+1 = node
29722977
-- merge statement
2973-
| [node) merge_update_clause[36,56) & [keyword) 'SET' & [node^) merge_update_clause & keyword^ = node^
2978+
| [node) merge_update_clause___2 & [keyword) 'SET' & [node^) merge_update_clause & keyword^ = node^
29742979
-> {
29752980
addMarginByName(tuple.get("node"), 6, target.src.get(tuple.get("keyword").from).content,
29762981
"r2_increment_left_margin_by_keyword_outside_update_delete_merge");
29772982
}
29782983

29792984
-- use merge keyword for right alignment (5 chars)
29802985
r2_increment_left_margin_by_keyword_outside_node_for_merge:
2981-
[node) subquery & [keyword) 'USING' & [node^) merge & keyword+1 = node
2986+
[node) merge___2 & [keyword) 'USING' & [node^) merge & keyword+1 = node
29822987
| [node) condition & [keyword) 'ON' & [node^) merge & keyword+2 = node
29832988
| [node) ')' & [keyword) 'ON' & [node^) merge & keyword+3 = node
29842989
-> {
@@ -3018,10 +3023,10 @@ r2_increment_left_margin_by_keyword_inside_node_for_merge:
30183023
}
30193024

30203025
r2_indent_single_line_clauses:
3021-
[node) insert_into_clause[13,25)
3022-
| [node) values_clause[12,20)
3023-
| [node) merge_insert_clause[23,35) & [node-1) 'INSERT'
3024-
| [node) merge_insert_clause[43,50) & [node-1) 'VALUES'
3026+
[node) insert_into_clause___0
3027+
| [node) values_clause___0
3028+
| [node) merge_insert_clause___0 & [node-1) 'INSERT'
3029+
| [node) merge_insert_clause___2 & [node-1) 'VALUES'
30253030
-> {
30263031
var node = tuple.get("node");
30273032
if (getIndent(node.from).indexOf("\n") != -1) {
@@ -3047,13 +3052,13 @@ r2_indent_name_list_after_fetch_into:
30473052
}
30483053

30493054
r2_subquery_all:
3050-
[node) subquery
3055+
[node) query_block
30513056
& [from) from_clause
30523057
& node < from
30533058
;
30543059

30553060
r2_subquery_set:
3056-
[node) subquery
3061+
[node) query_block
30573062
& [from) from_clause
30583063
& node < from
30593064
& [from^-1) SET_OPER -- must not negate this predicate in SQLDev 21.2.1, see issue #133
@@ -3245,7 +3250,7 @@ r7_select:
32453250
& ![keyword^) analytic_clause
32463251
& ![keyword^^) function
32473252
& ![keyword^) function
3248-
& ![keyword^) collect[33,52) -- order by clause in collect function
3253+
& ![keyword^) collect___1 -- order by clause in collect function
32493254
;
32503255

32513256
r7_single_table_insert:
@@ -3258,7 +3263,7 @@ r7_single_table_insert:
32583263
| [keyword) 'RETURNING'
32593264
| [keyword) 'LOG'
32603265
| [keyword) 'REJECT'
3261-
| [keyword) 'SELECT' & ![keyword^^-1) '('
3266+
| [keyword) 'SELECT' & ![keyword^^-1) '(' & ![keyword^^^-1) '('
32623267
)
32633268
& insert < keyword
32643269
& parent < insert
@@ -3267,7 +3272,7 @@ r7_single_table_insert:
32673272
r7_multi_table_insert_uncond:
32683273
[parent) insert
32693274
& [insert) multi_table_insert
3270-
& [uncond) multi_table_insert[12,24)
3275+
& [uncond) multi_table_insert___0
32713276
& (
32723277
[keyword) 'ALL'
32733278
| [keyword) 'FIRST'
@@ -3550,9 +3555,12 @@ o8_variables:
35503555

35513556
o8_records:
35523557
[scope) ty_def
3553-
& [node-1) identifier
3554-
& [node^) field
3558+
& [first) identifier
3559+
& first = node-1
3560+
& [parent) field
3561+
& parent = node^
35553562
& scope < node^
3563+
& [first = [parent
35563564
;
35573565

35583566
o8_attributes:
@@ -3823,7 +3831,7 @@ a9_declarations:
38233831
}
38243832

38253833
a9_find_columns:
3826-
[scope) XMLTABLE_options[19,37)
3834+
[scope) XMLTABLE_options___0
38273835
& [node) XML_table_column
38283836
& [comma) ','
38293837
& scope < node
@@ -3857,8 +3865,8 @@ a9_align_xmltable_columns:
38573865
}
38583866

38593867
a9_find_datatypes:
3860-
[scope) XMLTABLE_options[19,37)
3861-
& [node) XML_table_column[5,72)
3868+
[scope) XMLTABLE_options___0
3869+
& [node) XML_table_column___3
38623870
& [path) 'PATH'
38633871
& scope < node
38643872
& node < path
@@ -3922,7 +3930,7 @@ a20_align_json_table_columns:
39223930
a20_find_datatypes:
39233931
[scope) JSON_columns_clause
39243932
& [node) JSON_value_return_type
3925-
& [path) "JSON_value_column[5,10)"
3933+
& [path) "JSON_value_column___0"
39263934
& scope < node
39273935
& path = node+1
39283936
-> {

0 commit comments

Comments
 (0)