Skip to content

Commit 98dd284

Browse files
committed
Views should be double quoted too
1 parent 69888ee commit 98dd284

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

sqlite_utils/db.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,9 @@ def create_view(
11771177
assert not (
11781178
ignore and replace
11791179
), "Use one or the other of ignore/replace, not both"
1180-
create_sql = "CREATE VIEW {name} AS {sql}".format(name=name, sql=sql)
1180+
create_sql = "CREATE VIEW {name} AS {sql}".format(
1181+
name=quote_identifier(name), sql=sql
1182+
)
11811183
if ignore or replace:
11821184
# Does view exist already?
11831185
if name in self.view_names():

tests/test_cli.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ def test_views(db_path):
6262
result = CliRunner().invoke(cli.cli, ["views", db_path, "--table", "--schema"])
6363
assert (
6464
"view schema\n"
65-
"------ --------------------------------------------\n"
66-
"hello CREATE VIEW hello AS select sqlite_version()"
65+
"------ ----------------------------------------------\n"
66+
'hello CREATE VIEW "hello" AS select sqlite_version()'
6767
) == result.output.strip()
6868

6969

@@ -1294,7 +1294,9 @@ def test_create_view():
12941294
cli.cli, ["create-view", "test.db", "version", "select sqlite_version()"]
12951295
)
12961296
assert result.exit_code == 0
1297-
assert "CREATE VIEW version AS select sqlite_version()" == db["version"].schema
1297+
assert (
1298+
'CREATE VIEW "version" AS select sqlite_version()' == db["version"].schema
1299+
)
12981300

12991301

13001302
def test_create_view_error_if_view_exists():
@@ -1329,7 +1331,8 @@ def test_create_view_ignore():
13291331
)
13301332
assert result.exit_code == 0
13311333
assert (
1332-
"CREATE VIEW version AS select sqlite_version() + 1" == db["version"].schema
1334+
'CREATE VIEW "version" AS select sqlite_version() + 1'
1335+
== db["version"].schema
13331336
)
13341337

13351338

@@ -1349,7 +1352,9 @@ def test_create_view_replace():
13491352
],
13501353
)
13511354
assert result.exit_code == 0
1352-
assert "CREATE VIEW version AS select sqlite_version()" == db["version"].schema
1355+
assert (
1356+
'CREATE VIEW "version" AS select sqlite_version()' == db["version"].schema
1357+
)
13531358

13541359

13551360
def test_drop_table():

tests/test_cli_memory.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ def test_memory_dump(extra_args):
172172
");\n"
173173
"INSERT INTO \"stdin\" VALUES(1,'Cleo');\n"
174174
"INSERT INTO \"stdin\" VALUES(2,'Bants');\n"
175-
'CREATE VIEW t1 AS select * from "stdin";\n'
176-
'CREATE VIEW t AS select * from "stdin";\n'
175+
'CREATE VIEW "t1" AS select * from "stdin";\n'
176+
'CREATE VIEW "t" AS select * from "stdin";\n'
177177
"COMMIT;"
178178
)
179179
# Using sqlite-dump it won't have IF NOT EXISTS
@@ -194,8 +194,8 @@ def test_memory_schema(extra_args):
194194
' "id" INTEGER,\n'
195195
' "name" TEXT\n'
196196
");\n"
197-
'CREATE VIEW t1 AS select * from "stdin";\n'
198-
'CREATE VIEW t AS select * from "stdin";'
197+
'CREATE VIEW "t1" AS select * from "stdin";\n'
198+
'CREATE VIEW "t" AS select * from "stdin";'
199199
)
200200

201201

@@ -288,13 +288,13 @@ def test_memory_two_files_with_same_stem(tmpdir):
288288
' "id" INTEGER,\n'
289289
' "name" TEXT\n'
290290
");\n"
291-
'CREATE VIEW t1 AS select * from "data";\n'
292-
'CREATE VIEW t AS select * from "data";\n'
291+
'CREATE VIEW "t1" AS select * from "data";\n'
292+
'CREATE VIEW "t" AS select * from "data";\n'
293293
'CREATE TABLE "data_2" (\n'
294294
' "id" INTEGER,\n'
295295
' "name" TEXT\n'
296296
");\n"
297-
'CREATE VIEW t2 AS select * from "data_2";\n'
297+
'CREATE VIEW "t2" AS select * from "data_2";\n'
298298
)
299299

300300

0 commit comments

Comments
 (0)