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

1.1     ! misho       1: --TEST--
        !             2: oci_execute() segfault after repeated bind of LOB descriptor
        !             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: require dirname(__FILE__).'/create_table.inc';
        !            13: 
        !            14: $ora_sql = "INSERT INTO
        !            15:                        ".$schema.$table_name." (blob, clob)
        !            16:                       VALUES (empty_blob(), empty_clob())
        !            17:                       RETURNING
        !            18:                                blob
        !            19:                       INTO :v_blob ";
        !            20: 
        !            21: $s = oci_parse($c, $ora_sql);
        !            22: $blob = oci_new_descriptor($c, OCI_D_LOB);
        !            23: oci_bind_by_name($s, ":v_blob", $blob, -1, OCI_B_BLOB);
        !            24: oci_execute($s, OCI_DEFAULT);
        !            25: var_dump($blob->save("some binary data"));
        !            26: 
        !            27: oci_bind_by_name($s, ":v_blob", $blob, -1, OCI_B_BLOB);
        !            28: oci_execute($s, OCI_DEFAULT);
        !            29: var_dump($blob->save("some more binary data"));
        !            30: 
        !            31: $query = 'SELECT blob, DBMS_LOB.GETLENGTH(blob) FROM '.$schema.$table_name.' ORDER BY 2';
        !            32: 
        !            33: $s = oci_parse ($c, $query);
        !            34: oci_execute($s, OCI_DEFAULT);
        !            35: 
        !            36: while ($arr = oci_fetch_assoc($s)) {
        !            37:     $result = $arr['BLOB']->load();
        !            38:     var_dump($result);
        !            39: }
        !            40: 
        !            41: require dirname(__FILE__).'/drop_table.inc';
        !            42: 
        !            43: echo "Done\n";
        !            44: 
        !            45: ?>
        !            46: --EXPECT--
        !            47: bool(true)
        !            48: bool(true)
        !            49: string(16) "some binary data"
        !            50: string(21) "some more binary data"
        !            51: Done

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