[Gitec]Transações nomysql/sapl

Helder Vieira helder.vieira em al.pb.gov.br
Segunda Abril 19 13:17:14 BRT 2004


Man Qi,

Gostaria de saber a respeito da existencia de controle de transações no mysql. 
O sapl, no cadastro de tramitação 
(/sapl/cadastros/materia/tramitacao/tramitacao_salvar_proc), envoca métodos 
para controlar transações. Isto é confiável?

Estou desenvolvendo um sistema de log para guardar as ações dos usuários do 
sapl. Pensei em criar uma tabela do tipo:

create table log (
  codobj          integer auto_increment primary key,
  data_ocorrencia timestamp default null,
  ocorrencia      text,
  tipo_ocorrencia varchar(50),
  usuario         varchar(50),
  tabela          varchar(50),
  registro        integer
);

e o método de inserções:

insert into log (
codobj,
data_ocorrencia,
ocorrencia,
tipo_ocorrencia,
usuario,
tabela,
registro
) values (
null,
null,
<dtml-sqlvar ocorrencia type="string">,
<dtml-sqlvar tipo_ocorrencia type="string">,
'<dtml-var "REQUEST.AUTHENTICATED_USER.getUserName()">',
<dtml-sqlvar tabela type="string">,
<dtml-if registro>
<dtml-sqlvar registro type="int">
<dtml-else>
last_insert_id()
</dtml-if>);


Essa função LAST_INSERT_ID() guarda o último número gerado para uma coluna 
auto_increment. O mysql guarda o último valor gerado por um auto_increment 
para cada cliente que estiver acessando. Acontece que o processo do Zope é 
persistente e todos os usuários vão ter o mesmo last_insert_id().

O que você me diz?

[]'s

Helder


Mais detalhes sobre a lista de discussão Gitec