diff options
author | Felipe Pena <felipe@php.net> | 2008-10-16 00:39:31 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2008-10-16 00:39:31 +0000 |
commit | 8563497a94d6961ceec44305cbb4f6750cf0cc49 (patch) | |
tree | 015aba253dad3d6820616e7e980bf3663b3c6d6c /ext/pgsql/tests/pg_delete_001.phpt | |
parent | 5a28412ad210149cd819bd20a13487f0dd850085 (diff) | |
download | php-git-8563497a94d6961ceec44305cbb4f6750cf0cc49.tar.gz |
MFH:
- Fixed:
. Memory leak in pg_delete() when using PGSQL_DML_STRING.
. Bug #24679 (pg_insert problem!)
. Bug #35996 (pg_meta_data should take the schema into account)
. Bug #40808 (pg_insert problem)
. Bug #42078 (pg_meta_data mix tables metadata from different schemas)
- Improved:
. Error messages
- Added:
. Tests
Diffstat (limited to 'ext/pgsql/tests/pg_delete_001.phpt')
-rw-r--r-- | ext/pgsql/tests/pg_delete_001.phpt | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/ext/pgsql/tests/pg_delete_001.phpt b/ext/pgsql/tests/pg_delete_001.phpt new file mode 100644 index 0000000000..abb65be142 --- /dev/null +++ b/ext/pgsql/tests/pg_delete_001.phpt @@ -0,0 +1,86 @@ +--TEST-- +PostgreSQL pg_delete() - basic test using schema +--SKIPIF-- +<?php include("skipif.inc"); ?> +--FILE-- +<?php + +include('config.inc'); + +$conn = pg_connect($conn_str); + +pg_query('CREATE SCHEMA phptests'); + +pg_query('CREATE TABLE foo (id INT, id2 INT)'); +pg_query('CREATE TABLE phptests.foo (id INT, id2 INT)'); + +pg_insert($conn, 'foo', array('id' => 1, 'id2' => 1)); +pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2)); +pg_insert($conn, 'foo', array('id' => 1, 'id2' => 2)); +pg_insert($conn, 'foo', array('id' => 3, 'id2' => 3)); + +pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 1)); +pg_insert($conn, 'phptests.foo', array('id' => 1, 'id2' => 2)); +pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3)); +pg_insert($conn, 'phptests.foo', array('id' => 2, 'id2' => 3)); + +pg_delete($conn, 'foo', array('id' => 1, 'id2' => 0)); +pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2)); +var_dump(pg_delete($conn, 'foo', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING)); + +pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 1)); +pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3)); +var_dump(pg_delete($conn, 'phptests.foo', array('id' => 2, 'id2' => 3), PGSQL_DML_STRING)); + +var_dump(pg_fetch_all(pg_query('SELECT * FROM foo'))); +var_dump(pg_fetch_all(pg_query('SELECT * FROM phptests.foo'))); + +/* Inexistent */ +pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2)); +var_dump(pg_delete($conn, 'bar', array('id' => 1, 'id2' => 2), PGSQL_DML_STRING)); + +pg_query('DROP TABLE foo'); +pg_query('DROP TABLE phptests.foo'); +pg_query('DROP SCHEMA phptests'); + +?> +--EXPECTF-- +string(37) "DELETE FROM foo WHERE id=1 AND id2=2;" +string(46) "DELETE FROM phptests.foo WHERE id=2 AND id2=3;" +array(2) { + [0]=> + array(2) { + ["id"]=> + string(1) "1" + ["id2"]=> + string(1) "1" + } + [1]=> + array(2) { + ["id"]=> + string(1) "3" + ["id2"]=> + string(1) "3" + } +} +array(2) { + [0]=> + array(2) { + ["id"]=> + string(1) "1" + ["id2"]=> + string(1) "1" + } + [1]=> + array(2) { + ["id"]=> + string(1) "1" + ["id2"]=> + string(1) "2" + } +} + +Warning: pg_delete(): Table 'bar' doesn't exists in %s on line %d + +Warning: pg_delete(): Table 'bar' doesn't exists in %s on line %d +bool(false) |