Skip to content

Commit 430cb17

Browse files
committed
Fix ALTER DATABASE statement handling
- Add UseCurrent field to AlterDatabaseRemoveFileGroupStatement - Differentiate READONLY/READWRITE (old syntax) from READ_ONLY/READ_WRITE - READONLY -> ReadOnlyOld - READ_ONLY -> ReadOnly - READWRITE -> ReadWriteOld - READ_WRITE -> ReadWrite - Always output UseCurrent in AlterDatabaseModifyFileGroupStatement - Update PhaseOne tests to include new fields
1 parent c86de0b commit 430cb17

7 files changed

Lines changed: 17 additions & 8 deletions

File tree

ast/alter_database_set_statement.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ func (a *AlterDatabaseRemoveFileStatement) statement() {}
9797
type AlterDatabaseRemoveFileGroupStatement struct {
9898
DatabaseName *Identifier
9999
FileGroupName *Identifier
100+
UseCurrent bool
100101
}
101102

102103
func (a *AlterDatabaseRemoveFileGroupStatement) node() {}

parser/marshal.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6331,10 +6331,7 @@ func alterDatabaseModifyFileGroupStatementToJSON(s *ast.AlterDatabaseModifyFileG
63316331
node["FileGroup"] = identifierToJSON(s.FileGroupName)
63326332
}
63336333
node["MakeDefault"] = s.MakeDefault
6334-
// Only output UseCurrent when UpdatabilityOption is an autogrow option
6335-
if strings.HasPrefix(s.UpdatabilityOption, "Autogrow") {
6336-
node["UseCurrent"] = false
6337-
}
6334+
node["UseCurrent"] = false
63386335
if s.NewFileGroupName != nil {
63396336
node["NewFileGroupName"] = identifierToJSON(s.NewFileGroupName)
63406337
}
@@ -6380,6 +6377,7 @@ func alterDatabaseRemoveFileGroupStatementToJSON(s *ast.AlterDatabaseRemoveFileG
63806377
if s.FileGroupName != nil {
63816378
node["FileGroup"] = identifierToJSON(s.FileGroupName)
63826379
}
6380+
node["UseCurrent"] = s.UseCurrent
63836381
return node
63846382
}
63856383

parser/parse_ddl.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1580,10 +1580,16 @@ func (p *Parser) parseAlterDatabaseModifyStatement(dbName *ast.Identifier) (ast.
15801580
case "DEFAULT":
15811581
stmt.MakeDefault = true
15821582
p.nextToken()
1583-
case "READONLY", "READ_ONLY":
1583+
case "READONLY":
1584+
stmt.UpdatabilityOption = "ReadOnlyOld"
1585+
p.nextToken()
1586+
case "READ_ONLY":
15841587
stmt.UpdatabilityOption = "ReadOnly"
15851588
p.nextToken()
1586-
case "READWRITE", "READ_WRITE":
1589+
case "READWRITE":
1590+
stmt.UpdatabilityOption = "ReadWriteOld"
1591+
p.nextToken()
1592+
case "READ_WRITE":
15871593
stmt.UpdatabilityOption = "ReadWrite"
15881594
p.nextToken()
15891595
case "AUTOGROW_ALL_FILES":

parser/testdata/PhaseOne_AlterDatabaseModifyFilegroup1StatementTest/ast.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"Value": "fg1"
1818
},
1919
"MakeDefault": false,
20+
"UseCurrent": false,
2021
"UpdatabilityOption": "ReadOnly"
2122
}
2223
]

parser/testdata/PhaseOne_AlterDatabaseModifyFilegroup2StatementTest/ast.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"Value": "fg1"
1818
},
1919
"MakeDefault": false,
20+
"UseCurrent": false,
2021
"NewFileGroupName": {
2122
"$type": "Identifier",
2223
"QuoteType": "NotQuoted",

parser/testdata/PhaseOne_AlterDatabaseModifyFilegroup3StatementTest/ast.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"QuoteType": "SquareBracket",
1717
"Value": "fg1"
1818
},
19-
"MakeDefault": true
19+
"MakeDefault": true,
20+
"UseCurrent": false
2021
}
2122
]
2223
}

parser/testdata/PhaseOne_AlterDatabaseRemoveFilegroupStatementTest/ast.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"$type": "Identifier",
1616
"QuoteType": "SquareBracket",
1717
"Value": "fg1"
18-
}
18+
},
19+
"UseCurrent": false
1920
}
2021
]
2122
}

0 commit comments

Comments
 (0)