示例#1
0
def alterTable(database: str, tableOld: str, tableNew: str) -> int:
    """Renames a table in a database

        Parameters:\n
            database (str): name of the database
            tableOld (str): name of the target table
            tableNew (str): new name of the table

        Returns:\n
            0: successful operation
            1: an error ocurred
            2: non-existent database
            3: non-existent target table
            4: new table name occupied
    """

    bd = _database(database)

    if bd:

        tb = _table(database, tableOld)

        if tb:

            mode = tb["modo"]

            val = -1

            if mode == "avl":
                val = avl.alterTable(database, tableOld, tableNew)

            elif mode == "b":
                val = b.alterTable(database, tableOld, tableNew)

            elif mode == "bplus":
                val = bplus.alterTable(database, tableOld, tableNew)

            elif mode == "hash":
                val = hash.alterTable(database, tableOld, tableNew)

            elif mode == "isam":
                val = isam.alterTable(database, tableOld, tableNew)

            elif mode == "json":
                val = json.alterTable(database, tableOld, tableNew)

            elif mode == "dict":
                val = dict.alterTable(database, tableOld, tableNew)

            if val == 0:
                _table(database, tableOld)["nombre"]=tableNew
                _Guardar()

            return val

        else:
            return 3

    else:
        return 2
示例#2
0
文件: Bases.py 项目: GleyP/Test
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
示例#3
0
文件: Bases.py 项目: GleyP/Test
def delete(database, table, columns):
    if searchInMode(database) != None:
        currentMode = searchInMode(database)
        if currentMode == 'avl':
            # avlList.append(tableNew)
            return avl.delete(database, table, columns)
        elif currentMode == 'b':
            # bList.append(tableNew)
            return b.delete(database, table, columns)
        elif currentMode == 'bplus':
            # bplusList.append(tableNew)
            return bplus.delete(database, table, columns)
        elif currentMode == 'dict':
            # dictList.append(tableNew)
            return DM.delete(database, table, columns)
        elif currentMode == 'isam':
            # isamList.append(tableNew)
            return isam.delete(database, table, columns)
        elif currentMode == 'json':
            # jsonList.append(tableNew)
            return j.delete(database, table, columns)
        elif currentMode == 'hash':
            # hashList.append(tableNew)
            return Hash.delete(database, table, columns)
    else:
        return 2
示例#4
0
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
示例#5
0
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
示例#6
0
def alterAddPK(database, table, columns):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    for db in dbs:
        if db.mode == "avl":
            result = avlMode.alterAddPK(database, table, columns)
        elif db.mode == "b":
            result = BMode.alterAddPK(database, table, columns)
        elif db.mode == "bplus":
            result = BPlusMode.alterAddPK(database, table, columns)
        elif db.mode == "dict":
            result = DictMode.alterAddPK(database, table, columns)
        elif db.mode == "isam":
            result = ISAMMode.alterAddPK(database, table, columns)
        elif db.mode == "json":
            result = jsonMode.alterAddPK(database, table, columns)
        elif db.mode == "hash":
            result = HashMode.alterAddPK(database, table, columns)
        if result != 3:
            if result == 0:
                db.tables.search(table).pk += columns
                for x in range(5):
                    try:
                        Serializable.commit(databases, "lista_bases_de_datos")
                        return result
                    except:
                        break
                return 1
            break
    return result
示例#7
0
def createDatabase(database: str, mode: str, encoding: str):
    if verify_string(database):
        if exist(database): return 2
        if encoding.lower().strip() is "ascii" or encoding.lower().strip() is "iso-8859-1" \
                or encoding.lower().strip() is "utf8":
            status = -1
            if mode.lower().strip() is "avl":
                status = avl.createDatabase(database)
            elif mode.lower().strip() is "b":
                status = b.createDatabase(database)
            elif mode.lower().strip() is "bplus":
                status = bPlus.createDatabase(database)
            elif mode.lower().strip() is "dict":
                status = diccionario.createDatabase(database)
            elif mode.lower().strip() is "isam":
                status = isam.createDatabase(database)
            elif mode.lower().strip() is "json":
                status = json.createDatabase(database)
            elif mode.lower().strip() is "hash":
                status = hash.createDatabase(database)
            else:
                return 3
            if status == 0:
                save_mode(database, mode, encoding)
            return status
        else:
            return 4
    else:
        return 1
