-
Notifications
You must be signed in to change notification settings - Fork 605
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Milestone
Description
Currently, when executing multiple SQL statements (particularly CREATE TABLE statements) in a single Exec() call, Limbo only executes the first statement and ignores the rest.
// This code only creates table1, ignoring table2 and table3
schema := `
CREATE TABLE table1 (id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE table2 (id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE table3 (id INTEGER PRIMARY KEY, name TEXT);
`
_, err = db.Exec(schema)The same CREATE TABLE sequence works fine with each statement executed separately.
statements := []string{
"CREATE TABLE table1 (id INTEGER PRIMARY KEY, name TEXT);",
"CREATE TABLE table2 (id INTEGER PRIMARY KEY, name TEXT);",
"CREATE TABLE table3 (id INTEGER PRIMARY KEY, name TEXT);",
}
for _, stmt := range statements {
_, err = db.Exec(stmt)
// handle error
}If this is by design (possibly for security reasons), it's fine to close this of course. Supporting multiple statements would improve compatibility with existing SQLite-based applications migrating to Limbo.
sanket143 and ahmedalhulaibi
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed