swoole / ext-postgresql

🐘 Coroutine-based client for PostgreSQL
64 stars 21 forks source link

cannot setting timeout #54

Open consatan opened 3 years ago

consatan commented 3 years ago
$pg = new \Swoole\Coroutine\PostgreSQL();
$dsn = 'host=localhost;dbname=test;user=user;password=pswd';
$pg->connect($dsn);

$res = $pg->query('select name from users where id=1');
$pg->fetchRow($res); // it's ok

$res = $pg->query('select name, pg_sleep(4) from users where id=1');
echo $pg->error; // ontimeout

$res = $pg->query('select name from users where id=1');
if ($res) {
    $pg->fetchRow($res);
} else {
    // goto here
    echo $pg->error; // ontimeout
}

if (!$pg->connect($dsn)) {
    echo $pg->error; // ontimeout
}

$pg = new \Swoole\Coroutine\PostgreSQL();
$pg->connect($dsn);
$res = $pg->query('select name from users where id=1');
$pg->fetchRow($res); // it's ok

at swoole_postgresql_coro.cc#353

object->timeout = SW_PGSQL_CONNECT_TIMEOUT;

SW_PGSQL_CONNECT_TIMEOUT defined to 3.0

no method set the timeout value now.