示例#8
0
def extractRangeTable(database: str, table: str, columnNumber: int, lower: any,
                      upper: any) -> list:
    dbs = databases.find_all(database)
    if dbs == []:
        return None
    if databases.find_table(database, table) == None:
        return None

    registers = []
    for db in dbs:
        if db.tables.search(table) == None:
            continue
        if db.mode == "avl":
            registers = avlMode.extractRangeTable(database, table,
                                                  columnNumber, lower, upper)
        elif db.mode == "b":
            registers = BMode.extractRangeTable(database, table, columnNumber,
                                                lower, upper)
        elif db.mode == "bplus":
            registers = BPlusMode.extractRangeTable(database, table,
                                                    columnNumber, lower, upper)
        elif db.mode == "dict":
            registers = DictMode.extractRangeTable(database, table,
                                                   columnNumber, lower, upper)
        elif db.mode == "isam":
            registers = ISAMMode.extractRangeTable(database, table,
                                                   columnNumber, lower, upper)
        elif db.mode == "json":
            registers = jsonMode.extractRangeTable(database, table,
                                                   columnNumber, lower, upper)
        elif db.mode == "hash":
            registers = HashMode.extractRangeTable(database, table,
                                                   columnNumber, lower, upper)
    return registers
示例#9
0
def alterTable(database, tableOld, tableNew):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    for db in dbs:
        if db.mode == "avl":
            result = avlMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "b":
            result = BMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "bplus":
            result = BPlusMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "dict":
            result = DictMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "isam":
            result = ISAMMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "json":
            result = jsonMode.alterTable(database, tableOld, tableNew)
        elif db.mode == "hash":
            result = HashMode.alterTable(database, tableOld, tableNew)
        if result != 3:
            if result == 0:
                db.tables.search(tableOld).name = tableNew
                for x in range(5):
                    try:
                        Serializable.commit(databases, "lista_bases_de_datos")
                        return result
                    except:
                        continue
                return 1
            break
    return result
示例#10
0
def insert(database: str, table: str, register: list):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    for x in register:
        if type(x) == str and not verify_encoding(x, dbs[0].encoding):
            return 6
    for db in dbs:
        if db.mode == "avl":
            result = avlMode.insert(database, table, register)
        elif db.mode == "b":
            result = BMode.insert(database, table, register)
        elif db.mode == "bplus":
            result = BPlusMode.insert(database, table, register)
        elif db.mode == "dict":
            result = DictMode.insert(database, table, register)
        elif db.mode == "isam":
            result = ISAMMode.insert(database, table, register)
        elif db.mode == "json":
            result = jsonMode.insert(database, table, register)
        elif db.mode == "hash":
            result = HashMode.insert(database, table, register)
        if result != 3:
            break
    return result
示例#11
0
def delete(database: str, table: str, columns: list):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    if databases.find_table(database, table) == None:
        return 3
    result = 1
    for db in dbs:
        if db.tables.search(table) == None:
            continue
        if db.mode == "avl":
            result = avlMode.delete(database, table, columns)
        elif db.mode == "b":
            result = BMode.delete(database, table, columns)
        elif db.mode == "bplus":
            result = BPlusMode.delete(database, table, columns)
        elif db.mode == "dict":
            result = DictMode.delete(database, table, columns)
        elif db.mode == "isam":
            result = ISAMMode.delete(database, table, columns)
        elif db.mode == "json":
            result = jsonMode.delete(database, table, columns)
        elif db.mode == "hash":
            result = HashMode.delete(database, table, columns)
    return result
示例#12
0
def update(database, table, register, columns):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    if databases.find_table(database, table) == None:
        return 3
    for x in register.values():
        if type(x) == str and not verify_encoding(x, dbs[0].encoding):
            return 5
    result = 1
    for db in dbs:
        if db.tables.search(table) == None:
            continue
        if db.mode == "avl":
            result = avlMode.update(database, table, register, columns)
        elif db.mode == "b":
            result = BMode.update(database, table, register, columns)
        elif db.mode == "bplus":
            result = BPlusMode.update(database, table, register, columns)
        elif db.mode == "dict":
            result = DictMode.update(database, table, register, columns)
        elif db.mode == "isam":
            result = ISAMMode.update(database, table, register, columns)
        elif db.mode == "json":
            result = jsonMode.update(database, table, register, columns)
        elif db.mode == "hash":
            result = HashMode.update(database, table, register, columns)
    return result
