以下のコードは、PHP5.xでは not busy
が表示されますが、PHP7.xでは、busy!
が表示されます。
$connection_string="host=foo port=5432 dbname=bar user=hoge passowrd=fuga";
$dbconn = pg_connect($connection_string);
$sql="select now();";
pg_send_query($dbconn, $sql.$sql);
$result = pg_get_result($dbconn);
if(pg_connection_busy($dbconn)){
echo "busy!";
} else {
echo "not busy";
}
PHP7.xでは、まだpg_get_result
で取り出していない結果がある場合、busy と判定するようになったようです。
これ、PHPの互換性のない変更履歴を追っても載ってなくてはまりました。
※どこかに載っていたらぜひ教えてください
ニッチだと思いますが、それだけにはまると解決に時間を要します。
pg_result_error
でもエラーも出ず(そりゃそうだ)、解決までだいぶ苦労しました。
お気を付けを。