Skip to content

Commit 5d7a71f

Browse files
Copilotgit-hulk
andcommitted
Add beautify format for ALTER ROLE and CREATE ROLE SETTINGS (#256)
--------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: git-hulk <4987594+git-hulk@users.noreply.github.com>
1 parent 461102b commit 5d7a71f

3 files changed

Lines changed: 126 additions & 34 deletions

File tree

parser/format.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,17 @@ func (a *AlterRole) FormatSQL(formatter *Formatter) {
197197
formatter.WriteExpr(roleRenamePair)
198198
}
199199
if len(a.Settings) > 0 {
200-
formatter.WriteString(" SETTINGS ")
200+
formatter.Break()
201+
formatter.WriteString("SETTINGS")
202+
formatter.Indent()
201203
for i, setting := range a.Settings {
202204
if i > 0 {
203-
formatter.WriteString(", ")
205+
formatter.WriteString(",")
204206
}
207+
formatter.Break()
205208
formatter.WriteExpr(setting)
206209
}
210+
formatter.Dedent()
207211
}
208212
}
209213

@@ -986,13 +990,17 @@ func (c *CreateRole) FormatSQL(formatter *Formatter) {
986990
formatter.WriteExpr(c.AccessStorageType)
987991
}
988992
if len(c.Settings) > 0 {
989-
formatter.WriteString(" SETTINGS ")
993+
formatter.Break()
994+
formatter.WriteString("SETTINGS")
995+
formatter.Indent()
990996
for i, setting := range c.Settings {
991997
if i > 0 {
992-
formatter.WriteString(", ")
998+
formatter.WriteString(",")
993999
}
1000+
formatter.Break()
9941001
formatter.WriteExpr(setting)
9951002
}
1003+
formatter.Dedent()
9961004
}
9971005
}
9981006

