Hi people, I'm trying to write a QT SQL driver for monetdb, but I've not been successful. MonetDB is a database system that supports SQL and has python bindings. Please see attachment for my initial tryout. The code is far from complete, but I'm stuck at the beginning, the DriverCreator.
I subclass QSqlDriverCreatorBase To create a factory that returns monetdb SQL driver instances, but when I run it I get the error: TypeError: QtSql.QSqlDriverCreatorBase represents a C++ abstract class and cannot be instantiated So I assume that I'm not allowed to inherit this class from python. Am I'm doing something wrong or is it only possible to do this with a C++ driver for now? This isn't really clear in the documentation or I can't find it. Is there anybody here who knows more about this, or tried to do something similar? Thanks! -- Gijs Molenaar http://gijs.pythonic.nl
import sys
sys.path.append('/usr/share/python-support/python-monetdb')
sys.path.append('/home/fegroffe/monetdb-stable-20080829/lib64/python2.5/site-packages')
from PyQt4 import QtSql
import MonetSQLdb
class QSqlMonetdbDriver(QtSql.QSqlDriver):
def __init__(self):
pass
def hasFeature(self, DriverFeature):
return False
def open(self, db, user, password, host, port, options):
return False
def close(self):
pass
def createResult(self):
return QSqlMonetdbResult(self)
class QSqlMonetdbResult(QtSql.QSqlResult):
def __init__(self, driver):
QtSql.QSqlResult.__init__(driver)
def data(self, index):
return QVariant()
def isNull(self, index):
return False
def reset(self, query):
return False
def fetch(self, index):
return False
def fetchFirst(self):
return False
def fetchLast(self):
return False
def size():
return 0
def numRowsAffected():
return 0
def record():
return QtSql.QSqlRecord()
class QSqlDriverCreatorBase(QtSql.QSqlDriverCreatorBase):
def createObject(self):
return QSqlMonetdbDriver()
if __name__ == '__main__':
QtSql.QSqlDatabase.registerSqlDriver("MonetDB", QSqlDriverCreatorBase())
db = QtSql.QSqlDatabase.addDatabase("MonetDB")
signature.asc
Description: OpenPGP digital signature
_______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
