Exemplo n.º 1
0
def alterDropColumn(database: str, table: str, columnNumber: int) -> int:
    try:
        if not database.isidentifier() \
        or not table.isidentifier() \
        or not isinstance(columnNumber, int):
            raise Exception()

        baseDatos = __getDatabase(database)
        if baseDatos is False:
            return 2

        tabla = __getTable(database, table)
        if tabla is False:
            return 3

        modo = tabla["mode"]

        res = 1

        if modo == "avl":
            res = avl.alterDropColumn(database, table, columnNumber)
        elif modo == "b":
            res = b.alterDropColumn(database, table, columnNumber)
        elif modo == "bplus":
            res = bplus.alterDropColumn(database, table, columnNumber)
        elif modo == "hash":
            res = ha.alterDropColumn(database, table, columnNumber)
        elif modo == "isam":
            res = isam.alterDropColumn(database, table, columnNumber)
        elif modo == "json":
            res = j.alterDropColumn(database, table, columnNumber)
        elif modo == "dict":
            res = d.alterDropColumn(database, table, columnNumber)

        if res == 0:
            # Pedir la lista de diccionarios de base de datos
            listaDB = __rollback("data")

            for db in listaDB:
                if db["nameDb"] == database:
                    for tb in db["tables"]:
                        if tb["nameTb"] == table:
                            columnasNew = tb["columns"] - 1
                            tb["columns"] = columnasNew
                            break

            # Se guarda la lista de base de datos ya actualizada en el archivo data
            __commit(listaDB, "data")

        return res
    except:
        return 1
Exemplo n.º 2
0
def alterDropColumn(database, table, columnNumber):
    try:
        dictionary = load('metadata')

        if dictionary.get(database) is None:
            return 2  # database doesn't exist

        mode = dictionary.get(database)[0]
        j = checkMode(mode)
        value_return = j.alterDropColumn(database, table, columnNumber)

        if value_return == 0:
            dict_tables = dictionary.get(database)[2]
            number_columns = dict_tables.get(table)[0]
            dict_tables.get(table)[0] = number_columns-1  # Updating number of columns

            save(dictionary, 'metadata')

        return value_return
    except:
        return 1
Exemplo n.º 3
0
def alterAddColumn(database, table, default):
    try:
        database = str(database)
        table = str(table)
        dictionary = load('metadata')

        value_base = dictionary.get(database)
        if not value_base:
            return 2

        mode = dictionary.get(database)[0]
        j = checkMode(mode)
        value_return = j.alterDropColumn(database, table, default)

        if value_return == 0:
            dict_tables = dictionary.get(database)[2]
            number_columns = dict_tables.get(table)[0]
            dict_tables.get(table)[0] = number_columns + 1
            save(dictionary, 'metadata')

        return value_return
    except:
        return 1