Annotation of embedaddon/php/ext/oci8/tests/bug40078.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #40078 (ORA-01405 when fetching NULL values using oci_bind_array_by_name())
        !             3: --SKIPIF--
        !             4: <?php
        !             5: $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
        !             6: require(dirname(__FILE__).'/skipif.inc');
        !             7: ?> 
        !             8: --FILE--
        !             9: <?php
        !            10: 
        !            11: require dirname(__FILE__).'/connect.inc';
        !            12: 
        !            13: $create_pkg = "
        !            14: CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
        !            15:     TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
        !            16:     PROCEDURE nullbind(c1 OUT ARRTYPE);
        !            17: END ARRAYBINDPKG1;";
        !            18: $statement = oci_parse($c, $create_pkg);
        !            19: oci_execute($statement);
        !            20: 
        !            21: $create_pkg_body = "
        !            22: CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
        !            23:     PROCEDURE nullbind(c1 OUT ARRTYPE) IS
        !            24:     BEGIN
        !            25:         c1(1) := 'one';
        !            26:         c1(2) := 'two';
        !            27:         c1(3) := '';
        !            28:         c1(4) := 'four';
        !            29:         c1(5) := 'five';
        !            30:     END nullbind;
        !            31: END ARRAYBINDPKG1;";
        !            32: $statement = oci_parse($c, $create_pkg_body);
        !            33: oci_execute($statement);
        !            34: 
        !            35: $statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.nullbind(:c1); END;");
        !            36: 
        !            37: oci_bind_array_by_name($statement, ":c1", $array, 5, 20, SQLT_CHR);
        !            38: 
        !            39: oci_execute($statement);
        !            40: 
        !            41: var_dump($array);
        !            42: 
        !            43: echo "Done\n";
        !            44: ?>
        !            45: --EXPECTF--    
        !            46: array(5) {
        !            47:   [0]=>
        !            48:   string(3) "one"
        !            49:   [1]=>
        !            50:   string(3) "two"
        !            51:   [2]=>
        !            52:   string(0) ""
        !            53:   [3]=>
        !            54:   string(4) "four"
        !            55:   [4]=>
        !            56:   string(4) "five"
        !            57: }
        !            58: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>