/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/transientdb.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Model/transientdb.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 765 by bh, Tue Apr 29 12:42:14 2003 UTC revision 785 by bh, Wed Apr 30 10:54:03 2003 UTC
# Line 53  class TransientDatabase: Line 53  class TransientDatabase:
53          self.close()          self.close()
54    
55      def close(self):      def close(self):
56          if self.conn:          if self.conn is not None:
57              self.conn.close()              self.conn.close()
58                self.conn = None
59    
60      def new_table_name(self):      def new_table_name(self):
61          self.num_tables += 1          self.num_tables += 1
# Line 95  class TransientTableBase: Line 96  class TransientTableBase:
96          self.indexed_columns = {}          self.indexed_columns = {}
97          self.read_record_cursor = None          self.read_record_cursor = None
98          self.read_record_last_row = None          self.read_record_last_row = None
99            self.read_record_last_result = None
100    
101      def create(self, columns):      def create(self, columns):
102          self.columns = columns          self.columns = columns
# Line 162  class TransientTableBase: Line 164  class TransientTableBase:
164              self.read_record_cursor = self.db.cursor()              self.read_record_cursor = self.db.cursor()
165              self.read_record_cursor.execute(stmt)              self.read_record_cursor.execute(stmt)
166              self.read_record_last_row = -1              self.read_record_last_row = -1
167          for i in range(index - self.read_record_last_row):              self.read_record_last_result = None
168              result = self.read_record_cursor.fetchone()  
169            # Now we should have a cursor at a position less than or equal
170            # to the index so the following if statement will always set
171            # result to a suitable value
172            assert index >= self.read_record_last_row
173    
174            if index == self.read_record_last_row:
175                result = self.read_record_last_result
176            else:
177                for i in range(index - self.read_record_last_row):
178                    result = self.read_record_cursor.fetchone()
179                    self.read_record_last_result = result
180          self.read_record_last_row = index          self.read_record_last_row = index
181          result = dict(zip(self.orig_names, result))          return dict(zip(self.orig_names, result))
         return result  
182    
183      def field_range(self, colname):      def field_range(self, colname):
184          col = self.name_to_column[colname]          col = self.name_to_column[colname]

Legend:
Removed from v.765  
changed lines
  Added in v.785

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26