Ed Leafe wrote:
> dabo Commit
> Revision 3325
> Date: 2007-08-23 08:12:29 -0700 (Thu, 23 Aug 2007)
> Author: Ed
> Trac: http://svn.dabodev.com/trac/dabo/changeset/3325
>
> Changed:
> U trunk/dabo/db/dbFirebird.py
>
> Log:
> Fixed the field-matching regex to allow '$' as a legal field name character.
Now the first query in dbFirebird.getFields() doesn't error out any more.
Now the next query:
Database Activity Log: Thu Aug 23 21:20:09 2007: SQL: SELECT
S.RDB$FIELD_NAME AS COLUMN_NAME FROM RDB$RELATION_CONSTRAINTS
RC LEFT JOIN RDB$INDICES I ON (I.RDB$INDEX_NAME = RC."RDB$INDEX_NAME")
LEFT JOIN RDB$INDEX_SEGMENTS S ON (S.RDB$INDEX_NAME
= I.RDB$INDEX_NAME) WHERE (RC."RDB$CONSTRAINT_TYPE" =
'PRIMARY KEY') AND (I.RDB$RELATION_NAME = 'ETYP')
Database Activity Log: Thu Aug 23 21:20:09 2007: SQL: SELECT
b.RDB$FIELD_NAME, d.RDB$TYPE_NAME, c.RDB$FIELD_LENGTH,
c.RDB$FIELD_SCALE, b.RDB$FIELD_ID FROM RDB$RELATIONS a INNER JOIN
RDB$RELATION_FIELDS b ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
INNER JOIN RDB$FIELDS c ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME INNER
JOIN RDB$TYPES d ON c.RDB$FIELD_TYPE = d.RDB$TYPE WHERE
a.RDB$SYSTEM_FLAG = 0 AND d.RDB$FIELD_NAME = 'RDB$FIELD_TYPE' AND
a.RDB$RELATION_NAME = 'ETYP' ORDER BY b.RDB$FIELD_ID
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dControlMixin.py",
line 21, in _onWxHit
self.raiseEvent(dEvents.Hit, evt, *args, **kwargs)
File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dPemMixin.py",
line 843, in raiseEvent
super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args,
**kwargs)
File "/usr/lib/python2.5/site-packages/dabo/lib/eventMixin.py", line
92, in raiseEvent
bindingFunction(event)
File "/home/uwe/mysrc/ugfw/fwadm/EtypEnumForm.py", line 145, in
onHit_btnSearch
self.requerybysearch()
File "/home/uwe/mysrc/ugfw/fwadm/EtypEnumForm.py", line 100, in
requerybysearch
self.requery()
File "/usr/lib/python2.5/site-packages/dabo/ui/uiwx/dForm.py", line
439, in requery
response = bizobj.requery()
File "/usr/lib/python2.5/site-packages/dabo/biz/dBizobj.py", line 792,
in requery
cursor.requery(params)
File "/usr/lib/python2.5/site-packages/dabo/db/dCursorMixin.py", line
384, in requery
self.__setNonUpdateFields()
File "/usr/lib/python2.5/site-packages/dabo/db/dCursorMixin.py", line
634, in __setNonUpdateFields
realFields = [f[0] for f in self.getFields()]
File "/usr/lib/python2.5/site-packages/dabo/db/dCursorMixin.py", line
1676, in getFields
return self.BackendObject.getFields(tableName, self.AuxCursor)
File "/usr/lib/python2.5/site-packages/dabo/db/dbFirebird.py", line
157, in getFields
name = r[0].strip()
KeyError: 0
Would you please tell us why you changed the logic in
dbFirebird.getFields() to use a dCursorMixin class instead of the plain
kinterbasdb cursor like it was before?
I don't see why it was necessary to use a dCursorMixin class as i'm not
able to think of the real reason for this.
Unfortunately you didn't change the following logic, so it's messed up now.
Uwe
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/dabo-dev/[EMAIL PROTECTED]