MCPcopy Index your code
hub / github.com/github/gh-ost / TestParseAlterStatementExplicitTable

Function TestParseAlterStatementExplicitTable

go/sql/parser_test.go:228–319  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

226}
227
228func TestParseAlterStatementExplicitTable(t *testing.T) {
229 {
230 parser := NewAlterTableParser()
231 statement := "drop column b"
232 err := parser.ParseAlterStatement(statement)
233 require.NoError(t, err)
234 require.Equal(t, "", parser.explicitSchema)
235 require.Equal(t, "", parser.explicitTable)
236 require.Equal(t, "drop column b", parser.alterStatementOptions)
237 require.Equal(t, []string{"drop column b"}, parser.alterTokens)
238 }
239 {
240 parser := NewAlterTableParser()
241 statement := "alter table tbl drop column b"
242 err := parser.ParseAlterStatement(statement)
243 require.NoError(t, err)
244 require.Equal(t, "", parser.explicitSchema)
245 require.Equal(t, "tbl", parser.explicitTable)
246 require.Equal(t, "drop column b", parser.alterStatementOptions)
247 require.Equal(t, []string{"drop column b"}, parser.alterTokens)
248 }
249 {
250 parser := NewAlterTableParser()
251 statement := "alter table `tbl` drop column b"
252 err := parser.ParseAlterStatement(statement)
253 require.NoError(t, err)
254 require.Equal(t, parser.explicitSchema, "")
255 require.Equal(t, parser.explicitTable, "tbl")
256 require.Equal(t, parser.alterStatementOptions, "drop column b")
257 require.Equal(t, parser.alterTokens, []string{"drop column b"})
258 }
259 {
260 parser := NewAlterTableParser()
261 statement := "alter table `scm with spaces`.`tbl` drop column b"
262 err := parser.ParseAlterStatement(statement)
263 require.NoError(t, err)
264 require.Equal(t, parser.explicitSchema, "scm with spaces")
265 require.Equal(t, parser.explicitTable, "tbl")
266 require.Equal(t, parser.alterStatementOptions, "drop column b")
267 require.Equal(t, parser.alterTokens, []string{"drop column b"})
268 }
269 {
270 parser := NewAlterTableParser()
271 statement := "alter table `scm`.`tbl with spaces` drop column b"
272 err := parser.ParseAlterStatement(statement)
273 require.NoError(t, err)
274 require.Equal(t, parser.explicitSchema, "scm")
275 require.Equal(t, parser.explicitTable, "tbl with spaces")
276 require.Equal(t, parser.alterStatementOptions, "drop column b")
277 require.Equal(t, parser.alterTokens, []string{"drop column b"})
278 }
279 {
280 parser := NewAlterTableParser()
281 statement := "alter table `scm`.tbl drop column b"
282 err := parser.ParseAlterStatement(statement)
283 require.NoError(t, err)
284 require.Equal(t, parser.explicitSchema, "scm")
285 require.Equal(t, parser.explicitTable, "tbl")

Callers

nothing calls this directly

Calls 2

ParseAlterStatementMethod · 0.95
NewAlterTableParserFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…