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]

Reply via email to