def alterDropPK(self, table): if table in self.list_table: temp = serealizar.rollback(table, self.main_path) var = temp.alterDropPK() serealizar.commit(temp, table, self.main_path) return var else: return 3
def alterDropColumn(self, table, columnNumber): salida = self.Buscar(table) if salida[0]: temp = serealizar.rollback(table, self.main_path) temp.alterDropColumn(columnNumber) serealizar.commit(temp, table, self.main_path) return 0 else: return 3
def Cargar(self, table): try: if self.tabla_actual.nombre.casefold() == table.casefold(): return self.tabla_actual elif table in self.list_table: self.tabla_actual = serealizar.rollback(table, self.main_path) return self.tabla_actual else: return False except: if table in self.list_table: self.tabla_actual = serealizar.rollback(table, self.main_path) return self.tabla_actual else: return False
def alterAddPK(self, table, columns): if table in self.list_table: if len(columns) == 0: return 1 else: temp = serealizar.rollback(table, self.main_path) var = temp.alterAddPK(columns) serealizar.commit(temp, table, self.main_path) return var else: return 3
def alterTable(self, tableOld, tableNew): salida = self.Buscar(tableOld) if salida[0]: temp = serealizar.rollback(tableOld, self.main_path) os.remove(self.main_path+"\\"+tableOld+".bin") if not tableNew in self.list_table: if re.search(table_name_pattern, tableOld) and re.search(table_name_pattern, tableNew): self.list_table[salida[1]]= tableNew temp.alterTable(tableNew) serealizar.commit(temp, tableNew, self.main_path) return 0 else: return 1 else: return 4 else: return 3
def loadCSV(file: str, database: str, table: str) -> int: try: archivo = open(file) except: return 1 temp = storage.Buscar(database) if temp: b = temp.Buscar(table) nombre = temp.list_table[b[1]] tabla = serealizar.rollback(nombre, main_path + "\\" + database) if b[0]: temp_registros = archivo.readlines() registros = [] for registro in temp_registros: registros.append(registro.replace("\n", "").split(",")) for registro in registros: valor = tabla.insertar(registro) if valor: serealizar.commit(tabla, table, main_path + "\\" + database) return valor else: serealizar.commit(tabla, table, main_path + "\\" + database) return 0 else: return 3 else: return 2
def truncate(database: str, table: str) -> int: temp = storage.Buscar(database) if temp: b = temp.Buscar(table) nombre = temp.list_table[b[1]] tabla = serealizar.rollback(nombre, main_path + "\\" + database) if b[0]: var = tabla.truncate() serealizar.commit(tabla, table, main_path + "\\" + database) return var else: return 3 else: return 2
def update(database: str, table: str, register: dict, columns: list) -> int: temp = storage.Buscar(database) if temp: b = temp.Buscar(table) nombre = temp.list_table[b[1]] tabla = serealizar.rollback(nombre, main_path + "\\" + database) if b[0]: var = tabla.update(columns, register) serealizar.commit(tabla, table, main_path + "\\" + database) return var else: return 3 else: return 2
def Devolver(self, table): temp = serealizar.rollback(table, self.main_path) serealizar.commit(temp, table, self.main_path) return temp
def extractRangeTable(self, table, lower, upper): if table in self.list_table: temp = serealizar.rollback(table, self.main_path) return temp.extractRangeTable(lower, upper) else: return None
def extractTable(self, table): if table in self.list_table: temp = serealizar.rollback(table, self.main_path) return temp.extractTable() else: return None