Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
def dropAll():
    avl.dropAll()
    bplus.dropAll()
    _dict.dropAll()
    json.dropAll()
    return 0
Beispiel #4
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