summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-01-21 15:56:23 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2010-01-21 15:56:23 +0000
commitc5e29f0eedfd0369cfedfaa8c3e903443fe63a3e (patch)
tree7d958e2a0323b03331a1cf4ea7877cc6c46e21dc
parentcd70a420072a736f57d8f0e1f07067a0aa9d1fe3 (diff)
downloadsqlalchemy-c5e29f0eedfd0369cfedfaa8c3e903443fe63a3e.tar.gz
fixed the illegal_initial_chars collection + unit test, [ticket:1659]
-rw-r--r--lib/sqlalchemy/sql/compiler.py2
-rw-r--r--test/sql/test_quote.py11
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index c3ef9288a..2d099e9d5 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -47,7 +47,7 @@ RESERVED_WORDS = set([
'using', 'verbose', 'when', 'where'])
LEGAL_CHARACTERS = re.compile(r'^[A-Z0-9_$]+$', re.I)
-ILLEGAL_INITIAL_CHARACTERS = set(xrange(0, 10)).union(['$'])
+ILLEGAL_INITIAL_CHARACTERS = set([str(x) for x in xrange(0, 10)]).union(['$'])
BIND_PARAMS = re.compile(r'(?<![:\w\$\x5c]):([\w\$]+)(?![:\w\$])', re.UNICODE)
BIND_PARAMS_ESC = re.compile(r'\x5c(:[\w\$]+)(?![:\w\$])', re.UNICODE)
diff --git a/test/sql/test_quote.py b/test/sql/test_quote.py
index 3198a07af..f4df98b9e 100644
--- a/test/sql/test_quote.py
+++ b/test/sql/test_quote.py
@@ -1,9 +1,8 @@
from sqlalchemy import *
-from sqlalchemy import sql
+from sqlalchemy import sql, schema
from sqlalchemy.sql import compiler
from sqlalchemy.test import *
-
class QuoteTest(TestBase, AssertsCompiledSQL):
@classmethod
def setup_class(cls):
@@ -49,6 +48,14 @@ class QuoteTest(TestBase, AssertsCompiledSQL):
print res2
assert(res2==[(1,2,3),(2,2,3),(4,3,2)])
+ def test_numeric(self):
+ metadata = MetaData()
+ t1 = Table('35table', metadata,
+ Column('25column', Integer))
+ self.assert_compile(schema.CreateTable(t1), 'CREATE TABLE "35table" ('
+ '"25column" INTEGER'
+ ')'
+ )
def testreflect(self):
meta2 = MetaData(testing.db)
t2 = Table('WorstCase2', meta2, autoload=True, quote=True)