Don’t allow dots in column names, fixes #86.
This commit is contained in:
parent
a95c7be33b
commit
19cc76dd60
@ -219,6 +219,11 @@ class Table(object):
|
|||||||
"""
|
"""
|
||||||
self._check_dropped()
|
self._check_dropped()
|
||||||
self.database._acquire()
|
self.database._acquire()
|
||||||
|
|
||||||
|
# check that column name is OK:
|
||||||
|
if '.' in name:
|
||||||
|
raise ValueError("Invalid column name: %r" % name)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if name not in self.table.columns.keys():
|
if name not in self.table.columns.keys():
|
||||||
self.database.op.add_column(
|
self.database.op.add_column(
|
||||||
|
|||||||
@ -192,6 +192,15 @@ class TableTestCase(unittest.TestCase):
|
|||||||
row['foo'] = 'bar'
|
row['foo'] = 'bar'
|
||||||
self.tbl.update(row, ['place', 'date'])
|
self.tbl.update(row, ['place', 'date'])
|
||||||
|
|
||||||
|
def test_weird_column_names(self):
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
self.tbl.insert({
|
||||||
|
'date': datetime(2011, 1, 2),
|
||||||
|
'temperature': -10,
|
||||||
|
'foo.bar': 'Berlin',
|
||||||
|
'qux.bar': 'Huhu'
|
||||||
|
})
|
||||||
|
|
||||||
def test_delete(self):
|
def test_delete(self):
|
||||||
self.tbl.insert({
|
self.tbl.insert({
|
||||||
'date': datetime(2011, 1, 2),
|
'date': datetime(2011, 1, 2),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user