Sto cercando di implementare un semplice programma di database in python. Ottengo al punto in cui ho aggiunto elementi al db, ha cambiato i valori, eccimplementazione del database python
class db:
def __init__(self):
self.database ={}
def dbset(self, name, value):
self.database[name]=value
def dbunset(self, name):
self.dbset(name, 'NULL')
def dbnumequalto(self, value):
mylist = [v for k,v in self.database.items() if v==value]
return mylist
def main():
mydb=db()
cmd=raw_input().rstrip().split(" ")
while cmd[0]!='end':
if cmd[0]=='set':
mydb.dbset(cmd[1], cmd[2])
elif cmd[0]=='unset':
mydb.dbunset(cmd[1])
elif cmd[0]=='numequalto':
print len(mydb.dbnumequalto(cmd[1]))
elif cmd[0]=='list':
print mydb.database
cmd=raw_input().rstrip().split(" ")
if __name__=='__main__':
main()
Ora, come un passo successivo voglio essere in grado di fare le transazioni nidificate all'interno di questo pitone code.I iniziare un set di comandi con il comando BEGIN e quindi li commit con istruzione COMMIT. Un commit dovrebbe impegnare tutte le transazioni iniziate. Tuttavia, un rollback dovrebbe riportare le modifiche al BEGIN recente. Non sono in grado di trovare una soluzione adeguata per questo.
Questo era esattamente quello che stavo cercando. Grazie mille per la risposta. –