summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--lib/sqlalchemy/ansisql.py4
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index fec4bda34..ffe8d4f78 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+- sql
+ - long-identifier detection fixed to use > rather than >= for
+ max ident length [ticket:589]
0.3.8
- engines
- added detach() to Connection, allows underlying DBAPI connection
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py
index 28dd0866c..090368a58 100644
--- a/lib/sqlalchemy/ansisql.py
+++ b/lib/sqlalchemy/ansisql.py
@@ -399,7 +399,7 @@ class ANSICompiler(sql.Compiled):
return self.bind_names[bindparam]
bind_name = bindparam.key
- if len(bind_name) >= self.dialect.max_identifier_length():
+ if len(bind_name) > self.dialect.max_identifier_length():
bind_name = self._truncated_identifier("bindparam", bind_name)
# add to bind_names for translation
self.bind_names[bindparam] = bind_name
@@ -408,7 +408,7 @@ class ANSICompiler(sql.Compiled):
def _truncated_identifier(self, ident_class, name):
if (ident_class, name) in self.generated_ids:
return self.generated_ids[(ident_class, name)]
- if len(name) >= self.dialect.max_identifier_length():
+ if len(name) > self.dialect.max_identifier_length():
counter = self.generated_ids.get(ident_class, 1)
truncname = name[0:self.dialect.max_identifier_length() - 6] + "_" + hex(counter)[2:]
self.generated_ids[ident_class] = counter + 1