Skip to content

Commit 059c2c5

Browse files
authored
Add some spaces between parts of SQL statements. (#9)
Some SQL statements have spaces between keywords. Some don't. It's suspicious that one of the ORDER BYs without spaces is breaking. I guess newlines aren't enough. Maybe they're getting stripped?
1 parent 6d6c5db commit 059c2c5

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

pkg/mssqldb/permissions.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ func (c *Client) ListServerPermissions(ctx context.Context, pager *Pager) ([]*Pe
2727
args := []interface{}{offset, limit + 1}
2828

2929
var sb strings.Builder
30-
_, _ = sb.WriteString(`SELECT
31-
principals.name as principal_name,
32-
perms.grantee_principal_id as principal_id,
33-
perms.state as state,
34-
STRING_AGG(perms.type, ',') as perms,
35-
principals.type as principal_type
36-
FROM sys.server_permissions perms
37-
JOIN sys.server_principals principals ON perms.grantee_principal_id = principals.principal_id
38-
WHERE perms.state = 'G' OR perms.state = 'W'
39-
GROUP BY perms.grantee_principal_id, perms.state, principals.name, principals.type
40-
ORDER BY perms.grantee_principal_id ASC
30+
_, _ = sb.WriteString(`SELECT
31+
principals.name as principal_name,
32+
perms.grantee_principal_id as principal_id,
33+
perms.state as state,
34+
STRING_AGG(perms.type, ',') as perms,
35+
principals.type as principal_type
36+
FROM sys.server_permissions perms
37+
JOIN sys.server_principals principals ON perms.grantee_principal_id = principals.principal_id
38+
WHERE perms.state = 'G' OR perms.state = 'W'
39+
GROUP BY perms.grantee_principal_id, perms.state, principals.name, principals.type
40+
ORDER BY perms.grantee_principal_id ASC
4141
OFFSET @p1 ROWS FETCH NEXT @p2 ROWS ONLY`)
4242

4343
rows, err := c.db.QueryxContext(ctx, sb.String(), args...)
@@ -91,11 +91,11 @@ FROM `)
9191
_, _ = sb.WriteString(`.sys.database_permissions perms
9292
JOIN `)
9393
_, _ = sb.WriteString(dbName)
94-
_, _ = sb.WriteString(`.sys.database_principals AS principals
95-
ON perms.grantee_principal_id = principals.principal_id
96-
WHERE (perms.state = 'G' OR perms.state = 'W') AND (perms.class = 0 AND perms.major_id = 0)
97-
GROUP BY perms.grantee_principal_id, perms.state, principals.name, principals.type
98-
ORDER BY perms.grantee_principal_id ASC
94+
_, _ = sb.WriteString(`.sys.database_principals AS principals
95+
ON perms.grantee_principal_id = principals.principal_id
96+
WHERE (perms.state = 'G' OR perms.state = 'W') AND (perms.class = 0 AND perms.major_id = 0)
97+
GROUP BY perms.grantee_principal_id, perms.state, principals.name, principals.type
98+
ORDER BY perms.grantee_principal_id ASC
9999
OFFSET @p1 ROWS FETCH NEXT @p2 ROWS ONLY`)
100100

101101
rows, err := c.db.QueryxContext(ctx, sb.String(), args...)

pkg/mssqldb/roles.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ func (c *Client) ListServerRolePrincipals(ctx context.Context, serverRoleID stri
4343
SELECT
4444
sys.server_principals.principal_id,
4545
sys.server_principals.name,
46-
sys.server_principals.type
46+
sys.server_principals.type
4747
FROM
48-
sys.server_principals
49-
JOIN sys.server_role_members ON sys.server_role_members.member_principal_id = sys.server_principals.principal_id
50-
WHERE sys.server_role_members.role_principal_id = @p1
48+
sys.server_principals
49+
JOIN sys.server_role_members ON sys.server_role_members.member_principal_id = sys.server_principals.principal_id
50+
WHERE sys.server_role_members.role_principal_id = @p1
5151
ORDER BY
5252
sys.server_principals.principal_id ASC OFFSET @p2 ROWS FETCH NEXT @p3 ROWS ONLY
5353
`)
@@ -102,7 +102,7 @@ SELECT
102102
type_desc
103103
FROM
104104
sys.server_principals
105-
WHERE type = 'R'
105+
WHERE type = 'R'
106106
ORDER BY
107107
principal_id ASC OFFSET @p1 ROWS FETCH NEXT @p2 ROWS ONLY
108108
`)
@@ -150,14 +150,14 @@ func (c *Client) ListDatabaseRoles(ctx context.Context, dbName string, pager *Pa
150150
// Fetch the database role principals.
151151
_, _ = sb.WriteString(`
152152
SELECT
153-
principal_id,
153+
principal_id,
154154
sid,
155155
name,
156156
type_desc
157157
FROM `)
158158
_, _ = sb.WriteString(dbName)
159159
_, _ = sb.WriteString(`.sys.database_principals
160-
WHERE type = 'R'
160+
WHERE type = 'R'
161161
ORDER BY
162162
principal_id ASC OFFSET @p1 ROWS FETCH NEXT @p2 ROWS ONLY
163163
`)
@@ -202,14 +202,14 @@ func (c *Client) ListDatabaseRolePrincipals(ctx context.Context, dbName string,
202202
args := []interface{}{databaseRoleID, offset, limit + 1}
203203

204204
query := fmt.Sprintf(
205-
`SELECT
205+
`SELECT
206206
%s.sys.database_principals.principal_id,
207207
%s.sys.database_principals.name,
208208
%s.sys.database_principals.type
209-
FROM
210-
%s.sys.database_principals
211-
JOIN %s.sys.database_role_members ON %s.sys.database_role_members.member_principal_id = %s.sys.database_principals.principal_id
212-
WHERE %s.sys.database_role_members.role_principal_id = @p1
209+
FROM
210+
%s.sys.database_principals
211+
JOIN %s.sys.database_role_members ON %s.sys.database_role_members.member_principal_id = %s.sys.database_principals.principal_id
212+
WHERE %s.sys.database_role_members.role_principal_id = @p1
213213
ORDER BY %s.sys.database_principals.principal_id ASC OFFSET @p2 ROWS FETCH NEXT @p3 ROWS ONLY`,
214214
dbName,
215215
dbName,

0 commit comments

Comments
 (0)