Deleu 0 Denunciar post Postado Novembro 12, 2010 Recentemente estive lendo/aprendendo sobre o START TRANSACTION / COMMIT / ROLLBACK e me bateu uma dúvida que não consegui encontrar no Google (Sim, fui eu que não encontrei as palavras certas para buscar =P), então: Supondo que ao iniciar uma transação, dê algum erro em algum lugar e o código nunca chegue no COMMIT ou no ROLLBACK, quanto tempo a transação fica em aberto até dar como expirada e, posteriormente, auto-rollback pelo banco ? (Se é que há um tempo de expiração). Se Sim ou não, há como eu determinar esse tempo pelo PHP ou posso configurar no banco ou é padrão e não posso editar? Compartilhar este post Link para o post Compartilhar em outros sites
Wagner Bianchi 0 Denunciar post Postado Novembro 12, 2010 Ola Deleu, (ESTOU SEM ACENTUACAO) :lol: Nao existe um auto-rollback, ou e COMMIT ou e ROLLBACK, ok? Ok, de tempo em tempo o log de transacao, no caso do InnoDB, passa por um processo denominado recovery. Este recovery varrera o log atras de trasacoes que nao registraram um COMMIT para proceder com a limpeza do log em por consequencia, um ROLLBACK. Happy MySQL'ing... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
Deleu 0 Denunciar post Postado Novembro 18, 2010 Desculpe a demora/ress no tópico, mas estive trabalhando muito e acabei me esquecendo. Mas então, em uma determinada função PHP, eu coleto alguns dados e faço várias variáveis de query. Em seguida começo a executar uma a uma, caso alguma dê erro, o Algoritmo fecha a conexão com o banco (MySQL) e retorna esse erro ao Flex. Neste caso, se este algoritmo for executado inúmeras vezes serão iniciadas inúmeras transações. Vocês saberiam me dizer a desvantagem/problema desse método ? Seria melhor antes de fechar a conexão com o banco, executar um ROLLBACK ? Ps.: Se nenhum Query retornar erro, o algoritmo executará um COMMIT, senão não executará nada após retornar o erro. Grato. Compartilhar este post Link para o post Compartilhar em outros sites