Annotation of embedaddon/php/ext/interbase/tests/003.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: InterBase: misc sql types (may take a while)
! 3: --SKIPIF--
! 4: <?php include("skipif.inc"); ?>
! 5: --FILE--
! 6: <?php /* $Id: 003.phpt 321992 2012-01-10 05:26:20Z mariuz $ */
! 7:
! 8: require("interbase.inc");
! 9: ibase_connect($test_base);
! 10:
! 11: ibase_query(
! 12: "create table test3 (
! 13: iter integer not null,
! 14: v_char char(1000),
! 15: v_date timestamp,
! 16: v_decimal4_2 decimal(4,2),
! 17: v_decimal4_0 decimal(4,0),
! 18: v_decimal7_2 decimal(7,2),
! 19: v_decimal7_0 decimal(7,0),
! 20: v_numeric15_15 numeric(15,15),
! 21: v_numeric15_0 numeric(15,0),
! 22: v_double double precision,
! 23: v_float float,
! 24: v_integer integer,
! 25: v_smallint smallint,
! 26: v_varchar varchar(10000)
! 27: )");
! 28: ibase_commit();
! 29:
! 30: /* should fail, but gracefully */
! 31: @ibase_query("insert into test3 (iter) values (?)", null);
! 32:
! 33: /* if timefmt is not supported, suppress error here */
! 34: ini_set('ibase.timestampformat',"%m/%d/%Y %H:%M:%S");
! 35:
! 36: for($iter = 0; $iter < 10; $iter++){
! 37: /* prepare data */
! 38: $v_char = rand_str(1000);
! 39: $v_date = rand_datetime();
! 40: $v_decimal4_2 = rand_number(4,2);
! 41: $v_decimal4_0 = rand_number(4,0);
! 42: $v_decimal7_2 = rand_number(7,2);
! 43: $v_decimal7_0 = rand_number(7,0);
! 44: $v_numeric15_15 = rand_number(15,15);
! 45: $v_numeric15_0 = $iter ? rand_number(15,0) : 0;
! 46: $v_double = rand_number(18);
! 47: $v_float = rand_number(7);
! 48: $v_integer = rand_number(9,0);
! 49: $v_smallint = rand_number(5) % 32767;
! 50: $v_varchar = rand_str(10000);
! 51:
! 52: ibase_query(
! 53: "insert into test3 (iter, v_char,v_date,v_decimal4_2, v_decimal4_0, v_decimal7_2, v_decimal7_0,v_numeric15_15, v_numeric15_0,v_double,v_float,v_integer,v_smallint,v_varchar)
! 54: values ($iter, '$v_char','$v_date',$v_decimal4_2, $v_decimal4_0, $v_decimal7_2, $v_decimal7_0,$v_numeric15_15, $v_numeric15_0,$v_double,$v_float,$v_integer,$v_smallint,'$v_varchar')");
! 55: $sel = ibase_query("select * from test3 where iter = $iter");
! 56: $row = ibase_fetch_object($sel);
! 57: if(substr($row->V_CHAR,0,strlen($v_char)) != $v_char){
! 58: echo " CHAR fail:\n";
! 59: echo " in: $v_char\n";
! 60: echo " out: $row->V_CHAR\n";
! 61: }
! 62: if($row->V_DATE != $v_date){
! 63: echo " DATE fail\n";
! 64: echo " in: $v_date\n";
! 65: echo " out: $row->V_DATE\n";
! 66: }
! 67: if($row->V_DECIMAL4_2 != $v_decimal4_2){
! 68: echo " DECIMAL4_2 fail\n";
! 69: echo " in: $v_decimal4_2\n";
! 70: echo " out: $row->V_DECIMAL4_2\n";
! 71: }
! 72: if($row->V_DECIMAL4_0 != $v_decimal4_0){
! 73: echo " DECIMAL4_0 fail\n";
! 74: echo " in: $v_decimal4_0\n";
! 75: echo " out: $row->V_DECIMAL4_0\n";
! 76: }
! 77: if($row->V_DECIMAL7_2 != $v_decimal7_2){
! 78: echo " DECIMAL7_2 fail\n";
! 79: echo " in: $v_decimal7_2\n";
! 80: echo " out: $row->V_DECIMAL7_2\n";
! 81: }
! 82: if($row->V_DECIMAL7_0 != $v_decimal7_0){
! 83: echo " DECIMAL7_0 fail\n";
! 84: echo " in: $v_decimal7_0\n";
! 85: echo " out: $row->V_DECIMAL7_0\n";
! 86: }
! 87: if($row->V_NUMERIC15_15 != $v_numeric15_15){
! 88: echo " NUMERIC15_15 fail\n";
! 89: echo " in: $v_numeric15_15\n";
! 90: echo " out: $row->V_NUMERIC15_15\n";
! 91: }
! 92: if($row->V_NUMERIC15_0 != (string)$v_numeric15_0){
! 93: echo " NUMERIC15_0 fail\n";
! 94: echo " in: $v_numeric15_0\n";
! 95: echo " out: $row->V_NUMERIC15_0\n";
! 96: }
! 97:
! 98: if(abs($row->V_DOUBLE - $v_double) > abs($v_double / 1E15)){
! 99: echo " DOUBLE fail\n";
! 100: echo " in: $v_double\n";
! 101: echo " out: $row->V_DOUBLE\n";
! 102: }
! 103: if(abs($row->V_FLOAT - $v_float) > abs($v_float / 1E7)){
! 104: echo " FLOAT fail\n";
! 105: echo " in: $v_float\n";
! 106: echo " out: $row->V_FLOAT\n";
! 107: }
! 108: if($row->V_INTEGER != $v_integer){
! 109: echo " INTEGER fail\n";
! 110: echo " in: $v_integer\n";
! 111: echo " out: $row->V_INTEGER\n";
! 112: }
! 113: if($row->V_SMALLINT != $v_smallint){
! 114: echo " SMALLINT fail\n";
! 115: echo " in: $v_smallint\n";
! 116: echo " out: $row->V_SMALLINT\n";
! 117: }
! 118:
! 119: if(substr($row->V_VARCHAR,0,strlen($v_varchar)) != $v_varchar){
! 120: echo " VARCHAR fail:\n";
! 121: echo " in: $v_varchar\n";
! 122: echo " out: $row->V_VARCHAR\n";
! 123: }
! 124:
! 125: ibase_free_result($sel);
! 126: } /* for($iter) */
! 127:
! 128: /* check for correct handling of duplicate field names */
! 129: $q = ibase_query('SELECT 1 AS id, 2 AS id, 3 AS id, 4 AS id, 5 AS id, 6 AS id, 7 AS id, 8 AS id, 9 AS id,
! 130: 10 AS id, 11 AS id, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 FROM rdb$database');
! 131: var_dump(ibase_fetch_assoc($q));
! 132:
! 133: ibase_close();
! 134: echo "end of test\n";
! 135: ?>
! 136: --EXPECT--
! 137: array(22) {
! 138: ["ID"]=>
! 139: int(1)
! 140: ["ID_01"]=>
! 141: int(2)
! 142: ["ID_02"]=>
! 143: int(3)
! 144: ["ID_03"]=>
! 145: int(4)
! 146: ["ID_04"]=>
! 147: int(5)
! 148: ["ID_05"]=>
! 149: int(6)
! 150: ["ID_06"]=>
! 151: int(7)
! 152: ["ID_07"]=>
! 153: int(8)
! 154: ["ID_08"]=>
! 155: int(9)
! 156: ["ID_09"]=>
! 157: int(10)
! 158: ["ID_10"]=>
! 159: int(11)
! 160: ["CONSTANT"]=>
! 161: int(12)
! 162: ["CONSTANT_01"]=>
! 163: int(13)
! 164: ["CONSTANT_02"]=>
! 165: int(14)
! 166: ["CONSTANT_03"]=>
! 167: int(15)
! 168: ["CONSTANT_04"]=>
! 169: int(16)
! 170: ["CONSTANT_05"]=>
! 171: int(17)
! 172: ["CONSTANT_06"]=>
! 173: int(18)
! 174: ["CONSTANT_07"]=>
! 175: int(19)
! 176: ["CONSTANT_08"]=>
! 177: int(20)
! 178: ["CONSTANT_09"]=>
! 179: int(21)
! 180: ["CONSTANT_10"]=>
! 181: int(22)
! 182: }
! 183: end of test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>