| 368 | |
| 369 | |
| 370 | class DictCursorMixin: |
| 371 | # You can override this to use OrderedDict or other dict-like types. |
| 372 | dict_type = dict |
| 373 | |
| 374 | def _do_get_result(self): |
| 375 | super()._do_get_result() |
| 376 | fields = [] |
| 377 | if self.description: |
| 378 | for f in self._result.fields: |
| 379 | name = f.name |
| 380 | if name in fields: |
| 381 | name = f.table_name + "." + name |
| 382 | fields.append(name) |
| 383 | self._fields = fields |
| 384 | |
| 385 | if fields and self._rows: |
| 386 | self._rows = [self._conv_row(r) for r in self._rows] |
| 387 | |
| 388 | def _conv_row(self, row): |
| 389 | if row is None: |
| 390 | return None |
| 391 | return self.dict_type(zip(self._fields, row)) |
| 392 | |
| 393 | |
| 394 | class DictCursor(DictCursorMixin, Cursor): |
nothing calls this directly
no outgoing calls
no test coverage detected