Backend support for database IF NOT EXISTS
parent
1228c985ea
commit
1a55951f36
|
@ -52,10 +52,30 @@ func TestServer_DatabaseCommands(t *testing.T) {
|
|||
exp: `{"results":[{"error":"database already exists"}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "drop database should succeed",
|
||||
name: "create database should not error with existing database with IF NOT EXISTS",
|
||||
command: `CREATE DATABASE IF NOT EXISTS db0`,
|
||||
exp: `{"results":[{}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "create database should create non-existing database with IF NOT EXISTS",
|
||||
command: `CREATE DATABASE IF NOT EXISTS db1`,
|
||||
exp: `{"results":[{}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "show database should succeed",
|
||||
command: `SHOW DATABASES`,
|
||||
exp: `{"results":[{"series":[{"name":"databases","columns":["name"],"values":[["db0"],["db1"]]}]}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "drop database db0 should succeed",
|
||||
command: `DROP DATABASE db0`,
|
||||
exp: `{"results":[{}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "drop database db1 should succeed",
|
||||
command: `DROP DATABASE db1`,
|
||||
exp: `{"results":[{}]}`,
|
||||
},
|
||||
&Query{
|
||||
name: "show database should have no results",
|
||||
command: `SHOW DATABASES`,
|
||||
|
|
|
@ -89,6 +89,9 @@ func (e *StatementExecutor) ExecuteStatement(stmt influxql.Statement) *influxql.
|
|||
|
||||
func (e *StatementExecutor) executeCreateDatabaseStatement(q *influxql.CreateDatabaseStatement) *influxql.Result {
|
||||
_, err := e.Store.CreateDatabase(q.Name)
|
||||
if err == ErrDatabaseExists && q.IfNotExists {
|
||||
err = nil
|
||||
}
|
||||
return &influxql.Result{Err: err}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue