def alterDropColumn(database, table, columnNumber): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.alterDropColumn(database, table, columnNumber) elif currentMode == 'b': # bList.append(tableNew) return b.alterDropColumn(database, table, columnNumber) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.alterDropColumn(database, table, columnNumber) elif currentMode == 'dict': # dictList.append(tableNew) return DM.alterDropColumn(database, table, columnNumber) elif currentMode == 'isam': # isamList.append(tableNew) return isam.alterDropColumn(database, table, columnNumber) elif currentMode == 'json': # jsonList.append(tableNew) return j.alterDropColumn(database, table, columnNumber) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.alterDropColumn(database, table, columnNumber) else: return 2
def createDatabase(name, mode='avl', code='ASCII'): try: chargePersistence() if code == 'UTF8' or code == 'ASCII' or code == 'ISO-8859-1': if mode == 'avl': addDatabase(name, mode, code, avl) return avl.createDatabase(name) elif mode == 'bplus': addDatabase(name, mode, code, bplus) return bplus.createDatabase(name) elif mode == 'b': addDatabase(name, mode, code, b) return b.createDatabase(name) elif mode == 'hash': addDatabase(name, mode, code, _hash) return _hash.createDatabase(name) elif mode == 'isam': addDatabase(name, mode, code, isam) return isam.createDatabase(name) elif mode == 'dict': addDatabase(name, mode, code, _dict) return _dict.createDatabase(name) elif mode == 'json': addDatabase(name, mode, code, json) return json.createDatabase(name) else: return 3 else: return 4 except: return 1
def loadCSV(file, database, table): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.loadCSV(file, database, table) elif currentMode == 'b': # bList.append(tableNew) return b.loadCSV(file, database, table) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.loadCSV(file, database, table) elif currentMode == 'dict': # dictList.append(tableNew) return DM.loadCSV(file, database, table) elif currentMode == 'isam': # isamList.append(tableNew) return isam.loadCSV(file, database, table) elif currentMode == 'json': # jsonList.append(tableNew) return j.loadCSV(file, database, table) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.loadCSV(file, database, table) else: return 2
def createTable(database, table, numbercolumns): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': avlList.append(table) return avl.createTable(database, table, numbercolumns) elif currentMode == 'b': bList.append(table) return b.createTable(database, table, numbercolumns) elif currentMode == 'bplus': bplusList.append(table) return bplus.createTable(database, table, numbercolumns) elif currentMode == 'dict': dictList.append(table) return DM.createTable(database, table, numbercolumns) elif currentMode == 'isam': isamList.append(table) return isam.createTable(database, table, numbercolumns) elif currentMode == 'json': jsonList.append(table) return j.createTable(database, table, numbercolumns) elif currentMode == 'hash': hashList.append(table) return Hash.createTable(database, table, numbercolumns) else: return 2
def showTables(database): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.showTables(database) elif currentMode == 'b': # bList.append(tableNew) return b.showTables(database) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.showTables(database) elif currentMode == 'dict': # dictList.append(tableNew) return DM.showTables(database) elif currentMode == 'isam': # isamList.append(database) return isam.showTables(database) elif currentMode == 'json': # jsonList.append(database) return j.showTables(database) elif currentMode == 'hash': # hashList.append(database) return Hash.showTables(database) else: return 2
def extractRow(database, table, columns): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.extractRow(database, table, columns) elif currentMode == 'b': # bList.append(tableNew) return b.extractRow(database, table, columns) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.extractRow(database, table, columns) elif currentMode == 'dict': # dictList.append(tableNew) return DM.extractRow(database, table, columns) elif currentMode == 'isam': # isamList.append(tableNew) return isam.extractRow(database, table, columns) elif currentMode == 'json': # jsonList.append(tableNew) return j.extractRow(database, table, columns) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.extractRow(database, table, columns) else: return 2
def insert(database, table, register): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.insert(database, table, register) elif currentMode == 'b': # bList.append(tableNew) return b.insert(database, table, register) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.insert(database, table, register) elif currentMode == 'dict': # dictList.append(tableNew) return DM.insert(database, table, register) elif currentMode == 'isam': # isamList.append(tableNew) return isam.insert(database, table, register) elif currentMode == 'json': # jsonList.append(tableNew) return j.insert(database, table, register) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.insert(database, table, register) else: return 2
def alterTable(database, tableOld, tableNew): if searchInMode(tableOld) != None: currentMode = searchInMode(tableOld) if currentMode == 'avl': avlList.append(tableNew) return avl.alterTable(database, tableOld, tableNew) elif currentMode == 'b': bList.append(tableNew) return b.alterTable(database, tableOld, tableNew) elif currentMode == 'bplus': bplusList.append(tableNew) return bplus.alterTable(database, tableOld, tableNew) elif currentMode == 'dict': dictList.append(tableNew) return DM.alterTable(database, tableOld, tableNew) elif currentMode == 'isam': isamList.append(tableNew) return isam.alterTable(database, tableOld, tableNew) elif currentMode == 'json': jsonList.append(tableNew) return j.alterTable(database, tableOld, tableNew) elif currentMode == 'hash': hashList.append(tableNew) return Hash.alterTable(database, tableOld, tableNew) else: return 2
def extractTable(database, table): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.extractTable(database, table) elif currentMode == 'b': # bList.append(tableNew) #registros = b.extractTable(database, table) -> [reg,reg2,regi] return b.extractTable(database, table) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.extractTable(database, table) elif currentMode == 'dict': # dictList.append(tableNew) return DM.extractTable(database, table) elif currentMode == 'isam': # isamList.append(tableNew) return isam.extractTable(database, table) elif currentMode == 'json': # jsonList.append(tableNew) return j.extractTable(database, table) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.extractTable(database, table) else: return 2
def insert(database, table, register): if saveModo_bandera is False: Block.activar_SaveModo(register) #print("validacion correcta") if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': # avlList.append(tableNew) return avl.insert(database, table, register) elif currentMode == 'b': # bList.append(tableNew) return b.insert(database, table, register) elif currentMode == 'bplus': # bplusList.append(tableNew) return bplus.insert(database, table, register) elif currentMode == 'dict': # dictList.append(tableNew) return DM.insert(database, table, register) elif currentMode == 'isam': # isamList.append(tableNew) return isam.insert(database, table, register) elif currentMode == 'json': # jsonList.append(tableNew) return j.insert(database, table, register) elif currentMode == 'hash': # hashList.append(tableNew) return Hash.insert(database, table, register) else: return 2
def chooseMode(mode, database): if mode == 'avl': if avl.createDatabase(database) == 0: avlList.append(database) return 0 else: return avl.createDatabase(database) elif mode == 'b': if b.createDatabase(database) == 0: bList.append(database) return 0 else: return b.createDatabase(database) elif mode == 'bplus': if bplus.createDatabase(database) == 0: bplusList.append(database) return 0 else: return bplus.createDatabase(database) elif mode == 'dict': if DM.createDatabase(database) == 0: dictList.append(database) return 0 else: return DM.createDatabase(database) elif mode == 'isam': if isam.createDatabase(database) == 0: isamList.append(database) return 0 else: return isam.createDatabase(database) elif mode == 'json': if j.createDatabase(database) == 0: jsonList.append(database) return 0 else: return j.createDatabase(database) elif mode == 'hash': if Hash.createDatabase(database) == 0: hashList.append(database) return 0 else: return Hash.createDatabase(database)
def showDatabases(): showAvl = avl.showDatabases() showB = b.showDatabases() showBP = bplus.showDatabases() showDict = DM.showDatabases() showIsam = isam.showDatabases() showHash = Hash.showDatabases() showJson = j.showDatabases() showALL = 'avl = ' + str(showAvl)+'\n'+'b = ' + str(showB)+'\n'+'bplus = ' + str(showBP)+'\n'+'dict = ' + str(showDict)+'\n'+'isam = ' + str(showIsam)+'\n'+'json = ' + str(showJson) +'\n'+'hash = ' + str(showHash) return showALL
def createDatabase(name, mode, code): try: if mode == 'avl': return avl.createDatabase(name) elif mode == 'b+': return bplus.createDatabase(name) elif mode == 'b': return b.createDatabase(name) elif mode == 'hash': return _hash.createDatabase(name) elif mode == 'isam': return isam.createDatabase(name) elif mode == 'dict': return _dict.createDatabase(name) except: return 1
def dropDatabase(database): if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': return avl.dropDatabase(database) elif currentMode == 'b': return b.dropDatabase(database) elif currentMode == 'bplus': return bplus.dropDatabase(database) elif currentMode == 'dict': return DM.dropDatabase(database) elif currentMode == 'isam': return isam.dropDatabase(database) elif currentMode == 'json': return j.dropDatabase(database) elif currentMode == 'hash': return Hash.dropDatabase(database) else: return 2
def graphDSD(database: str): if DM.existDB(database) != None: GDSD(database) else: #BD no existe #modificar el numero si es necesario, no recuerdo que devolvia si no la encontraba return 1
def dropAll(): avl.dropAll() bplus.dropAll() _dict.dropAll() json.dropAll() return 0
def alterTableaddUnique(database , table, indexName, colums): tabla = {} for item in structs: tuplas = item.extractTable(database,table) if tuplas !=2: if item.tipoEDD() == 'avl': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if avl.createTable(database, table+indexName , len(colums)) != 2 and avl.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'bplus': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if bplus.createTable(database, table+indexName , len(colums)) != 2 and bplus.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'b': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if b.createTable(database, table+indexName , len(colums)) != 2 and b.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'hash': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if _hash.createTable(database, table+indexName , len(colums)) != 2 and _hash.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'isam': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if isam.createTable(database, table+indexName , len(colums)) != 2 and isam.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'dict': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if _dict.createTable(database, table+indexName , len(colums)) != 2 and _dict.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 elif item.tipoEDD() == 'json': indice = (indexName , colums) tabla[table] = indice uIndex[database] = tabla if _hash.createTable(database, table+indexName , len(colums)) != 2 and _hash.alterAddPK(database, table+indexName, colums) !=2: for i in tuplas: unicos = [i[x] for x in colums] if None in unicos: return 2 else: value = item.insert(database, table+indexName, unicos) if value == 2: return 2 else: return 2 else: return 3
def safeModeOff(database, table): global saveModo_bandera if searchInMode(database) != None: currentMode = searchInMode(database) if currentMode == 'avl': if avl.verificar_avl(database,table) == 0: saveModo_bandera = True return 0 elif avl.verificar_avl(database,table) == 2: return 2 elif avl.verificar_avl(database,table) == 1: return 1 return 1 elif currentMode == 'b': if b.verificar_B(database,table) == 0: saveModo_bandera = True return 0 elif b.verificar_B(database,table) == 1: return 1 return 1 elif currentMode == 'bplus': if bplus.verificar_Bplus(database,table) == 0: saveModo_bandera = True return 0 elif bplus.verificar_Bplus(database,table) == 1: return 1 elif bplus.verificar_Bplus(database,table) == 2: return 2 elif bplus.verificar_Bplus(database,table) == 3: return 3 return 1 elif currentMode == 'dict': if DM.verificar_DictMode(database,table) == 0: saveModo_bandera = True return 0 elif DM.verificar_DictMode(database,table) == 1: return 1 elif DM.verificar_DictMode(database,table) == 2: return 2 elif DM.verificar_DictMode(database,table) == 3: return 3 elif currentMode == 'isam': if isam.verificar_Isam(database,table)== 0: saveModo_bandera = True return 0 elif isam.verificar_Isam(database,table) == 1: return 1 elif isam.verificar_Isam(database,table) == 2: return 2 elif isam.verificar_Isam(database,table) == 3: return 3 return 1 elif currentMode == 'json': if j.verificar_Json(database,table) == 0: saveModo_bandera = True return 0 elif j.verificar_Json(database,table) == 1: return 1 elif j.verificar_Json(database,table) == 2: return 2 elif j.verificar_Json(database,table) == 3: return 3 return 1 elif currentMode == 'hash': if Hash.verificar_Hash(database,table) == 0: saveModo_bandera = True return 0 elif Hash.verificar_Hash(database,table) == 1: return 1 elif Hash.verificar_Hash(database,table) == 2: return 2 elif Hash.verificar_Hash(database,table) == 3: return 3 return 1 else: return 2