Annotation of embedaddon/php/ext/pdo_pgsql/tests/copy_to.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: PDO PgSQL pgsqlCopyToArray and pgsqlCopyToFile
! 3: --SKIPIF--
! 4: <?php # vim:se ft=php:
! 5: if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
! 6: require dirname(__FILE__) . '/config.inc';
! 7: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 8: PDOTest::skip();
! 9: ?>
! 10: --FILE--
! 11: <?php
! 12: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
! 13: $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
! 14: $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
! 15: $db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
! 16:
! 17: $db->exec('CREATE TABLE test (a integer not null primary key, b text, c integer)');
! 18:
! 19: $db->beginTransaction();
! 20: try {
! 21:
! 22: echo "Preparing test table for CopyTo tests\n";
! 23: $stmt = $db->prepare("INSERT INTO test (a, b, c) values (?, ?, ?)");
! 24:
! 25: for($i=0;$i<3;$i++) {
! 26: $firstParameter = $i;
! 27: $secondParameter = "test insert {$i}";
! 28: $thirdParameter = NULL;
! 29: $stmt->bindValue(1, $firstParameter);
! 30: $stmt->bindValue(2, $secondParameter);
! 31: $stmt->bindValue(3, $thirdParameter);
! 32: $stmt->execute();
! 33: }
! 34:
! 35: $db->commit();
! 36:
! 37: echo "Testing pgsqlCopyToArray() with default parameters\n";
! 38: var_dump($db->pgsqlCopyToArray('test'));
! 39: echo "Testing pgsqlCopyToArray() with different field separator and not null indicator\n";
! 40: var_dump($db->pgsqlCopyToArray('test',";","NULL"));
! 41: echo "Testing pgsqlCopyToArray() with only selected fields\n";
! 42: var_dump($db->pgsqlCopyToArray('test',";","NULL",'a,c'));
! 43:
! 44: echo "Testing pgsqlCopyToArray() with error\n";
! 45: var_dump($db->pgsqlCopyToArray('test_error'));
! 46:
! 47:
! 48: echo "Testing pgsqlCopyToFile() with default parameters\n";
! 49:
! 50: $filename="test_pgsqlCopyToFile.csv";
! 51: var_dump($db->pgsqlCopyToFile('test',$filename));
! 52: echo file_get_contents($filename);
! 53: echo "Testing pgsqlCopyToFile() with different field separator and not null indicator\n";
! 54: var_dump($db->pgsqlCopyToFile('test',$filename,";","NULL"));
! 55: echo file_get_contents($filename);
! 56: echo "Testing pgsqlCopyToFile() with only selected fields\n";
! 57: var_dump($db->pgsqlCopyToFile('test',$filename,";","NULL",'a,c'));
! 58: echo file_get_contents($filename);
! 59:
! 60: echo "Testing pgsqlCopyToFile() with error\n";
! 61: var_dump($db->pgsqlCopyToFile('test_error',$filename));
! 62:
! 63:
! 64: } catch (Exception $e) {
! 65: /* catch exceptions so that we can show the relative error */
! 66: echo "Exception! at line ", $e->getLine(), "\n";
! 67: var_dump($e->getMessage());
! 68: }
! 69: if(isset($filename)) {
! 70: @unlink($filename);
! 71: }
! 72: ?>
! 73: --EXPECT--
! 74: Preparing test table for CopyTo tests
! 75: Testing pgsqlCopyToArray() with default parameters
! 76: array(3) {
! 77: [0]=>
! 78: string(19) "0 test insert 0 \N
! 79: "
! 80: [1]=>
! 81: string(19) "1 test insert 1 \N
! 82: "
! 83: [2]=>
! 84: string(19) "2 test insert 2 \N
! 85: "
! 86: }
! 87: Testing pgsqlCopyToArray() with different field separator and not null indicator
! 88: array(3) {
! 89: [0]=>
! 90: string(21) "0;test insert 0;NULL
! 91: "
! 92: [1]=>
! 93: string(21) "1;test insert 1;NULL
! 94: "
! 95: [2]=>
! 96: string(21) "2;test insert 2;NULL
! 97: "
! 98: }
! 99: Testing pgsqlCopyToArray() with only selected fields
! 100: array(3) {
! 101: [0]=>
! 102: string(7) "0;NULL
! 103: "
! 104: [1]=>
! 105: string(7) "1;NULL
! 106: "
! 107: [2]=>
! 108: string(7) "2;NULL
! 109: "
! 110: }
! 111: Testing pgsqlCopyToArray() with error
! 112: bool(false)
! 113: Testing pgsqlCopyToFile() with default parameters
! 114: bool(true)
! 115: 0 test insert 0 \N
! 116: 1 test insert 1 \N
! 117: 2 test insert 2 \N
! 118: Testing pgsqlCopyToFile() with different field separator and not null indicator
! 119: bool(true)
! 120: 0;test insert 0;NULL
! 121: 1;test insert 1;NULL
! 122: 2;test insert 2;NULL
! 123: Testing pgsqlCopyToFile() with only selected fields
! 124: bool(true)
! 125: 0;NULL
! 126: 1;NULL
! 127: 2;NULL
! 128: Testing pgsqlCopyToFile() with error
! 129: bool(false)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>