Author: reinhard Date: 2010-05-25 06:42:28 -0500 (Tue, 25 May 2010) New Revision: 10185
Modified: trunk/gnue-common/ trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py Log: When _must_fetchall_ is set, don't make a separate query to find out the record count. Property changes on: trunk/gnue-common ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2010-05-25 12:10:23.839999914 +0200 committer: Reinhard Müller <reinhard.muel...@bytewise.at> properties: branch-nick: common + timestamp: 2010-05-25 13:40:15.319000006 +0200 committer: Reinhard Müller <reinhard.muel...@bytewise.at> properties: branch-nick: common Name: bzr:file-ids - src/datasources/GDataSource.py 1...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2FGDataSource.py + src/datasources/drivers/DBSIG2/ResultSet.py 4...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2Fdrivers%2FDBSIG2%2FResultSet.py Name: bzr:revision-id:v4 - 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z 3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo 3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv 3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg 3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28 3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv 3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2 3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3 + 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z 3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo 3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv 3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg 3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28 3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv 3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2 3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3 3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql Name: bzr:text-parents - src/datasources/GDataSource.py svn-v3-single1-dHJ1bmsvZ251ZS1jb21tb24.:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:9986 + src/datasources/drivers/DBSIG2/ResultSet.py svn-v3-single1-dHJ1bmsvZ251ZS1jb21tb24.:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:9954 Modified: trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py =================================================================== --- trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py 2010-05-25 10:12:33 UTC (rev 10184) +++ trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py 2010-05-25 11:42:28 UTC (rev 10185) @@ -75,7 +75,7 @@ # If the connection has a broken row count, query for the number of records # first. This avoids conflicts with some drivers not supporting multiple # open cursors (like adodbapi). - if connection._broken_rowcount_: + if connection._broken_rowcount_ and not connection._must_fetchall_: if distinct: self.__count = 0 else: @@ -85,7 +85,10 @@ query = self.__buildQuery (table, what, where, sortorder) self.__cursor = connection.makecursor (query, params) - if not connection._broken_rowcount_: + if connection._must_fetchall_: + self.__rows = self.__cursor.fetchall() + self.__count = len(self.__rows) + elif not connection._broken_rowcount_: self.__count = self.__cursor.rowcount # If the driver has a broken rowcount, but does not report it as broken, @@ -176,7 +179,8 @@ # fetch next records from the backend if self.__connection._must_fetchall_: - rows = self.__cursor.fetchall () + rows = self.__rows + self.__rows = [] elif self.__connection._broken_fetchmany_: try: rows = self.__cursor.fetchmany (cachesize) _______________________________________________ commit-gnue mailing list commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue