Annotation of embedaddon/php/ext/oci8/tests/bug42173.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #42173 (TIMESTAMP and INTERVAL query and field functions)
! 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:
! 13: $stmts = array(
! 14:
! 15: "drop table ts_test",
! 16:
! 17: "create table ts_test (
! 18: c1 TIMESTAMP,
! 19: c2 TIMESTAMP (5),
! 20: c3 TIMESTAMP WITH TIME ZONE,
! 21: c4 TIMESTAMP (2) WITH TIME ZONE,
! 22: c5 TIMESTAMP WITH LOCAL TIME ZONE,
! 23: c6 INTERVAL YEAR TO MONTH,
! 24: c7 INTERVAL YEAR(2) TO MONTH,
! 25: c8 INTERVAL DAY TO SECOND,
! 26: c9 INTERVAL DAY(2) TO SECOND(3)
! 27: )",
! 28:
! 29: "insert into ts_test values (
! 30: timestamp'1999-01-03 10:00:00.123',
! 31: timestamp'1999-01-04 10:00:00.123456',
! 32: timestamp'1999-01-05 10:00:00.123456+1:0',
! 33: timestamp'1999-01-06 10:00:00.123456-1:0',
! 34: timestamp'1999-01-06 10:00:00.123456-1:0',
! 35: interval'1-2' year to month,
! 36: interval'10-4' year to month,
! 37: interval'1 2:20:20.123' day to second,
! 38: interval'1 2:20:20.12345' day to second)");
! 39:
! 40: foreach ($stmts as $sql) {
! 41: $s = oci_parse($c, $sql);
! 42: $r = @oci_execute($s);
! 43: }
! 44:
! 45: $s = oci_parse($c, "select * from ts_test");
! 46: $r = oci_execute($s);
! 47: $row = oci_fetch_array($s, OCI_ASSOC);
! 48: var_dump($row);
! 49:
! 50: foreach ($row as $name => $field) {
! 51: echo "\nColumn $name\n";
! 52: var_dump(oci_field_is_null($s, $name));
! 53: var_dump(oci_field_name($s, $name));
! 54: var_dump(oci_field_type($s, $name));
! 55: var_dump(oci_field_type_raw($s, $name));
! 56: var_dump(oci_field_scale($s, $name));
! 57: var_dump(oci_field_precision($s, $name));
! 58: var_dump(oci_field_size($s, $name));
! 59: }
! 60:
! 61: // Cleanup
! 62:
! 63: $s = oci_parse($c, "drop table ts_test");
! 64: $r = @oci_execute($s);
! 65:
! 66: echo "Done\n";
! 67:
! 68: ?>
! 69: --EXPECTF--
! 70: array(9) {
! 71: ["C1"]=>
! 72: string(28) "03-JAN-99 10.00.00.123000 AM"
! 73: ["C2"]=>
! 74: string(27) "04-JAN-99 10.00.00.12346 AM"
! 75: ["C3"]=>
! 76: string(35) "05-JAN-99 10.00.00.123456 AM +01:00"
! 77: ["C4"]=>
! 78: string(31) "06-JAN-99 10.00.00.12 AM -01:00"
! 79: ["C5"]=>
! 80: string(28) "%s"
! 81: ["C6"]=>
! 82: string(6) "+01-02"
! 83: ["C7"]=>
! 84: string(6) "+10-04"
! 85: ["C8"]=>
! 86: string(19) "+01 02:20:20.123000"
! 87: ["C9"]=>
! 88: string(16) "+01 02:20:20.123"
! 89: }
! 90:
! 91: Column C1
! 92: bool(false)
! 93: string(2) "C1"
! 94: string(9) "TIMESTAMP"
! 95: int(187)
! 96: int(6)
! 97: int(0)
! 98: int(11)
! 99:
! 100: Column C2
! 101: bool(false)
! 102: string(2) "C2"
! 103: string(9) "TIMESTAMP"
! 104: int(187)
! 105: int(5)
! 106: int(0)
! 107: int(11)
! 108:
! 109: Column C3
! 110: bool(false)
! 111: string(2) "C3"
! 112: string(23) "TIMESTAMP WITH TIMEZONE"
! 113: int(188)
! 114: int(6)
! 115: int(0)
! 116: int(13)
! 117:
! 118: Column C4
! 119: bool(false)
! 120: string(2) "C4"
! 121: string(23) "TIMESTAMP WITH TIMEZONE"
! 122: int(188)
! 123: int(2)
! 124: int(0)
! 125: int(13)
! 126:
! 127: Column C5
! 128: bool(false)
! 129: string(2) "C5"
! 130: string(29) "TIMESTAMP WITH LOCAL TIMEZONE"
! 131: int(232)
! 132: int(6)
! 133: int(0)
! 134: int(11)
! 135:
! 136: Column C6
! 137: bool(false)
! 138: string(2) "C6"
! 139: string(22) "INTERVAL YEAR TO MONTH"
! 140: int(189)
! 141: int(0)
! 142: int(2)
! 143: int(5)
! 144:
! 145: Column C7
! 146: bool(false)
! 147: string(2) "C7"
! 148: string(22) "INTERVAL YEAR TO MONTH"
! 149: int(189)
! 150: int(0)
! 151: int(2)
! 152: int(5)
! 153:
! 154: Column C8
! 155: bool(false)
! 156: string(2) "C8"
! 157: string(22) "INTERVAL DAY TO SECOND"
! 158: int(190)
! 159: int(6)
! 160: int(2)
! 161: int(11)
! 162:
! 163: Column C9
! 164: bool(false)
! 165: string(2) "C9"
! 166: string(22) "INTERVAL DAY TO SECOND"
! 167: int(190)
! 168: int(3)
! 169: int(2)
! 170: int(11)
! 171: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>