diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-06 23:15:47 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-06 23:15:47 +0000 |
commit | 2d596b61c06aca5409b4c219e267f152dc9e3293 (patch) | |
tree | a266e8c9d2dd5b86a6c38b182fd269b4b4e07f31 /lib/sqlalchemy/sql.py | |
parent | 97b1c3a59a8158a75f697faa3aae78875d9d6a61 (diff) | |
download | sqlalchemy-2d596b61c06aca5409b4c219e267f152dc9e3293.tar.gz |
checking in patch for column labels limit at 30 chars...what the heck
Diffstat (limited to 'lib/sqlalchemy/sql.py')
-rw-r--r-- | lib/sqlalchemy/sql.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index d4312a151..bb3a1039c 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -953,6 +953,7 @@ class Label(ColumnElement): self.obj = obj obj.parens=True key = property(lambda s: s.name) + _label = property(lambda s: s.name) original = property(lambda s:s.obj.original) parent = property(lambda s:s.obj.parent) @@ -971,11 +972,16 @@ class ColumnClause(ColumnElement): self.key = self.name = self.text = text self.table = selectable self.type = type or sqltypes.NullTypeEngine() + self.__label = None def _get_label(self): - if self.table is not None: - return self.table.name + "_" + self.text - else: - return self.text + if self.__label is None: + if self.table is not None: + self.__label = self.table.name + "_" + self.text + else: + self.__label = self.text + if len(self.__label) >= 30: + self.__label = self.__label[0:24] + "_" + hex(random.randint(0, 65535))[2:] + return self.__label _label = property(_get_label) def accept_visitor(self, visitor): visitor.visit_column(self) |