Disallow square braces in column names, closes #86

This commit is contained in:
Simon Willison 2020-02-26 20:16:02 -08:00
commit b0ca657f49
2 changed files with 10 additions and 0 deletions

View file

@ -245,6 +245,11 @@ class Database:
), "defaults set {} includes items not in columns {}".format(
repr(set(defaults)), repr(set(columns.keys()))
)
# Validate no columns contain '[' or ']' - #86
for column in columns.keys():
assert (
"[" not in column and "]" not in column
), "'[' and ']' cannot be used in column names"
column_items = list(columns.items())
if column_order is not None:
column_items.sort(

View file

@ -77,6 +77,11 @@ def test_create_table_with_bad_defaults(fresh_db):
)
def test_create_table_with_invalid_column_charactters(fresh_db):
with pytest.raises(AssertionError):
fresh_db.create_table("players", {"name[foo]": str})
def test_create_table_with_defaults(fresh_db):
table = fresh_db.create_table(
"players",