Possível bug em get

0 views
Skip to first unread message

( David . RJ . 2K )

unread,
Nov 4, 2009, 1:02:58 AM11/4/09
to SQLReactor Brasil
Existe um bug que acontece em alguns casos, mas não sei especificar o
certo. Mas consegui criar um bugfix.
Na verdade, é uma falta de verificação (não sei se é proposital, é bom
verificar).

Arquivo: SQLReactor.php
Linha: 760
Versão: 0.9

Correção:
foreach( $rs as $rsKey => $line ){
Esta linha não está verificando se $rs é um array, então existem 2
métodos de corrigir:
- Aplicar um if (que seria mais "trabalhoso");
- Aplicar um cast array (que foi como eu corrigi aqui);
foreach( (array) $rs as $rsKey => $line ){
Assim o PHP faz todo trabalho.

Por via das dúvidas, estou usando a R101 (apesar de ter mostrado
informações da V0.9, mas foi apenas para base mesmo).
O meu código está assim:

$search = $driver->get(array(
// Filtro
'filter' => array(
// 1. Verifica se já existe um valor estático igual
array('static', '==', $valueCode)
),
// Busca somente a primeira instância
'limit' => 1
));

A primeira vez retorna um erro (pois não encontra nenhum elemento no
banco), então salva, na segunda vez existe e não retorna erro algum.

Valeu!

Rafael Martins

unread,
Nov 4, 2009, 7:04:31 AM11/4/09
to sqlreact...@googlegroups.com
Não entendi direito

Pelo q entendi isso ai vem de um retorno do bd. E se for $rs vai ser sempre um array.

[]s,
Snit

2009/11/4 ( David . RJ . 2K ) <davi...@gmail.com>

David S. Rodrigues

unread,
Nov 4, 2009, 11:28:10 AM11/4/09
to sqlreact...@googlegroups.com
Sim, teoricamente, deveria ser sempre um array, mas não é.
Akele código que executei, quando não há nenhum retorno, gera um erro neste ponto, pois não é um array, mas quando existe funciona perfeitamente.

Valeu!

2009/11/4 Rafael Martins <snit...@gmail.com>



--
David S. Rodrigues
Reply all
Reply to author
Forward
0 new messages