Exemplo n.º 1
0
def alterTable(database: str, tableOld: str, tableNew: str) -> int:
    if type(database) != str or type(tableOld) != str or type(tableNew) != str:
        return 1
    checkData()
    if validateIdentifier(tableOld) and validateIdentifier(tableNew):
        dataBaseTree = serializable.Read('./Data/BPlusMode/', "Databases")
        databaseNode = dataBaseTree.search(dataBaseTree.getRoot(), database)
        if databaseNode:
            tablesTree = serializable.Read(f"./Data/BPlusMode/{database}/",
                                           database)
            rootT = tablesTree.getRoot()
            if not tablesTree.search(rootT, tableOld):
                return 3  #tableOLD no existente
            elif tablesTree.search(rootT, tableNew):
                return 4  #tableNEW existente
            tablesTree.delete(rootT, tableOld)
            serializable.Rename(f'./Data/BPlusMode/{database}/', tableOld,
                                tableNew)
            tablesTree.add(tablesTree.getRoot(), tableNew)
            serializable.update(f"./Data/BPlusMode/{database}/", database,
                                tablesTree)
            return 0
        else:
            return 2  #db no existente
    else:
        return 1
Exemplo n.º 2
0
def alterDatabase(dataBaseOld, dataBaseNew) -> int:
    if type(dataBaseOld) != str or type(dataBaseNew) != str:
        return 1
    checkData()
    if validateIdentifier(dataBaseOld) and validateIdentifier(dataBaseNew):
        dataBaseTree = serializable.Read('./Data/BPlusMode/', "Databases")
        root = dataBaseTree.getRoot()
        if not dataBaseTree.search(root, dataBaseOld):
            return 2
        if dataBaseTree.search(root, dataBaseNew):
            return 3
        dataBaseTree.delete(root, dataBaseOld)
        root = dataBaseTree.getRoot()
        serializable.Rename('./Data/BPlusMode/', dataBaseOld, dataBaseNew)
        dataBaseTree.add(root, dataBaseNew)
        serializable.update('./Data/BPlusMode/', 'Databases', dataBaseTree)
        return 0
    else:
        return 1