def extractRow(database: str, table: str, columns: list) -> list: try: baseDatos = __getDatabase(database) if baseDatos is False: return [] tabla = __getTable(database, table) if tabla is False: return [] mode = tabla["mode"] res = 1 if mode == "avl": res = avl.extractRow(database, table, columns) elif mode == "b": res = b.extractRow(database, table, columns) elif mode == "bplus": res = bplus.extractRow(database, table, columns) elif mode == "hash": res = ha.extractRow(database, table, columns) elif mode == "isam": res = isam.extractRow(database, table, columns) elif mode == "json": res = j.extractRow(database, table, columns) elif mode == "dict": res = d.extractRow(database, table, columns) return res except: return []
def update(database, table, register, columns): # database: str name of database # table: str name of table # register: dictionary {column: newValue} # columns: list [primaryKey] [primarykey1, primarykey2...] # Method to Blockchain if value_return == 0: print(j.extractRow(database, table, columns)) dict_tables = dictionary.get(database)[2] tabla_info = dict_tables.get(table) # if the security mode is on if tabla_info[1] is True: newTuple = [] # Generate the new Tuple for i in oldTuple: newTuple.append(i) for key in register: newTuple[key] = register[key] nameJson = str(database) + '-' + str(table) tabla_info[2].updateBlock(oldTuple, newTuple, nameJson) graphBChain(tabla_info[2], nameJson) save(dictionary, 'metadata') return value_return
def extractRow(self, indexName): estado = 1 if self.modo == "avl": estado = avl.extractRow(self.database, self.table, [indexName]) elif self.modo == "b": estado = b.extractRow(self.database, self.table, [indexName]) elif self.modo == "bplus": estado = bplus.extractRow(self.database, self.table, [indexName]) elif self.modo == "hash": estado = ha.extractRow(self.database, self.table, [indexName]) elif self.modo == "isam": estado = isam.extractRow(self.database, self.table, [indexName]) elif self.modo == "json": estado = j.extractRow(self.database, self.table, [indexName]) elif self.modo == "dict": estado = d.extractRow(self.database, self.table, [indexName]) return estado