Paul McNett wrote:
> Ed Leafe wrote:
>> On Aug 20, 2007, at 2:57 PM, Paul McNett wrote:
>>
>>>    File "/home/pmcnett/dabo-full/trunk/dabo/db/dbSQLite.py", line 143,
>>> in getFields
>>>      tempCursor.execute("pragma table_info('%s')" % tableName)
>>> pysqlite2.dbapi2.OperationalError: SQL logic error or missing database
>>      Do you understand what this error means? Nothing I've changed should  
>> have altered the current database in use.
> 
> No, I have no idea. The only thing I can think of is that we are now in 
> the middle of a transaction whereas before we wouldn't have been (I 
> don't think).

Ok, I have more information. To review, here's the traceback I'm getting:

sol:~/ss pmcnett$ python shutter_studio.py
Dabo Info Log: Wed Aug 22 10:22:36 2007: 0 definición(es) de conección 
del database fueron cargadas.
Dabo Info Log: Wed Aug 22 10:22:36 2007: User interface already set to 
'wx', so dApp didn't touch it.
Dabo Info Log: Wed Aug 22 10:22:36 2007: wxPython Version: 2.8.4.0 wxMac 
(unicode)
Traceback (most recent call last):
   File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dMenuItem.py", line 
48, in __onWxHit
     self.raiseEvent(dEvents.Hit, evt)
   File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dPemMixin.py", line 
843, in raiseEvent
     super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args, 
**kwargs)
   File "/home/pmcnett/dabo-full/trunk/dabo/lib/eventMixin.py", line 92, 
in raiseEvent
     bindingFunction(event)
   File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dForm.py", line 658, 
in onSave
     def onSave(self, evt): self.save()
   File "/home/pmcnett/dabo-full/trunk/dabo/lib/datanav2/Form.py", line 
53, in save
     ret = super(Form, self).save(dataSource)
   File "/home/pmcnett/dabo-full/trunk/dabo/ui/uiwx/dForm.py", line 342, 
in save
     bizobj.saveAll()
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 276, 
in saveAll
     startTransaction=False)
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 689, 
in scanChangedRows
     func(*args, **kwargs)
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 337, 
in save
     self._onSaveNew()
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 1076, 
in _onSaveNew
     self.onSaveNew()
   File 
"/Users/pmcnett/py/sbs/shutter_studio/trunk/clients/shutter_studio/biz/Customers.py",
 
line 70, in onSaveNew
     self.save()
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 344, 
in save
     child.saveAll(startTransaction=False)
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 276, 
in saveAll
     startTransaction=False)
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 689, 
in scanChangedRows
     func(*args, **kwargs)
   File "/home/pmcnett/dabo-full/trunk/dabo/biz/dBizobj.py", line 378, 
in save
     self.afterSave()
   File "/home/pmcnett/sst/clients/ss_common/biz/Base.py", line 20, in 
afterSave
     self.fillDerivedFields()
   File 
"/Users/pmcnett/py/sbs/shutter_studio/trunk/clients/shutter_studio/biz/ProdCust.py",
 
line 24, in fillDerivedFields
     cur.requery()
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 
379, in requery
     self.execute(self.CurrentSQL, params, _fromRequery=True)
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 
303, in execute
     self._storeFieldTypes()
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 
405, in _storeFieldTypes
     for field in self.DataStructure:
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 
2088, in _getDataStructure
     ds = self.BackendObject.getStructureDescription(self)
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dBackend.py", line 458, 
in getStructureDescription
     standard_fields = cursor.getFields()
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dCursorMixin.py", line 
1679, in getFields
     return self.BackendObject.getFields(tableName)
   File "/home/pmcnett/dabo-full/trunk/dabo/db/dbSQLite.py", line 144, 
in getFields
     tempCursor.execute("pragma table_info('%s')" % tableName)
sqlite3.OperationalError: SQL logic error or missing database


I've determined that dbSQLite.getFields() is receiving a tableName 
argument that is an empty string. This comes from dCursorMixin.getFields 
where tableName got the default arg of None, so it converts it to 
self.Table, which appears to be the empty string for some reason.

-- 
pkm ~ http://paulmcnett.com


_______________________________________________
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