diff options
| author | Anatol Belski <ab@php.net> | 2016-11-22 00:47:30 +0100 |
|---|---|---|
| committer | Anatol Belski <ab@php.net> | 2016-11-22 00:47:30 +0100 |
| commit | 6bf85617c5c2c758784c368926d24977869b4a45 (patch) | |
| tree | 12f527ba9e44dca8638078faedb75a058d8a7be1 /ext/pgsql | |
| parent | bfb9be9bd4f9629ad501be0720a53c73f7cff285 (diff) | |
| parent | fc7d6e3ba5996966a6c156d5664f10ac3b5ad3e8 (diff) | |
| download | php-git-6bf85617c5c2c758784c368926d24977869b4a45.tar.gz | |
Merge branch 'PHP-7.1'
* PHP-7.1:
Fix bug #73498
Add a test for bug 73498
Diffstat (limited to 'ext/pgsql')
| -rw-r--r-- | ext/pgsql/pgsql.c | 4 | ||||
| -rw-r--r-- | ext/pgsql/tests/01createdb.phpt | 3 | ||||
| -rw-r--r-- | ext/pgsql/tests/06_bug73498.phpt | 20 | ||||
| -rw-r--r-- | ext/pgsql/tests/9999dropdb.phpt | 1 | ||||
| -rw-r--r-- | ext/pgsql/tests/config.inc | 4 |
5 files changed, 30 insertions, 2 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 2368a851be..308db6dc58 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -4121,7 +4121,7 @@ PHP_FUNCTION(pg_copy_to) free_pg_null = 1; } - spprintf(&query, 0, "COPY %s TO STDOUT DELIMITERS E'%c' WITH NULL AS E'%s'", table_name, *pg_delim, pg_null_as); + spprintf(&query, 0, "COPY %s TO STDOUT DELIMITER E'%c' NULL AS E'%s'", table_name, *pg_delim, pg_null_as); while ((pgsql_result = PQgetResult(pgsql))) { PQclear(pgsql_result); @@ -4254,7 +4254,7 @@ PHP_FUNCTION(pg_copy_from) pg_null_as_free = 1; } - spprintf(&query, 0, "COPY %s FROM STDIN DELIMITERS E'%c' WITH NULL AS E'%s'", table_name, *pg_delim, pg_null_as); + spprintf(&query, 0, "COPY %s FROM STDIN DELIMITER E'%c' NULL AS E'%s'", table_name, *pg_delim, pg_null_as); while ((pgsql_result = PQgetResult(pgsql))) { PQclear(pgsql_result); } diff --git a/ext/pgsql/tests/01createdb.phpt b/ext/pgsql/tests/01createdb.phpt index 8f7a262841..aa2e43748f 100644 --- a/ext/pgsql/tests/01createdb.phpt +++ b/ext/pgsql/tests/01createdb.phpt @@ -29,6 +29,9 @@ else { echo pg_last_error()."\n"; } +// Create view here +pg_query($db,$view_def); + pg_close($db); echo "OK"; diff --git a/ext/pgsql/tests/06_bug73498.phpt b/ext/pgsql/tests/06_bug73498.phpt new file mode 100644 index 0000000000..fdb2af2f97 --- /dev/null +++ b/ext/pgsql/tests/06_bug73498.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug 73498 Incorrect DELIMITER syntax for pg_copy_to() +--SKIPIF-- +<?php include("skipif.inc"); ?> +--FILE-- +<?php + +include('config.inc'); + +$db = pg_connect($conn_str); + +$rows = pg_copy_to($db, "(select * from {$view_name})"); + +var_dump(gettype($rows)); +var_dump(count($rows) > 0); + +?> +--EXPECT-- +string(5) "array" +bool(true) diff --git a/ext/pgsql/tests/9999dropdb.phpt b/ext/pgsql/tests/9999dropdb.phpt index 8cb178b2bf..80502e54b6 100644 --- a/ext/pgsql/tests/9999dropdb.phpt +++ b/ext/pgsql/tests/9999dropdb.phpt @@ -9,6 +9,7 @@ PostgreSQL drop db include('config.inc'); $db = pg_connect($conn_str); +pg_query($db, "DROP VIEW {$view_name}"); pg_query($db, "DROP TABLE ".$table_name); @pg_query($db, "DROP TABLE ".$table_name_92); diff --git a/ext/pgsql/tests/config.inc b/ext/pgsql/tests/config.inc index 7be1e242ad..fbe58588a2 100644 --- a/ext/pgsql/tests/config.inc +++ b/ext/pgsql/tests/config.inc @@ -11,6 +11,10 @@ $table_name = "php_pgsql_test"; // test table that will be created $table_name_92 = "php_pgsql_test_92"; // test table that will be created $num_test_record = 1000; // Number of records to create +// Test view +$view_name = "php_pgsql_viewtest"; +$view_def = "CREATE VIEW {$view_name} AS SELECT * FROM {$table_name};"; + // Test table $table_def = "CREATE TABLE ${table_name} (num int, str text, bin bytea);"; $table_def_92 = "CREATE TABLE ${table_name_92} (textary text[], jsn json);"; |
