Olá Pessoal ! Tenho uma aplicação que funciona no Firebird e bloqueio um determinado registro com o seguinte select:
select * from test_table where sr_recno = 10 for update with lock. Quando um outro usuário tenta acessar este mesmo registro verifico o estado dele e ele estando bloqueado, retornando True, de dentro da minha aplicação emito um alerta para este usuário, tipo: Registro indisponível!, etc. Ok! No Postgres eu consigo bloquear o registro também com o select: begin; select * from table_test where sr_recno = 10 for update Só que ele não me retorna imediatamente, fica aguardando o término da transação e o usuário fica travado, waiting. Gostaria de saber se alguém sabe algum modo de ele não ficar aguardando, verificando o registro se estiver bloqueado retorne False imediatamente. Seria uma função. Por exemplo se eu der um select * from pg_stat_activity where waiting = 't' and current_query = 'minha sentença exemplo...' Ele irá me retornar True, porém preciso capturar este retorno para tratar na minha aplicação. Ou uma função que faça isto, capture o retorno no BD. Qualquer ajuda será bem vinda, meu muito obrigado! Adilson Nunes Divinópolis - MG _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral