Annotation of embedaddon/php/ext/oci8/tests/edition_1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Basic test for setting Oracle 11gR2 "edition" attribute
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('oci8')) die("skip no oci8 extension");
! 6: require(dirname(__FILE__)."/connect.inc");
! 7: if (strcasecmp($user, "system") && strcasecmp($user, "sys")) {
! 8: die("skip needs to be run as a DBA user");
! 9: }
! 10: if ($test_drcp) {
! 11: die("skip as Output might vary with DRCP");
! 12: }
! 13: if (preg_match('/Release (1[1]\.2|12)\./', oci_server_version($c), $matches) !== 1) {
! 14: die("skip expected output only valid when using Oracle 11gR2 or greater databases");
! 15: } else if (preg_match('/^(11\.2|12)\./', oci_client_version()) != 1) {
! 16: die("skip test expected to work only with Oracle 11gR2 or greater version of client");
! 17: }
! 18: ?>
! 19: --FILE--
! 20: <?php
! 21:
! 22: /* In 11.2, there can only be one child edition. So this test will
! 23: * fail to create the necessary editions if a child edition exists
! 24: * already
! 25: */
! 26:
! 27: require(dirname(__FILE__)."/conn_attr.inc");
! 28:
! 29: function select_fn($conn) {
! 30: $s = oci_parse($conn,"select * from view_ed");
! 31: oci_execute($s);
! 32: while ($row = oci_fetch_row($s)) {
! 33: var_dump($row);
! 34: }
! 35: }
! 36: /* Create a editon MYEDITION
! 37: create a view view_ed in MYEDITION1.
! 38: create the same view 'view_ed' with a different definition in MYEDITION.
! 39: select from both the editions and verify the contents. */
! 40:
! 41: set_edit_attr('MYEDITION');
! 42: $conn = oci_connect('testuser','testuser',$dbase);
! 43: if ($conn === false) {
! 44: $m = oci_error();
! 45: die("Error:" . $m['message']);
! 46: }
! 47:
! 48: $stmtarray = array(
! 49: "drop table edit_tab",
! 50: "create table edit_tab (name varchar2(10),age number,job varchar2(50), salary number)",
! 51: "insert into edit_tab values('mike',30,'Senior engineer',200)",
! 52: "insert into edit_tab values('juan',25,'engineer',100)",
! 53: "create or replace editioning view view_ed as select name,age,job from edit_tab",
! 54: );
! 55:
! 56: oci8_test_sql_execute($conn, $stmtarray);
! 57:
! 58: // Check the current edition of the DB and the contents of view_ed.
! 59: get_edit_attr($conn);
! 60: select_fn($conn);
! 61:
! 62: // Create a different version of view_ed in MYEDITION1.
! 63: set_edit_attr('MYEDITION1');
! 64: $conn2 = oci_new_connect('testuser','testuser',$dbase);
! 65: $stmt = "create or replace editioning view view_ed as select name,age,job,salary from edit_tab";
! 66: $s = oci_parse($conn2, $stmt);
! 67: oci_execute($s);
! 68:
! 69: // Check the current edition of the DB and the contents of view_ed.
! 70: get_edit_attr($conn2);
! 71: select_fn($conn2);
! 72:
! 73: // Verify the contents in MYEDITION EDITION.
! 74: echo "version of view_ed in MYEDITION \n";
! 75: get_edit_attr($conn);
! 76: select_fn($conn);
! 77:
! 78: clean_up($c);
! 79:
! 80: oci_close($conn);
! 81: oci_close($conn2);
! 82: echo "Done\n";
! 83:
! 84: ?>
! 85: --EXPECTF--
! 86: The value of edition has been successfully set
! 87: The value of current EDITION is MYEDITION
! 88: array(3) {
! 89: [0]=>
! 90: %unicode|string%(%d) "mike"
! 91: [1]=>
! 92: %unicode|string%(%d) "30"
! 93: [2]=>
! 94: %unicode|string%(%d) "Senior engineer"
! 95: }
! 96: array(3) {
! 97: [0]=>
! 98: %unicode|string%(%d) "juan"
! 99: [1]=>
! 100: %unicode|string%(%d) "25"
! 101: [2]=>
! 102: %unicode|string%(%d) "engineer"
! 103: }
! 104: The value of edition has been successfully set
! 105: The value of current EDITION is MYEDITION1
! 106: array(4) {
! 107: [0]=>
! 108: %unicode|string%(%d) "mike"
! 109: [1]=>
! 110: %unicode|string%(%d) "30"
! 111: [2]=>
! 112: %unicode|string%(%d) "Senior engineer"
! 113: [3]=>
! 114: %unicode|string%(%d) "200"
! 115: }
! 116: array(4) {
! 117: [0]=>
! 118: %unicode|string%(%d) "juan"
! 119: [1]=>
! 120: %unicode|string%(%d) "25"
! 121: [2]=>
! 122: %unicode|string%(%d) "engineer"
! 123: [3]=>
! 124: %unicode|string%(%d) "100"
! 125: }
! 126: version of view_ed in MYEDITION
! 127: The value of current EDITION is MYEDITION
! 128: array(3) {
! 129: [0]=>
! 130: %unicode|string%(%d) "mike"
! 131: [1]=>
! 132: %unicode|string%(%d) "30"
! 133: [2]=>
! 134: %unicode|string%(%d) "Senior engineer"
! 135: }
! 136: array(3) {
! 137: [0]=>
! 138: %unicode|string%(%d) "juan"
! 139: [1]=>
! 140: %unicode|string%(%d) "25"
! 141: [2]=>
! 142: %unicode|string%(%d) "engineer"
! 143: }
! 144: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>