Annotation of embedaddon/php/ext/oci8/tests/lob_031.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test LOB->read(), LOB->seek() and LOB->tell() with nul bytes in data
                      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)
                     16:                       VALUES (empty_blob())
                     17:                       RETURNING
                     18:                                blob
                     19:                       INTO :v_blob ";
                     20: 
                     21: $statement = oci_parse($c,$ora_sql);
                     22: $blob = oci_new_descriptor($c,OCI_D_LOB);
                     23: oci_bind_by_name($statement,":v_blob", $blob,-1,OCI_B_BLOB);
                     24: oci_execute($statement, OCI_DEFAULT);
                     25: 
                     26: $blob->write("test");
                     27: $blob->tell();
                     28: $blob->seek(10, OCI_SEEK_CUR);
                     29: $blob->write("string");
                     30: $blob->flush();
                     31: 
                     32: $select_sql = "SELECT blob FROM ".$schema.$table_name;
                     33: $s = oci_parse($c, $select_sql);
                     34: oci_execute($s);
                     35: $row = oci_fetch_array($s);
                     36: 
                     37: $row[0]->read(3);
                     38: echo " 1. ".$row[0]->tell(). "\n";
                     39: 
                     40: $row[0]->read(3);
                     41: echo " 2. ".$row[0]->tell(). "\n";
                     42: 
                     43: $row[0]->read(3);
                     44: echo " 3. ".$row[0]->tell(). "\n";
                     45: 
                     46: $row[0]->read(6);
                     47: echo " 4. ".$row[0]->tell(). "\n";
                     48: 
                     49: $row[0]->read(4);
                     50: echo " 5. ".$row[0]->tell(). "\n";
                     51: 
                     52: // Read past end
                     53: $row[0]->read(5);
                     54: echo " 6. ".$row[0]->tell(). "\n";
                     55: 
                     56: $row[0]->read(1);
                     57: echo " 8. ".$row[0]->tell(). "\n";
                     58: 
                     59: // Now seek
                     60: $row[0]->seek(1);
                     61: echo " 9. ".$row[0]->tell(). "\n";
                     62: 
                     63: $row[0]->seek(8);
                     64: echo "10. ".$row[0]->tell(). "\n";
                     65: 
                     66: $row[0]->seek(20);
                     67: echo "11. ".$row[0]->tell(). "\n";
                     68: 
                     69: // Seek past end
                     70: $row[0]->seek(25);
                     71: echo "12. ".$row[0]->tell(). "\n";
                     72: 
                     73: // Seek past end
                     74: $row[0]->seek(2, OCI_SEEK_SET);
                     75: echo "13. ".$row[0]->tell(). "\n";
                     76: 
                     77: // Move on 2 more
                     78: $row[0]->seek(2, OCI_SEEK_CUR);
                     79: echo "14. ".$row[0]->tell(). "\n";
                     80: 
                     81: // Move 3 past the end
                     82: $row[0]->seek(3, OCI_SEEK_END);
                     83: echo "15. ".$row[0]->tell(). "\n";
                     84: 
                     85: // Move 4 before the end
                     86: $row[0]->seek(-4, OCI_SEEK_END);
                     87: echo "16. ".$row[0]->tell(). "\n";
                     88: 
                     89: require dirname(__FILE__).'/drop_table.inc';
                     90: 
                     91: echo "Done\n";
                     92: 
                     93: ?>
                     94: --EXPECTF--
                     95:  1. 3
                     96:  2. 6
                     97:  3. 9
                     98:  4. 15
                     99:  5. 19
                    100:  6. 20
                    101:  8. 20
                    102:  9. 1
                    103: 10. 8
                    104: 11. 20
                    105: 12. 25
                    106: 13. 2
                    107: 14. 4
                    108: 15. 23
                    109: 16. 16
                    110: Done

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