From: Mike Bayer Date: Mon, 6 Mar 2006 23:15:47 +0000 (+0000) Subject: checking in patch for column labels limit at 30 chars...what the heck X-Git-Tag: rel_0_1_4~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d596b61c06aca5409b4c219e267f152dc9e3293;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git checking in patch for column labels limit at 30 chars...what the heck --- diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index d4312a151d..bb3a1039c0 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)