示例#13
0
def extractRow(database, table, columns):
    dbs = databases.find_all(database)
    if dbs == []:
        return []
    if databases.find_table(database, table) == None:
        return []
    result = []
    for db in dbs:
        if db.tables.search(table) == None:
            continue
        if db.mode == "avl":
            result = avlMode.extractRow(database, table, columns)
        elif db.mode == "b":
            result = BMode.extractRow(database, table, columns)
        elif db.mode == "bplus":
            result = BPlusMode.extractRow(database, table, columns)
        elif db.mode == "dict":
            result = DictMode.extractRow(database, table, columns)
        elif db.mode == "isam":
            result = ISAMMode.extractRow(database, table, columns)
        elif db.mode == "json":
            result = jsonMode.extractRow(database, table, columns)
        elif db.mode == "hash":
            result = HashMode.extractRow(database, table, columns)
    return result
示例#14
0
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
示例#15
0
def extractRangeTable(database: str, table: str, columnNumber: int, lower: any,
                      upper: any) -> list:
    db = databases.search(database)
    if db == None:
        return None
    if db.mode == "avl":
        result = avlMode.extractRangeTable(database, table, columnNumber,
                                           lower, upper)
    elif db.mode == "b":
        result = BMode.extractRangeTable(database, table, columnNumber, lower,
                                         upper)
    elif db.mode == "bplus":
        result = BPlusMode.extractRangeTable(database, table, columnNumber,
                                             lower, upper)
    elif db.mode == "dict":
        result = DictMode.extractRangeTable(database, table, columnNumber,
                                            lower, upper)
    elif db.mode == "isam":
        result = ISAMMode.extractRangeTable(database, table, columnNumber,
                                            lower, upper)
    elif db.mode == "json":
        result = jsonMode.extractRangeTable(database, table, columnNumber,
                                            lower, upper)
    elif db.mode == "hash":
        result = HashMode.extractRangeTable(database, table, columnNumber,
                                            lower, upper)
    return result
示例#16
0
def alterDatabase(databaseOld: str, databaseNew: str) -> int:
    if re.search(DB_NAME_PATTERN, databaseOld) and re.search(
            DB_NAME_PATTERN, databaseNew):
        if databases.search(databaseNew) != None:
            return 3
        dbs = databases.find_all(databaseOld)
        if dbs == []:
            return 2
        for db in dbs:
            if db.mode == "avl":
                code = avlMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "b":
                code = BMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "bplus":
                code = BPlusMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "dict":
                code = DictMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "isam":
                code = ISAMMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "json":
                code = jsonMode.alterDatabase(databaseOld, databaseNew)
            elif db.mode == "hash":
                code = HashMode.alterDatabase(databaseOld, databaseNew)
            if code == 0:
                db.name = databaseNew
                try:
                    Serializable.commit(databases, "lista_bases_de_datos")
                    return 0
                except:
                    db.name = databaseOld
            return 1
    else:
        return 1
示例#17
0
def __drop_table_sp(database, table, mode):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    if databases.find_table(database, table) == None:
        return 3
    for db in dbs:
        if db.mode == mode == "avl":
            result = avlMode.dropTable(database, table)
        elif db.mode == mode == "b":
            result = BMode.dropTable(database, table)
        elif db.mode == mode == "bplus":
            result = BPlusMode.dropTable(database, table)
        elif db.mode == mode == "dict":
            result = DictMode.dropTable(database, table)
        elif db.mode == mode == "isam":
            result = ISAMMode.dropTable(database, table)
        elif db.mode == mode == "json":
            result = jsonMode.dropTable(database, table)
        elif db.mode == mode == "hash":
            result = HashMode.dropTable(database, table)
        else:
            continue
        if result != 3:
            if result == 0:
                db.tables.delete(table)
                for x in range(5):
                    try:
                        Serializable.commit(databases, "lista_bases_de_datos")
                        return result
                    except:
                        break
                return 1
            break
    return result
示例#18
0
def dropDatabase(database: str) -> int:
    if re.search(DB_NAME_PATTERN, database):
        dbs = databases.find_all(database)
        if dbs == []:
            return 2
        for db in dbs:
            if db.mode == "avl":
                code = avlMode.dropDatabase(database)
            elif db.mode == "b":
                code = BMode.dropDatabase(database)
            elif db.mode == "bplus":
                code = BPlusMode.dropDatabase(database)
            elif db.mode == "dict":
                code = DictMode.dropDatabase(database)
            elif db.mode == "isam":
                code = ISAMMode.dropDatabase(database)
            elif db.mode == "json":
                code = jsonMode.dropDatabase(database)
            elif db.mode == "hash":
                code = HashMode.dropDatabase(database)
            if code == 0:
                databases.delete(db.name)
                for x in range(5):
                    try:
                        Serializable.commit(databases, "lista_bases_de_datos")
                        return 0
                    except:
                        continue
            return 1
    else:
        return 1
