def _update(self, new_dbptr): self.dbptr = new_dbptr self.database = self.dbptr[0] self.table = self.dbptr[1] self.field = self.dbptr[2] self.record = self.dbptr[3] if self.table != _ds.dbALL: if not _ds._dbquery(self.dbptr, _ds.dbTABLE_IS_VIEW): table = _ds._dbquery(self.dbptr, _ds.dbTABLE_NAME) self.field_tables[table] = _ds._dbquery(self.dbptr, _ds.dbTABLE_FIELDS) else: view_tables = _ds._dbquery(self.dbptr, _ds.dbVIEW_TABLES) used_fields = [] for table in view_tables: tmp_dbptr = _ds._dblookup(self.dbptr, '', table, '', '') fields = _ds._dbquery(tmp_dbptr, _ds.dbTABLE_FIELDS) self.field_tables[table] = [field if field not in\ used_fields else '%s.%s' % (table, field)\ for field in fields] used_fields += list(fields) return self
def query(self, *args, **kwargs): return _ds._dbquery(self.dbptr, *args, **kwargs)
def _update_cleanly(self, new_dbptr): #if self.dbptr.query(ds.dbTABLE_IS_VIEW): # self.dbptr.free() if _ds._dbquery(self.dbptr, _ds.dbTABLE_IS_VIEW): _ds._dbfree(self.dbptr) return self._update(new_dbptr)
def _query(*args, **kwargs): """Query db""" return ds._dbquery(*args, **kwargs) # b/c JIC