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>