示例#19
0
def alterAddFK(database: str, table: str, references: dict) -> int:
    bd = _Buscar(database)

    if bd:

        mode = bd[1]

        val = -1

        if mode == "avl":
            val = avl.alterAddFK(database, table, references)

        elif mode == "b":
            val = b.alterAddFK(database, table, references)

        elif mode == "bplus":
            val = bplus.alterAddFK(database, table, references)

        elif mode == "hash":
            val = hash.alterAddFK(database, table, references)

        elif mode == "isam":
            val = isam.alterAddFK(database, table, references)

        elif mode == "json":
            val = json.alterAddFK(database, table, references)

        elif mode == "dict":
            val = dict.alterAddFK(database, table, references)

        return val

    else:
        return 2
示例#20
0
def createTable(database: str, table: str, numberColumns: int) -> int:
    db = databases.search(database)
    if db == None:
        return 2
    if table in showTables(database):
        return 3
    if db.mode == "avl":
        result = avlMode.createTable(database, table, numberColumns)
    elif db.mode == "b":
        result = BMode.createTable(database, table, numberColumns)
    elif db.mode == "bplus":
        result = BPlusMode.createTable(database, table, numberColumns)
    elif db.mode == "dict":
        result = DictMode.createTable(database, table, numberColumns)
    elif db.mode == "isam":
        result = ISAMMode.createTable(database, table, numberColumns)
    elif db.mode == "json":
        result = jsonMode.createTable(database, table, numberColumns)
    elif db.mode == "hash":
        result = HashMode.createTable(database, table, numberColumns)
    if result == 0:
        if db.tables.create(table, numberColumns) == 0:
            for x in range(5):
                try:
                    Serializable.commit(databases, "lista_bases_de_datos")
                    return result
                except:
                    continue
            return 1
    return result
示例#21
0
def createdatabase(db, modo, cod):
    if not modo in modos:
        return 3
    if not cod in encoding:
        return 4
    if buscar(db) == None:
        if modo == "avl":
            tmp = avl.createDatabase(db)

        elif modo == "b":
            tmp = b.createDatabase(db)

        elif modo == "bplus":
            tmp = bplus.createDatabase(db)

        elif modo == "hash":
            tmp = hash.createDatabase(db)

        elif modo == "isam":
            tmp = isam.createDatabase(db)

        elif modo == "json":
            tmp = json.createDatabase(db)

        elif modo == "dict":
            tmp = dict.createDatabase(db)
    else:
        return 2

    if tmp == 0:
        lista_db.append([db, modo, cod])
        return 0
    else:
        return 1
示例#22
0
def alterDropColumn(database: str, table: str, columnNumber: int) -> int:
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    for db in dbs:
        if db.mode == "avl":
            result = avlMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "b":
            result = BMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "bplus":
            result = BPlusMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "dict":
            result = DictMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "isam":
            result = ISAMMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "json":
            result = jsonMode.alterDropColumn(database, table, columnNumber)
        elif db.mode == "hash":
            result = HashMode.alterDropColumn(database, table, columnNumber)
        if result != 3:
            if result == 0:
                db.search(table).columns -= 1
                for x in range(5):
                    try:
                        Serializable.commit(databases, "lista_bases_de_datos")
                        return result
                    except:
                        break
                return 1
            break
    return result
示例#23
0
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
示例#24
0
def __insert_sp(database: str, table: str, register: list, mode: str):
    dbs = databases.find_all(database)
    if dbs == []:
        return 2
    tb = databases.find_table(database, table)
    if tb == None:
        return 3
    if len(register) != tb.columns:
        return 5
    if mode not in MODES:
        return 6
    for db in dbs:
        if db.mode != mode:
            continue
        if db.mode == "avl":
            result = avlMode.insert(database, table, register)
        elif db.mode == "b":
            result = BMode.insert(database, table, register)
        elif db.mode == "bplus":
            result = BPlusMode.insert(database, table, register)
        elif db.mode == "dict":
            result = DictMode.insert(database, table, register)
        elif db.mode == "isam":
            result = ISAMMode.insert(database, table, register)
        elif db.mode == "json":
            result = jsonMode.insert(database, table, register)
        elif db.mode == "hash":
            result = HashMode.insert(database, table, register)
        else:
            continue
        if result != 3:
            break
    return result