@@ -2192,13 +2200,13 @@ func (r *RoleRenamePair) FormatSQL(formatter *Formatter) {
21922200
func (r *RoleSetting) FormatSQL(formatter *Formatter) {
21932201
for i, settingPair := range r.SettingPairs {
21942202
if i > 0 {
2195-
formatter.WriteByte(whitespace)
2203+
formatter.Break()
21962204
}
21972205
formatter.WriteExpr(settingPair)
21982206
}
21992207
if r.Modifier != nil {
22002208
if len(r.SettingPairs) > 0 {
2201-
formatter.WriteByte(whitespace)
2209+
formatter.Break()
22022210
}
22032211
formatter.WriteExpr(r.Modifier)
22042212
}

parser/testdata/ddl/format/beautify/alter_role.sql

Lines changed: 56 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,62 @@ ALTER ROLE r2_01293@'%.myhost.com';
2626
ALTER ROLE r1_01293;
2727
ALTER ROLE r1_01293 ON CLUSTER cluster_1 RENAME TO r2_01293;
2828
ALTER ROLE r1_01293 RENAME TO r2_01293, r3_01293 RENAME TO r4_01293;
29-
ALTER ROLE r1_01293 SETTINGS NONE;
30-
ALTER ROLE r2_01293 SETTINGS PROFILE 'default';
31-
ALTER ROLE r3_01293 SETTINGS max_memory_usage=5000000;
32-
ALTER ROLE r4_01293 SETTINGS max_memory_usage MIN=5000000;
33-
ALTER ROLE r5_01293 SETTINGS max_memory_usage MAX=5000000;
34-
ALTER ROLE r6_01293 SETTINGS max_memory_usage CONST;
35-
ALTER ROLE r7_01293 SETTINGS max_memory_usage WRITABLE;
36-
ALTER ROLE r8_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 CONST;
37-
ALTER ROLE r9_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000 WRITABLE;
29+
ALTER ROLE r1_01293
30+
SETTINGS
31+
NONE;
32+
ALTER ROLE r2_01293
33+
SETTINGS
34+
PROFILE 'default';
35+
ALTER ROLE r3_01293
36+
SETTINGS
37+
max_memory_usage=5000000;
38+
ALTER ROLE r4_01293
39+
SETTINGS
40+
max_memory_usage
41+
MIN=5000000;
42+
ALTER ROLE r5_01293
43+
SETTINGS
44+
max_memory_usage
45+
MAX=5000000;
46+
ALTER ROLE r6_01293
47+
SETTINGS
48+
max_memory_usage
49+
CONST;
50+
ALTER ROLE r7_01293
51+
SETTINGS
52+
max_memory_usage
53+
WRITABLE;
54+
ALTER ROLE r8_01293
55+
SETTINGS
56+
max_memory_usage=5000000
57+
MIN 4000000
58+
MAX 6000000
59+
CONST;
60+
ALTER ROLE r9_01293
61+
SETTINGS
62+
PROFILE 'default',
63+
max_memory_usage=5000000
64+
WRITABLE;
3865
ALTER ROLE r1_01293, r2_01293;
39-
ALTER ROLE r1_01293 SETTINGS readonly=1;
40-
ALTER ROLE r2_01293 SETTINGS PROFILE 'default';
41-
ALTER ROLE r3_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 WRITABLE;
42-
ALTER ROLE r4_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000, readonly=1;
43-
ALTER ROLE r5_01293 SETTINGS NONE;
66+
ALTER ROLE r1_01293
67+
SETTINGS
68+
readonly=1;
69+
ALTER ROLE r2_01293
70+
SETTINGS
71+
PROFILE 'default';
72+
ALTER ROLE r3_01293
73+
SETTINGS
74+
max_memory_usage=5000000
75+
MIN 4000000
76+
MAX 6000000
77+
WRITABLE;
78+
ALTER ROLE r4_01293
79+
SETTINGS
80+
PROFILE 'default',
81+
max_memory_usage=5000000,
82+
readonly=1;
83+
ALTER ROLE r5_01293
84+
SETTINGS
85+
NONE;
4486
ALTER ROLE r1_01293@'%';
4587
ALTER ROLE r2_01293@'%.myhost.com';

parser/testdata/ddl/format/beautify/create_role.sql

Lines changed: 56 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,62 @@ CREATE ROLE r1_01293 ON CLUSTER cluster_1;
3030
CREATE ROLE r1_01293, r2_01293;
3131
CREATE ROLE r1_01293 ON CLUSTER cluster_1, r2_01293;
3232
CREATE ROLE r1_01293 ON CLUSTER cluster_1, r2_01293 ON CLUSTER cluster_2;
33-
CREATE ROLE r1_01293 SETTINGS NONE;
34-
CREATE ROLE r2_01293 SETTINGS PROFILE 'default';
35-
CREATE ROLE r3_01293 SETTINGS max_memory_usage=5000000;
36-
CREATE ROLE r4_01293 SETTINGS max_memory_usage MIN=5000000;
37-
CREATE ROLE r5_01293 SETTINGS max_memory_usage MAX=5000000;
38-
CREATE ROLE r6_01293 SETTINGS max_memory_usage CONST;
39-
CREATE ROLE r7_01293 SETTINGS max_memory_usage WRITABLE;
40-
CREATE ROLE r8_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 CONST;
41-
CREATE ROLE r9_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000 WRITABLE;
33+
CREATE ROLE r1_01293
34+
SETTINGS
35+
NONE;
36+
CREATE ROLE r2_01293
37+
SETTINGS
38+
PROFILE 'default';
39+
CREATE ROLE r3_01293
40+
SETTINGS
41+
max_memory_usage=5000000;
42+
CREATE ROLE r4_01293
43+
SETTINGS
44+
max_memory_usage
45+
MIN=5000000;
46+
CREATE ROLE r5_01293
47+
SETTINGS
48+
max_memory_usage
49+
MAX=5000000;
50+
CREATE ROLE r6_01293
51+
SETTINGS
52+
max_memory_usage
53+
CONST;
54+
CREATE ROLE r7_01293
55+
SETTINGS
56+
max_memory_usage
57+
WRITABLE;
58+
CREATE ROLE r8_01293
59+
SETTINGS
60+
max_memory_usage=5000000
61+
MIN 4000000
62+
MAX 6000000
63+
CONST;
64+
CREATE ROLE r9_01293
65+
SETTINGS
66+
PROFILE 'default',
67+
max_memory_usage=5000000
68+
WRITABLE;
4269
CREATE ROLE r1_01293, r2_01293;
43-
CREATE ROLE r1_01293 SETTINGS readonly=1;
44-
CREATE ROLE r2_01293 SETTINGS PROFILE 'default';
45-
CREATE ROLE r3_01293 SETTINGS max_memory_usage=5000000 MIN 4000000 MAX 6000000 WRITABLE;
46-
CREATE ROLE r4_01293 SETTINGS PROFILE 'default', max_memory_usage=5000000, readonly=1;
47-
CREATE ROLE r5_01293 SETTINGS NONE;
70+
CREATE ROLE r1_01293
71+
SETTINGS
72+
readonly=1;
73+
CREATE ROLE r2_01293
74+
SETTINGS
75+
PROFILE 'default';
76+
CREATE ROLE r3_01293
77+
SETTINGS
78+
max_memory_usage=5000000
79+
MIN 4000000
80+
MAX 6000000
81+
WRITABLE;
82+
CREATE ROLE r4_01293
83+
SETTINGS
84+
PROFILE 'default',
85+
max_memory_usage=5000000,
86+
readonly=1;
87+
CREATE ROLE r5_01293
88+
SETTINGS
89+
NONE;
4890
CREATE ROLE r1_01293@'%';
4991
CREATE ROLE r2_01293@'%.myhost.com';

0 commit comments

Comments
 (0)