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 |
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] |