示例#25
0
def extractRangeTable(database, table, columnNumber, lower, upper):
    if searchInMode(database) != None:
        currentMode = searchInMode(database)
        if currentMode == 'avl':
            # avlList.append(tableNew)
            return avl.extractRangeTable(database, table, columnNumber, lower, upper)
        elif currentMode == 'b':
            # bList.append(tableNew)
            return b.extractRangeTable(database, table, columnNumber, lower, upper)
        elif currentMode == 'bplus':
            # bplusList.append(tableNew)
            return bplus.extractRangeTable(database, table, columnNumber, lower, upper)
        elif currentMode == 'dict':
            # dictList.append(tableNew)
            return DM.extractRangeTable(database, table, columnNumber, lower, upper)
        elif currentMode == 'isam':
            # isamList.append(tableNew)
            return isam.extractRangeTable(database, table, columnNumber, lower, upper)
        elif currentMode == 'json':
            # jsonList.append(tableNew)
            return j.extractRangeTable(database, table, lower, upper)
        elif currentMode == 'hash':
            # hashList.append(tableNew)
            return Hash.extractRangeTable(database, table, columnNumber, lower, upper)
    else:
        return 2
示例#26
0
def loadCSV(file: str, database: str, table: str) -> list:
    try:
        result = []
        dbs = databases.find_all(database)
        for db in dbs:
            tb = db.tables.search(table)
            if tb == None:
                continue
            if db.mode == "avl":
                result = avlMode.loadCSV(file, database, table)
            elif db.mode == "b":
                result = BMode.loadCSV(file, database, table)
            elif db.mode == "bplus":
                result = BPlusMode.loadCSV(file, database, table)
            elif db.mode == "dict":
                result = DictMode.loadCSV(file, database, table)
            elif db.mode == "isam":
                result = ISAMMode.loadCSV(file, database, table)
            elif db.mode == "json":
                result = jsonMode.loadCSV(file, database, table)
            elif db.mode == "hash":
                result = HashMode.loadCSV(file, database, table)
        return result
    except:
        return []
示例#27
0
文件: Bases.py 项目: GleyP/Test
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
示例#28
0
def extractTable(database, table):
    dbs = databases.find_all(database)
    if dbs == []:
        return None
    if databases.find_table(database, table) == None:
        return None
    result = []
    for db in dbs:
        tb = db.tables.search(table)
        if tb != None:
            if db.mode == "avl":
                result = avlMode.extractTable(database, table)
            elif db.mode == "b":
                result = BMode.extractTable(database, table)
            elif db.mode == "bplus":
                result = BPlusMode.extractTable(database, table)
            elif db.mode == "dict":
                result = DictMode.extractTable(database, table)
            elif db.mode == "isam":
                result = ISAMMode.extractTable(database, table)
            elif db.mode == "json":
                result = jsonMode.extractTable(database, table)
            elif db.mode == "hash":
                result = HashMode.extractTable(database, table)
            else:
                continue
    return result
示例#29
0
文件: Bases.py 项目: GleyP/Test
def truncate(database, table):
    if searchInMode(database) != None:
        currentMode = searchInMode(database)
        if currentMode == 'avl':
            # avlList.append(tableNew)
            return avl.truncate(database, table)
        elif currentMode == 'b':
            # bList.append(tableNew)
            return b.truncate(database, table)
        elif currentMode == 'bplus':
            # bplusList.append(tableNew)
            return bplus.truncate(database, table)
        elif currentMode == 'dict':
            # dictList.append(tableNew)
            return DM.truncate(database, table)
        elif currentMode == 'isam':
            # isamList.append(tableNew)
            return isam.truncate(database, table)
        elif currentMode == 'json':
            # jsonList.append(tableNew)
            return j.truncate(database, table)
        elif currentMode == 'hash':
            # hashList.append(tableNew)
            return Hash.truncate(database, table)
    else:
        return 2
示例#30
0
def _createTable(database, table, numberColumns, mode):

    val = -1

    if mode == "avl":
        val = avl.createTable(database, table, numberColumns)

    elif mode == "b":
        val = b.createTable(database, table, numberColumns)

    elif mode == "bplus":
        val = bplus.createTable(database, table, numberColumns)

    elif mode == "hash":
        val = hash.createTable(database, table, numberColumns)

    elif mode == "isam":
        val = isam.createTable(database, table, numberColumns)

    elif mode == "json":
        val = json.createTable(database, table, numberColumns)

    elif mode == "dict":
        val = dict.createTable(database, table, numberColumns)

    if val == 0:
        _database(database)["tablas"].append({"nombre": table, "modo":mode, "columnas": numberColumns, "pk": []})
        _Guardar()

    return val