commit_001.phpt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. --TEST--
  2. Test OCI_NO_AUTO_COMMIT constant
  3. --EXTENSIONS--
  4. oci8
  5. --SKIPIF--
  6. <?php
  7. $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
  8. require(__DIR__.'/skipif.inc');
  9. ?>
  10. --FILE--
  11. <?php
  12. require(__DIR__."/connect.inc");
  13. require(__DIR__.'/create_table.inc');
  14. $insert_sql = "insert into ".$schema.$table_name." (id, value) values (1,1)";
  15. if (!($s = oci_parse($c, $insert_sql))) {
  16. die("oci_parse(insert) failed!\n");
  17. }
  18. /* check with OCI_NO_AUTO_COMMIT mode */
  19. for ($i = 0; $i<3; $i++) {
  20. if (!oci_execute($s, OCI_NO_AUTO_COMMIT)) {
  21. die("oci_execute(insert) failed!\n");
  22. }
  23. }
  24. for ($i = 0; $i<3; $i++) {
  25. if (!oci_execute($s, OCI_DEFAULT)) {
  26. die("oci_execute(insert) failed!\n");
  27. }
  28. }
  29. var_dump(oci_rollback($c));
  30. $select_sql = "select * from ".$schema.$table_name."";
  31. if (!($select = oci_parse($c, $select_sql))) {
  32. die("oci_parse(select) failed!\n");
  33. }
  34. /* oci_fetch_all */
  35. if (!oci_execute($select)) {
  36. die("oci_execute(select) failed!\n");
  37. }
  38. var_dump(oci_fetch_all($select, $all));
  39. var_dump($all);
  40. /* ocifetchstatement */
  41. if (!oci_execute($s)) {
  42. die("oci_execute(select) failed!\n");
  43. }
  44. $insert_sql = "insert into ".$schema.$table_name." (id, value) values (1,1)";
  45. if (!($s = oci_parse($c, $insert_sql))) {
  46. die("oci_parse(insert) failed!\n");
  47. }
  48. for ($i = 0; $i<3; $i++) {
  49. if (!oci_execute($s, OCI_DEFAULT)) {
  50. die("oci_execute(insert) failed!\n");
  51. }
  52. }
  53. var_dump(oci_commit($c));
  54. /* oci_fetch_all */
  55. if (!oci_execute($select)) {
  56. die("oci_execute(select) failed!\n");
  57. }
  58. var_dump(oci_fetch_all($select, $all));
  59. var_dump($all);
  60. require(__DIR__.'/drop_table.inc');
  61. echo "Done\n";
  62. ?>
  63. --EXPECT--
  64. bool(true)
  65. int(0)
  66. array(5) {
  67. ["ID"]=>
  68. array(0) {
  69. }
  70. ["VALUE"]=>
  71. array(0) {
  72. }
  73. ["BLOB"]=>
  74. array(0) {
  75. }
  76. ["CLOB"]=>
  77. array(0) {
  78. }
  79. ["STRING"]=>
  80. array(0) {
  81. }
  82. }
  83. bool(true)
  84. int(4)
  85. array(5) {
  86. ["ID"]=>
  87. array(4) {
  88. [0]=>
  89. string(1) "1"
  90. [1]=>
  91. string(1) "1"
  92. [2]=>
  93. string(1) "1"
  94. [3]=>
  95. string(1) "1"
  96. }
  97. ["VALUE"]=>
  98. array(4) {
  99. [0]=>
  100. string(1) "1"
  101. [1]=>
  102. string(1) "1"
  103. [2]=>
  104. string(1) "1"
  105. [3]=>
  106. string(1) "1"
  107. }
  108. ["BLOB"]=>
  109. array(4) {
  110. [0]=>
  111. NULL
  112. [1]=>
  113. NULL
  114. [2]=>
  115. NULL
  116. [3]=>
  117. NULL
  118. }
  119. ["CLOB"]=>
  120. array(4) {
  121. [0]=>
  122. NULL
  123. [1]=>
  124. NULL
  125. [2]=>
  126. NULL
  127. [3]=>
  128. NULL
  129. }
  130. ["STRING"]=>
  131. array(4) {
  132. [0]=>
  133. NULL
  134. [1]=>
  135. NULL
  136. [2]=>
  137. NULL
  138. [3]=>
  139. NULL
  140. }
  141. }
  142. Done