Annotation of embedaddon/php/ext/oci8/tests/lob_031.phpt, revision 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>