Fwd: Bug #32774: stdin handling confusion in COPY

Fwd: Bug #32774: stdin handling confusion in COPY

am 01.05.2005 16:12:04 von Volkan YAZICI

From: PHP Bug Database
Date: Apr 20, 2005 1:13 AM
Subject: Bug #32774: stdin handling confusion in COPY
To: volkan.yazici@gmail.com


From: volkan dot yazici at gmail dot com
Operating system: Linux 2.6.11
PHP version: 5.0.3
PHP Bug Type: PostgreSQL related
Bug description: stdin handling confusion in COPY

Description:
------------
There seems to be a confusion in handling stdin between PostgreSQL and
PHP.

Reproduce code:
---------------
$conn =3D pg_connect("user=3Dknt dbname=3Dtemplate1")
or die("Connection failed!\n");

print "Starting query...\n";
$res =3D pg_query("COPY example_table FROM stdin");

/*
* If I'd not use a pg_end_copy() call just after "COPY FROM
* stdin" query, script flow will never pass through this
* line and stuck here with a 100% CPU usage.
*/

if ( pg_result_status($res) !=3D PGSQL_COPY_IN )
die("Unexpected result status!\n");

print "At last!\n";
pg_close();
?>

/*
* The same of this script
* [http://yazicivo.fateback.com/example-copy.txt] written
* in C (with same libpq calls) works fine.
*/

Expected result:
----------------
shell$ php example-copy.php
Starting query...
At last!
shell$ _

Actual result:
--------------
shell$ php example-copy.php
Starting query...

# It enters to an endless loop with a 100% CPU usage.

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)