[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue common/src/GDataObjects.py common/src/GDat...
From: |
James Thompson |
Subject: |
gnue common/src/GDataObjects.py common/src/GDat... |
Date: |
Wed, 06 Nov 2002 14:13:17 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: James Thompson <address@hidden> 02/11/06 14:13:16
Modified files:
common/src : GDataObjects.py GDataSource.py
common/src/dbdrivers/_dbsig: DBdriver.py
common/src/dbdrivers/_empty: DBdriver.py
common/src/dbdrivers/_static: DBdriver.py
common/src/dbdrivers/configfile: DBdriver.py
common/src/dbdrivers/cxoracle: DBdriver.py
common/src/dbdrivers/popy: DBdriver.py
common/src/dbdrivers/postgresql: DBdriver.py
common/src/dbdrivers/pypgsql: DBdriver.py
common/src/dbdrivers/sapdb: DBdriver.py
common/src/dbdrivers/sqlite: DBdriver.py
common/src/dbdrivers/sqlrelay: DBdriver.py
common/src/dbdrivers/sybase: DBdriver.py
forms/src : GFInstance.py
forms/src/GFObjects: GFBlock.py
Log message:
query by detail support (needs more testing)
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataObjects.py.diff?tr1=1.56&tr2=1.57&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GDataSource.py.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/_dbsig/DBdriver.py.diff?tr1=1.59&tr2=1.60&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/_empty/DBdriver.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/_static/DBdriver.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/configfile/DBdriver.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/cxoracle/DBdriver.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/popy/DBdriver.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/postgresql/DBdriver.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/pypgsql/DBdriver.py.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/sapdb/DBdriver.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/sqlite/DBdriver.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/sqlrelay/DBdriver.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/dbdrivers/sybase/DBdriver.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFInstance.py.diff?tr1=1.63&tr2=1.64&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/GFObjects/GFBlock.py.diff?tr1=1.60&tr2=1.61&r1=text&r2=text
Patches:
Index: gnue/common/src/GDataObjects.py
diff -c gnue/common/src/GDataObjects.py:1.56
gnue/common/src/GDataObjects.py:1.57
*** gnue/common/src/GDataObjects.py:1.56 Tue Nov 5 21:03:42 2002
--- gnue/common/src/GDataObjects.py Wed Nov 6 14:13:15 2002
***************
*** 121,130 ****
return self._masterObject != None
# Do not over-ride by vendor code
! def createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
return self._createResultSet(
GConditions.combineConditions(conditions, self._staticCondition),
! readOnly=readOnly, masterRecordSet=masterRecordSet)
# Designed to be replaced by vendor-specific code
def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
--- 121,130 ----
return self._masterObject != None
# Do not over-ride by vendor code
! def createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None,
sql=""):
return self._createResultSet(
GConditions.combineConditions(conditions, self._staticCondition),
! readOnly=readOnly, masterRecordSet=masterRecordSet, sql=sql)
# Designed to be replaced by vendor-specific code
def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
Index: gnue/common/src/GDataSource.py
diff -c gnue/common/src/GDataSource.py:1.45 gnue/common/src/GDataSource.py:1.46
*** gnue/common/src/GDataSource.py:1.45 Tue Nov 5 21:03:42 2002
--- gnue/common/src/GDataSource.py Wed Nov 6 14:13:15 2002
***************
*** 237,244 ****
def hasMaster(self):
return self._dataObject != None and self._dataObject.hasMaster()
! def createResultSet(self, conditions={}, readOnly=0):
! resultSet= self._dataObject.createResultSet(conditions,readOnly)
self.__setResultSet( resultSet )
return resultSet
--- 237,244 ----
def hasMaster(self):
return self._dataObject != None and self._dataObject.hasMaster()
! def createResultSet(self, conditions={}, readOnly=0, sql=""):
! resultSet= self._dataObject.createResultSet(conditions,readOnly,sql=sql)
self.__setResultSet( resultSet )
return resultSet
Index: gnue/common/src/dbdrivers/_dbsig/DBdriver.py
diff -c gnue/common/src/dbdrivers/_dbsig/DBdriver.py:1.59
gnue/common/src/dbdrivers/_dbsig/DBdriver.py:1.60
*** gnue/common/src/dbdrivers/_dbsig/DBdriver.py:1.59 Tue Nov 5 21:03:42 2002
--- gnue/common/src/dbdrivers/_dbsig/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 264,270 ****
self._primaryIdChecked = 1
! def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
# Used by drivers with a unique id (like rowid)
if not self._primaryIdChecked: self._checkForPrimaryId()
--- 264,270 ----
self._primaryIdChecked = 1
! def _createResultSet(self, conditions={}, readOnly=0,
masterRecordSet=None,sql=""):
# Used by drivers with a unique id (like rowid)
if not self._primaryIdChecked: self._checkForPrimaryId()
***************
*** 274,283 ****
# pull a record count for the upcomming query
if self._strictQueryCount:
! recordCount = self._getQueryCount(conditions)
cursor.arraysize = self.cache
! cursor.execute(self._buildQuery(conditions))
except self._DatabaseError, err:
raise GDataObjects.ConnectionError, err
--- 274,283 ----
# pull a record count for the upcomming query
if self._strictQueryCount:
! recordCount = self._getQueryCount(conditions,sql)
cursor.arraysize = self.cache
! cursor.execute(self._buildQuery(conditions,additionalSQL=sql))
except self._DatabaseError, err:
raise GDataObjects.ConnectionError, err
***************
*** 290,299 ****
return rs
! def _getQueryCount(self,conditions={}):
cursor = self._dataConnection.cursor()
! cursor.execute(self._buildQueryCount(conditions))
rs = cursor.fetchone()
return int(rs[0])
--- 290,299 ----
return rs
! def _getQueryCount(self,conditions={},sql=""):
cursor = self._dataConnection.cursor()
! cursor.execute(self._buildQueryCount(conditions,sql))
rs = cursor.fetchone()
return int(rs[0])
***************
*** 531,537 ****
if len(whereClause):
whereClause += ' and %s' % (additionalSQL)
else:
! whereClause = 'WHERE %s' % (additionalSQL)
if forDetail:
q = "%s in (SELECT %s FROM %s%s)" % \
--- 531,537 ----
if len(whereClause):
whereClause += ' and %s' % (additionalSQL)
else:
! whereClause = ' WHERE %s' % (additionalSQL)
if forDetail:
q = "%s in (SELECT %s FROM %s%s)" % \
***************
*** 547,566 ****
q = "SELECT %s* FROM %s%s" % (self.distinct, self.table,
whereClause)
! if hasattr(self,'order_by'):
q = "%s ORDER BY %s " % (q, self.order_by)
GDebug.printMesg(5,q)
return q
! def _buildQueryCount(self, conditions={}):
if self.distinct:
distinct = "distinct "
else:
distinct = ""
! q = "SELECT count(*) FROM %s%s" % (self.table,
self._conditionToSQL(conditions))
GDebug.printMesg(5,q)
--- 547,574 ----
q = "SELECT %s* FROM %s%s" % (self.distinct, self.table,
whereClause)
! if hasattr(self,'order_by') and not forDetail:
q = "%s ORDER BY %s " % (q, self.order_by)
GDebug.printMesg(5,q)
return q
! def _buildQueryCount(self, conditions={}, additionalSQL=""):
if self.distinct:
distinct = "distinct "
else:
distinct = ""
! whereClause = self._conditionToSQL(conditions)
! if additionalSQL:
! if len(whereClause):
! whereClause += ' and %s' % (additionalSQL)
! else:
! whereClause = ' WHERE %s' % (additionalSQL)
!
!
! q = "SELECT count(*) FROM %s%s" % (self.table, whereClause)
GDebug.printMesg(5,q)
Index: gnue/common/src/dbdrivers/_empty/DBdriver.py
diff -c gnue/common/src/dbdrivers/_empty/DBdriver.py:1.3
gnue/common/src/dbdrivers/_empty/DBdriver.py:1.4
*** gnue/common/src/dbdrivers/_empty/DBdriver.py:1.3 Mon Sep 17 17:31:12 2001
--- gnue/common/src/dbdrivers/_empty/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 45,51 ****
DataObject.__init__(self)
self.triggerExtensions = TriggerExtensions(self)
! def _createResultSet(self, conditions={}, readOnly=0,
masterRecordSet=None):
return NIL_ResultSet(self, masterRecordSet=masterRecordSet)
# We don't do logins
--- 45,51 ----
DataObject.__init__(self)
self.triggerExtensions = TriggerExtensions(self)
! def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None,
sql=""):
return NIL_ResultSet(self, masterRecordSet=masterRecordSet)
# We don't do logins
Index: gnue/common/src/dbdrivers/_static/DBdriver.py
diff -c gnue/common/src/dbdrivers/_static/DBdriver.py:1.5
gnue/common/src/dbdrivers/_static/DBdriver.py:1.6
*** gnue/common/src/dbdrivers/_static/DBdriver.py:1.5 Tue Oct 8 16:39:19 2002
--- gnue/common/src/dbdrivers/_static/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 45,51 ****
self.triggerExtensions = TriggerExtensions(self)
! def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None):
return STATIC_ResultSet(self, masterRecordSet=masterRecordSet)
# We don't do logins
--- 45,51 ----
self.triggerExtensions = TriggerExtensions(self)
! def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None,
sql=""):
return STATIC_ResultSet(self, masterRecordSet=masterRecordSet)
# We don't do logins
Index: gnue/common/src/dbdrivers/configfile/DBdriver.py
diff -c gnue/common/src/dbdrivers/configfile/DBdriver.py:1.2
gnue/common/src/dbdrivers/configfile/DBdriver.py:1.3
*** gnue/common/src/dbdrivers/configfile/DBdriver.py:1.2 Wed Oct 9
17:22:05 2002
--- gnue/common/src/dbdrivers/configfile/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 293,299 ****
def _createResultSet(self, conditions=None, readOnly=0,
! masterRecordSet=None):
if conditions!=None:
raise GDataObjects.ConnectionError, "This database driver always
shows"+\
--- 293,299 ----
def _createResultSet(self, conditions=None, readOnly=0,
! masterRecordSet=None,sql=""):
if conditions!=None:
raise GDataObjects.ConnectionError, "This database driver always
shows"+\
Index: gnue/common/src/dbdrivers/cxoracle/DBdriver.py
diff -c gnue/common/src/dbdrivers/cxoracle/DBdriver.py:1.12
gnue/common/src/dbdrivers/cxoracle/DBdriver.py:1.13
*** gnue/common/src/dbdrivers/cxoracle/DBdriver.py:1.12 Mon May 6 12:07:58 2002
--- gnue/common/src/dbdrivers/cxoracle/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 91,98 ****
self._primaryIdChecked = 0
! def _buildQuery(self, conditions={}):
! return DBSIG_DataObject_Object._buildQuery(self, conditions)
def _checkForPrimaryId(self):
--- 91,98 ----
self._primaryIdChecked = 0
! def _buildQuery(self, conditions={},sql=""):
! return DBSIG_DataObject_Object._buildQuery(self, conditions,sql)
def _checkForPrimaryId(self):
Index: gnue/common/src/dbdrivers/popy/DBdriver.py
diff -c gnue/common/src/dbdrivers/popy/DBdriver.py:1.11
gnue/common/src/dbdrivers/popy/DBdriver.py:1.12
*** gnue/common/src/dbdrivers/popy/DBdriver.py:1.11 Fri Jan 4 19:36:38 2002
--- gnue/common/src/dbdrivers/popy/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 83,90 ****
# PGSQL_DataObject_Object.__init__(self)
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return PGSQL_DataObject_Object._buildQuery(self, conditions)
class PG_DataObject_SQL(PG_DataObject, \
--- 83,90 ----
# PGSQL_DataObject_Object.__init__(self)
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return PGSQL_DataObject_Object._buildQuery(self, conditions, sql="")
class PG_DataObject_SQL(PG_DataObject, \
Index: gnue/common/src/dbdrivers/postgresql/DBdriver.py
diff -c gnue/common/src/dbdrivers/postgresql/DBdriver.py:1.32
gnue/common/src/dbdrivers/postgresql/DBdriver.py:1.33
*** gnue/common/src/dbdrivers/postgresql/DBdriver.py:1.32 Mon May 6
12:24:53 2002
--- gnue/common/src/dbdrivers/postgresql/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 93,100 ****
PGSQL_DataObject_Object.__init__(self)
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return PGSQL_DataObject_Object._buildQuery(self, conditions)
class PG_DataObject_SQL(PG_DataObject, PGSQL_DataObject_SQL):
def __init__(self):
--- 93,100 ----
PGSQL_DataObject_Object.__init__(self)
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sq;=""):
! return PGSQL_DataObject_Object._buildQuery(self, conditions,sql)
class PG_DataObject_SQL(PG_DataObject, PGSQL_DataObject_SQL):
def __init__(self):
Index: gnue/common/src/dbdrivers/pypgsql/DBdriver.py
diff -c gnue/common/src/dbdrivers/pypgsql/DBdriver.py:1.24
gnue/common/src/dbdrivers/pypgsql/DBdriver.py:1.25
*** gnue/common/src/dbdrivers/pypgsql/DBdriver.py:1.24 Sun Mar 31 15:41:20 2002
--- gnue/common/src/dbdrivers/pypgsql/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 94,101 ****
# some of its values
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return PGSQL_DataObject_Object._buildQuery(self, conditions)
class PG_DataObject_SQL(PG_DataObject, \
--- 94,101 ----
# some of its values
PG_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return PGSQL_DataObject_Object._buildQuery(self, conditions,sql)
class PG_DataObject_SQL(PG_DataObject, \
Index: gnue/common/src/dbdrivers/sapdb/DBdriver.py
diff -c gnue/common/src/dbdrivers/sapdb/DBdriver.py:1.10
gnue/common/src/dbdrivers/sapdb/DBdriver.py:1.11
*** gnue/common/src/dbdrivers/sapdb/DBdriver.py:1.10 Tue Oct 8 00:20:24 2002
--- gnue/common/src/dbdrivers/sapdb/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 263,270 ****
def __init__(self):
SAP_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return DBSIG_DataObject_Object._buildQuery(self, conditions)
class SAP_DataObject_SQL(SAP_DataObject, \
--- 263,270 ----
def __init__(self):
SAP_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return DBSIG_DataObject_Object._buildQuery(self, conditions,sql)
class SAP_DataObject_SQL(SAP_DataObject, \
Index: gnue/common/src/dbdrivers/sqlite/DBdriver.py
diff -c gnue/common/src/dbdrivers/sqlite/DBdriver.py:1.2
gnue/common/src/dbdrivers/sqlite/DBdriver.py:1.3
*** gnue/common/src/dbdrivers/sqlite/DBdriver.py:1.2 Tue Sep 24 09:35:06 2002
--- gnue/common/src/dbdrivers/sqlite/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 230,237 ****
def __init__(self):
SQLite_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return DBSIG_DataObject_Object._buildQuery(self, conditions)
class SQLite_DataObject_SQL(SQLite_DataObject, \
--- 230,237 ----
def __init__(self):
SQLite_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return DBSIG_DataObject_Object._buildQuery(self, conditions,sql)
class SQLite_DataObject_SQL(SQLite_DataObject, \
Index: gnue/common/src/dbdrivers/sqlrelay/DBdriver.py
diff -c gnue/common/src/dbdrivers/sqlrelay/DBdriver.py:1.4
gnue/common/src/dbdrivers/sqlrelay/DBdriver.py:1.5
*** gnue/common/src/dbdrivers/sqlrelay/DBdriver.py:1.4 Mon May 6 12:24:54 2002
--- gnue/common/src/dbdrivers/sqlrelay/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 120,127 ****
def __init__(self):
SQLRelay_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return DBSIG_DataObject_Object._buildQuery(self, conditions)
class SQLRelay_DataObject_SQL(SQLRelay_DataObject, \
--- 120,127 ----
def __init__(self):
SQLRelay_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return DBSIG_DataObject_Object._buildQuery(self, conditions,sql)
class SQLRelay_DataObject_SQL(SQLRelay_DataObject, \
Index: gnue/common/src/dbdrivers/sybase/DBdriver.py
diff -c gnue/common/src/dbdrivers/sybase/DBdriver.py:1.6
gnue/common/src/dbdrivers/sybase/DBdriver.py:1.7
*** gnue/common/src/dbdrivers/sybase/DBdriver.py:1.6 Mon May 6 12:24:53 2002
--- gnue/common/src/dbdrivers/sybase/DBdriver.py Wed Nov 6 14:13:16 2002
***************
*** 119,126 ****
def __init__(self):
Sybase_DataObject.__init__(self)
! def _buildQuery(self, conditions={}):
! return DBSIG_DataObject_Object._buildQuery(self, conditions)
class Sybase_DataObject_SQL(Sybase_DataObject, \
--- 119,126 ----
def __init__(self):
Sybase_DataObject.__init__(self)
! def _buildQuery(self, conditions={},sql=""):
! return DBSIG_DataObject_Object._buildQuery(self, conditions,sql)
class Sybase_DataObject_SQL(Sybase_DataObject, \
Index: gnue/forms/src/GFInstance.py
diff -c gnue/forms/src/GFInstance.py:1.63 gnue/forms/src/GFInstance.py:1.64
*** gnue/forms/src/GFInstance.py:1.63 Tue Nov 5 21:03:43 2002
--- gnue/forms/src/GFInstance.py Wed Nov 6 14:13:16 2002
***************
*** 521,530 ****
if not self._form.endEditing():
return
! if hasattr(self._form._currentBlock._dataSourceLink,"master"):
! messageBox = GFMsgBox(self, _("Query from detail blocks currently not
supported"))
! messageBox.show()
! return
message = self._form.prepQuery()
--- 521,530 ----
if not self._form.endEditing():
return
! # if hasattr(self._form._currentBlock._dataSourceLink,"master"):
! # messageBox = GFMsgBox(self, _("Query from detail blocks currently not
supported"))
! # messageBox.show()
! # return
message = self._form.prepQuery()
Index: gnue/forms/src/GFObjects/GFBlock.py
diff -c gnue/forms/src/GFObjects/GFBlock.py:1.60
gnue/forms/src/GFObjects/GFBlock.py:1.61
*** gnue/forms/src/GFObjects/GFBlock.py:1.60 Tue Nov 5 21:03:43 2002
--- gnue/forms/src/GFObjects/GFBlock.py Wed Nov 6 14:13:16 2002
***************
*** 342,348 ****
for block in self._form._blockList:
block._query2 = 0
block._queryValues = {}
! block._queryValues.update(self._lastQueryValues)
block.switchRecord(0)
else:
for block in self._form._blockList:
--- 342,348 ----
for block in self._form._blockList:
block._query2 = 0
block._queryValues = {}
! block._queryValues.update(block._lastQueryValues)
block.switchRecord(0)
else:
for block in self._form._blockList:
***************
*** 351,389 ****
def processQuery(self):
! ## for block in self._form._blockList:
! ## if block._queryValues.keys():
! ## print "Need to query", block.name
! ## if block._dataSourceLink._dataObject._masterObject:
! ## block._lastQueryValues = {}
! ## block._lastQueryValues.update(block._queryValues)
! ## conditions = _generateConditional(block)
! ## block._dataSourceLink.createResultSet(conditions)
! ## print self._dataSourceLink.getQueryString(conditions,1)
! ## else:
! ## print "master object"
!
! if 0: # TODO: disable for tonite (05-NOV-2002: jst)
! maxList = []
! for block in self._form._blockList:
! if block._queryValues.keys():
! list = [block._dataSourceLink._dataObject._masterObject]
! while list[0]._masterObject:
! list.append(list[0]._masterObject)
! if len(maxList) < len(list): maxList = list
!
!
! SQL = ""
! for dataobject in maxList:
! for block in self._form._blockList:
! if dataobject == block._dataSourceLink._dataObject:
! break
! conditions = _generateConditional(block)
! SQL = self._dataSourceLink.getQueryString(conditions,1,SQL)
! print "working ", SQL
! print SQL
## # Implement sloppyQuery system
## if self.mode == 'query':
## for entry in self._entryList:
--- 351,376 ----
def processQuery(self):
! maxList = [self._dataSourceLink._dataObject]
! for block in self._form._blockList:
! if block._queryValues.keys():
! list = [block._dataSourceLink._dataObject]
! while list[-1]._masterObject:
! list.append(list[-1]._masterObject)
! if len(maxList) < len(list): maxList = list
+ SQL = ""
+ for dataobject in maxList[:-1]:
+ for block in self._form._blockList:
+ if dataobject == block._dataSourceLink._dataObject:
+ break
+ conditions = _generateConditional(block)
+ SQL = self._dataSourceLink.getQueryString(conditions,1,SQL)
+
+ ##
+ ## TODO: Do we want this anymore? jst
+ ##
## # Implement sloppyQuery system
## if self.mode == 'query':
## for entry in self._entryList:
***************
*** 395,409 ****
## newValue += letter+"%"
## entry.setValue(newValue)
! self.mode = 'normal'
! self._lastQueryValues = {}
! self._lastQueryValues.update(self._queryValues)
! conditions = _generateConditional(self)
! self._dataSourceLink.createResultSet(conditions)
! self._recordCount = self._resultSet.getRecordCount()
! self.processTrigger('POST-QUERY')
def _generateConditional(block):
--- 382,405 ----
## newValue += letter+"%"
## entry.setValue(newValue)
! for block in self._form._blockList:
! if maxList[-1] == block._dataSourceLink._dataObject:
! break
! rootBlock = block
!
! # Store block states
! for block in self._form._blockList:
! block.mode = 'normal'
! block._lastQueryValues = {}
! block._lastQueryValues.update(block._queryValues)
! conditions = _generateConditional(rootBlock)
! rootBlock._dataSourceLink.createResultSet(conditions, sql=SQL)
! rootBlock._recordCount = rootBlock._resultSet.getRecordCount()
!
! for block in self._form._blockList:
! block.processTrigger('POST-QUERY')
def _generateConditional(block):
***************
*** 419,426 ****
GDebug.printMesg(5,'Adding conditional AND (%s=%s)' %
(entry.field, block._queryValues[entry]))
conditionEq[entry.field] = block._queryValues[entry]
- print "Like",conditionLike
- print "EQ",conditionEq
if len(conditionLike.keys()) and len(conditionEq.keys()):
GDebug.printMesg(5,'Combining like w/and (%s, %s)' % (conditionLike,
conditionEq))
conditions = GConditions.combineConditions( \
--- 415,420 ----
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue common/src/GDataObjects.py common/src/GDat...,
James Thompson <=