| [ Index ] |
|
Code source de SPIP Agora 1.4 |
1 --TEST-- 2 DB_driver::tableInfo 3 --INI-- 4 error_reporting = 2047 5 --SKIPIF-- 6 <?php 7 8 /** 9 * Calls tableInfo() in various ways and checks to see that the output 10 * matches what's expected. 11 * 12 * These tests account for each DBMS using different column types and 13 * reporting back different information. These differences are accounted 14 * for in the <var>$quirks</var> array, which has the following format: 15 * 16 * <pre> 17 * 'driver' => array( 18 * 'clob' => DBMS's column type for creating CLOB fields 19 * 'date' => DBMS's column type for creating DATE fields 20 * 'finds_table' => Can this DBMS determine table names from queries? 21 * 'commands' => array( 22 * Extra commands to be passed to PHP's eval() function 23 * ) 24 * 0 => array( 25 * // Info expected to be reported for phptest_fk.a 26 * 'type' => Column type reported by the DBMS 27 * 'len' => Column size reported by the DBMS 28 * 'flags' => Flags reported by the DBMS 29 * ) 30 * 1 => array() Info expected to be reported for phptest_fk.fk 31 * 2 => array() Info expected to be reported for phptest_fk.c 32 * 3 => array() Info expected to be reported for phptest_fk.d 33 * 4 => array() Info expected to be reported for phptest_fk.e 34 * 5 => array() Info expected to be reported for phptest_fk.f 35 * 9 => array() Info expected to be reported for phptest.d 36 * ) 37 * </pre> 38 * 39 * @see DB_common::tableInfo() 40 * 41 * @package DB 42 * @version $Id: 16tableinfo.phpt,v 1.25 2004/09/22 22:16:47 danielc Exp $ 43 * @category Database 44 * @author Daniel Convissor <danielc@analysisandsolutions.com> 45 * @internal 46 */ 47 48 error_reporting(E_ALL); 49 chdir(dirname(__FILE__)); 50 require_once './skipif.inc'; 51 $tableInfo = $db->tableInfo('ajkdslfajoijkadie'); 52 if (DB::isError($tableInfo) && $tableInfo->code == DB_ERROR_NOT_CAPABLE) { 53 die("skip $tableInfo->message"); 54 } 55 56 ?> 57 --FILE-- 58 <?php 59 60 // $Id: 16tableinfo.phpt,v 1.25 2004/09/22 22:16:47 danielc Exp $ 61 62 /** 63 * Connect to the database and make the phptest table. 64 */ 65 require_once './mktable.inc'; 66 67 /** 68 * Local error callback handler. 69 * 70 * Prints out an error message and kills the process. 71 * 72 * @param object $o PEAR error object automatically passed to this method 73 * @return void 74 * @see PEAR::setErrorHandling() 75 */ 76 function pe($o){ 77 global $dbh; 78 79 if ($o->getMessage() == "DB Error: can't distinguish duplicate field names") { 80 print "NOTICE: $dbh->phptype can't distinguish duplicate field names"; 81 return; 82 } 83 84 $dbh->setErrorHandling(PEAR_ERROR_RETURN); 85 $dbh->query('DROP TABLE phptest'); 86 $dbh->query('DROP TABLE phptest_fk'); 87 88 die($o->toString()); 89 } 90 91 /** 92 * Loop through an array returned from tableInfo(), compare the actual 93 * contents to the expected contents and print out what is found. 94 * 95 * @param array $array the array to be examined 96 * @param string $field field index number of $quriks and table 97 * @param boolean $query true if array is from a query or false if array 98 * is tableInfo() 99 * @return void 100 */ 101 function examineArrayData($array, $field = false, $query = true) { 102 global $dbh, $quirks; 103 104 if (!is_array($array)) { 105 print "This DMBS didn't produce proper results\n\n\n\n\n"; 106 return; 107 } 108 109 foreach ($array as $key => $value) { 110 if ($field !== false && 111 isset($quirks[$dbh->phptype][$field][$key])) 112 { 113 if ($key == 'flags' && $value == '' && $query && 114 !$quirks[$dbh->phptype]['finds_table']) 115 { 116 print "$key ... matched expected value\n"; 117 } else { 118 if ($quirks[$dbh->phptype][$field][$key] == $value) { 119 print "$key ... matched expected value\n"; 120 } else { 121 print "$key ... was '$value' but we expected "; 122 print "'{$quirks[$dbh->phptype][$field][$key]}'\n"; 123 } 124 } 125 } else { 126 if ($key == 'table') { 127 if ($field <= 5) { 128 if ($value == 'phptest_fk') { 129 print "$key ... matched expected value\n"; 130 } else { 131 if ($value == '' && $query && 132 !$quirks[$dbh->phptype]['finds_table']) 133 { 134 print "$key ... matched expected value\n"; 135 } else { 136 print "$key ... was '$value' but we expected 'phptest_fk'\n"; 137 } 138 } 139 } else { 140 if ($value == 'phptest') { 141 print "$key ... matched expected value\n"; 142 } else { 143 if ($value == '' && $query && 144 !$quirks[$dbh->phptype]['finds_table']) 145 { 146 print "$key ... matched expected value\n"; 147 } else { 148 print "$key ... was '$value' but we expected 'phptest_fk'\n"; 149 } 150 } 151 } 152 } else { 153 print "$key => $value\n"; 154 } 155 } 156 } 157 } 158 159 /** 160 * Loop through an array of table info data and return the results. 161 * 162 * @param array $array the array to be examined 163 * @return string 164 */ 165 function returnArrayData($array) { 166 $out = ''; 167 foreach ($array as $key => $value) { 168 $out .= "$key => $value\n"; 169 } 170 return $out; 171 } 172 173 174 $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, 'pe'); 175 176 177 $quirks = array( 178 'ibase' => array( 179 'clob' => 'VARCHAR(50)', 180 'date' => 'DATE', 181 'finds_table' => false, 182 'commands' => array( 183 ), 184 0 => array( 185 'type' => 'INTEGER', 186 'len' => 4, 187 'flags' => 'unique_key not_null', 188 ), 189 1 => array( 190 'type' => 'INTEGER', 191 'len' => 4, 192 'flags' => 'primary_key not_null', 193 ), 194 2 => array( 195 'type' => 'VARCHAR', 196 'len' => 50, 197 'flags' => '', 198 ), 199 3 => array( 200 'type' => 'DATE', 201 'len' => 4, 202 'flags' => 'unique_key not_null', 203 ), 204 4 => array( 205 'type' => 'CHAR', 206 'len' => 2, 207 'flags' => 'not_null default', 208 ), 209 5 => array( 210 'type' => 'NUMERIC(9,1)', 211 'len' => 4, 212 'flags' => '', 213 ), 214 9 => array( 215 'type' => 'VARCHAR', 216 'len' => 20, 217 'flags' => '', 218 ), 219 ), 220 221 'ifx' => array( 222 'clob' => 'CHAR(29)', 223 'date' => 'CHAR(10)', 224 'finds_table' => false, 225 'commands' => array( 226 ), 227 0 => array( 228 'type' => 'SQLINT', 229 'len' => 4, 230 'flags' => 'not_null', 231 ), 232 1 => array( 233 'type' => 'SQLINT', 234 'len' => 4, 235 'flags' => 'not_null', 236 ), 237 2 => array( 238 'type' => 'SQLCHAR', 239 'len' => 29, 240 'flags' => '', 241 ), 242 3 => array( 243 'type' => 'SQLCHAR', 244 'len' => 10, 245 'flags' => 'not_null', 246 ), 247 4 => array( 248 'type' => 'SQLCHAR', 249 'len' => 2, 250 'flags' => 'not_null', 251 ), 252 5 => array( 253 'type' => 'SQLDECIMAL', 254 'len' => 513, 255 'flags' => '', 256 ), 257 9 => array( 258 'type' => 'SQLCHAR', 259 'len' => 20, 260 'flags' => '', 261 ), 262 ), 263 264 'mssql' => array( 265 'clob' => 'TEXT', 266 'date' => 'SMALLDATETIME', 267 'finds_table' => false, 268 'commands' => array( 269 'ini_set("mssql.datetimeconvert", "Off");', 270 '$dbh->query("SET DATEFORMAT ymd");', 271 ), 272 0 => array( 273 'type' => 'int', 274 'len' => 4, 275 'flags' => 'multiple_key unique_key not_null', 276 ), 277 1 => array( 278 'type' => 'int', 279 'len' => 4, 280 'flags' => 'primary_key not_null', 281 ), 282 2 => array( 283 'type' => 'text', 284 'len' => 4096, 285 'flags' => '', 286 ), 287 3 => array( 288 'type' => 'datetime', 289 'len' => 4, 290 'flags' => 'multiple_key unique_key not_null', 291 ), 292 4 => array( 293 'type' => 'char', 294 'len' => 2, 295 'flags' => 'not_null', 296 ), 297 5 => array( 298 'type' => 'real', 299 'len' => 19, 300 'flags' => '', 301 ), 302 9 => array( 303 'type' => 'char', 304 'len' => 20, 305 'flags' => '', 306 ), 307 ), 308 309 'mysql' => array( 310 'clob' => 'TEXT', 311 'date' => 'DATE', 312 'finds_table' => true, 313 'commands' => array( 314 ), 315 0 => array( 316 'type' => 'int', 317 'len' => 11, 318 'flags' => 'not_null multiple_key', 319 ), 320 1 => array( 321 'type' => 'int', 322 'len' => 11, 323 'flags' => 'not_null primary_key', 324 ), 325 2 => array( 326 'type' => 'blob', 327 'len' => 65535, 328 'flags' => 'blob', 329 ), 330 3 => array( 331 'type' => 'date', 332 'len' => 10, 333 'flags' => 'not_null multiple_key', 334 ), 335 4 => array( 336 'type' => 'string', 337 'len' => 2, 338 'flags' => 'not_null', 339 ), 340 5 => array( 341 'type' => 'real', 342 'len' => 4, 343 'flags' => '', 344 ), 345 9 => array( 346 'type' => 'string', 347 'len' => 20, 348 'flags' => '', 349 ), 350 ), 351 352 'mysqli' => array( 353 'clob' => 'TEXT', 354 'date' => 'DATE', 355 'finds_table' => true, 356 'commands' => array( 357 ), 358 0 => array( 359 'type' => 'int', 360 'len' => 0, 361 'flags' => 'not_null unique_key multiple_key group_by', 362 ), 363 1 => array( 364 'type' => 'int', 365 'len' => 0, 366 'flags' => 'not_null primary_key', 367 ), 368 2 => array( 369 'type' => 'blob', 370 'len' => 0, 371 'flags' => 'blob', 372 ), 373 3 => array( 374 'type' => 'date', 375 'len' => 0, 376 'flags' => 'not_null unique_key multiple_key', 377 ), 378 4 => array( 379 'type' => 'char', 380 'len' => 0, 381 'flags' => 'not_null', 382 ), 383 5 => array( 384 'type' => 'decimal', 385 'len' => 0, 386 'flags' => 'group_by', 387 ), 388 9 => array( 389 'type' => 'varchar', 390 'len' => 0, 391 'flags' => '', 392 ), 393 ), 394 395 'oci8' => array( 396 'clob' => 'CLOB', 397 'date' => 'DATE', 398 'finds_table' => false, 399 'commands' => array( 400 '$dbh->query("ALTER SESSION SET NLS_DATE_FORMAT = \'YYYY-MM-DD\'");', 401 ), 402 0 => array( 403 'type' => 'NUMBER', 404 'len' => 22, 405 'flags' => 'not_null', 406 ), 407 1 => array( 408 'type' => 'NUMBER', 409 'len' => 22, 410 'flags' => 'not_null', 411 ), 412 2 => array( 413 'type' => 'CLOB', 414 'len' => 4000, 415 'flags' => '', 416 ), 417 3 => array( 418 'type' => 'DATE', 419 'len' => 7, 420 'flags' => 'not_null', 421 ), 422 4 => array( 423 'type' => 'CHAR', 424 'len' => 2, 425 'flags' => 'not_null', 426 ), 427 5 => array( 428 'type' => 'NUMBER', 429 'len' => 22, 430 'flags' => '', 431 ), 432 9 => array( 433 'type' => 'VARCHAR', 434 'len' => 20, 435 'flags' => '', 436 ), 437 ), 438 439 'pgsql' => array( 440 'clob' => 'TEXT', 441 'date' => 'DATE', 442 'finds_table' => false, 443 'commands' => array( 444 '$dbh->query("SET DATESTYLE = ISO");', 445 ), 446 0 => array( 447 'type' => 'int4', 448 'len' => 4, 449 'flags' => 'not_null unique_key multiple_key', 450 ), 451 1 => array( 452 'type' => 'int4', 453 'len' => 4, 454 'flags' => 'not_null primary_key', 455 ), 456 2 => array( 457 'type' => 'text', 458 'len' => -1, 459 'flags' => '', 460 ), 461 3 => array( 462 'type' => 'date', 463 'len' => 4, 464 'flags' => 'not_null unique_key multiple_key', 465 ), 466 4 => array( 467 'type' => 'bpchar', 468 'len' => -1, 469 'flags' => 'not_null default_%20e', 470 ), 471 5 => array( 472 'type' => 'numeric', 473 'len' => -1, 474 'flags' => '', 475 ), 476 9 => array( 477 'type' => 'varchar', 478 'len' => -1, 479 'flags' => '', 480 ), 481 ), 482 483 'sybase' => array( 484 'clob' => 'TEXT', 485 'date' => 'SMALLDATETIME', 486 'finds_table' => false, 487 'commands' => array( 488 '$dbh->query("SET DATEFORMAT ymd");', 489 ), 490 0 => array( 491 'type' => 'int', 492 'len' => 11, 493 'flags' => 'multiple_key unique_key', 494 ), 495 1 => array( 496 'type' => 'int', 497 'len' => 11, 498 'flags' => 'unique_key', 499 ), 500 2 => array( 501 'type' => 'string', 502 'len' => 32768, 503 'flags' => '', 504 ), 505 3 => array( 506 'type' => 'datetime', 507 'len' => 29, 508 'flags' => 'multiple_key unique_key', 509 ), 510 4 => array( 511 'type' => 'string', 512 'len' => 2, 513 'flags' => '', 514 ), 515 5 => array( 516 'type' => 'real', 517 'len' => 4, 518 'flags' => '', 519 ), 520 9 => array( 521 'type' => 'string', 522 'len' => 20, 523 'flags' => '', 524 ), 525 ), 526 ); 527 528 529 if (!isset($quirks[$dbh->phptype])) { 530 die("This test does not yet support $dbh->phptype"); 531 } 532 533 if (count($quirks[$dbh->phptype]['commands'])) { 534 foreach ($quirks[$dbh->phptype]['commands'] as $value) { 535 eval($value); 536 } 537 } 538 539 540 $dbh->query('DELETE FROM phptest'); 541 $dbh->query("INSERT INTO phptest VALUES (1, 'one', 'One', '2001-02-16')"); 542 $dbh->query("INSERT INTO phptest VALUES (2, 'two', 'Two', '2001-02-15')"); 543 $dbh->query("INSERT INTO phptest VALUES (3, 'three', 'Three', '2001-02-14')"); 544 545 546 $dbh->setErrorHandling(PEAR_ERROR_RETURN); 547 $dbh->query('DROP TABLE phptest_fk'); 548 $dbh->setErrorHandling(PEAR_ERROR_CALLBACK, 'pe'); 549 550 551 // $null is set in mktable.inc 552 553 $dbh->query(" 554 CREATE TABLE phptest_fk ( 555 a INTEGER NOT NULL, 556 fk INTEGER NOT NULL, 557 c {$quirks[$dbh->phptype]['clob']} $null, 558 d {$quirks[$dbh->phptype]['date']} NOT NULL, 559 e CHAR(2) DEFAULT ' e' NOT NULL, 560 f DECIMAL(2,1) $null, 561 PRIMARY KEY (fk), 562 UNIQUE (a, d) 563 ) 564 "); 565 $dbh->query("CREATE INDEX thedidx ON phptest_fk (d)"); 566 $dbh->query("INSERT INTO phptest_fk VALUES (10, 1, 'One', '2001-02-16', 'c1', 1.1)"); 567 $dbh->query("INSERT INTO phptest_fk VALUES (20, 2, 'Two', '2001-02-15', 'c2', 2.2)"); 568 $dbh->query("INSERT INTO phptest_fk VALUES (30, 3, 'Three', '2001-02-14', 'c3', 3.3)"); 569 570 function &runQuery() { 571 global $dbh, $resultobj; 572 $resultobj =& $dbh->query('SELECT phptest_fk.a, phptest_fk.fk, 573 phptest_fk.c, phptest_fk.d, phptest_fk.e, phptest_fk.f, 574 phptest.a, phptest.b, phptest.c, phptest.d 575 FROM phptest_fk, phptest WHERE phptest.a = phptest_fk.fk'); 576 return $resultobj; 577 } 578 579 580 print "\n==========================================\n"; 581 print "Passing result OBJECT to method in DB_<type>.\n"; 582 print "Output = default.\n"; 583 print "------------------------------------------\n"; 584 $resultobj =& runQuery(); 585 $array = $dbh->tableInfo($resultobj); 586 587 print "\nfirst field:\n"; 588 examineArrayData($array[0], 0); 589 590 print "\ntenth field:\n"; 591 examineArrayData($array[9], 9); 592 593 594 595 print "\n==========================================\n"; 596 print "Passing result ID to method in DB_<type>.\n"; 597 print "Output = DB_TABLEINFO_ORDER.\n"; 598 print "------------------------------------------\n"; 599 $resultobj =& runQuery(); 600 $array = $dbh->tableInfo($resultobj->result, DB_TABLEINFO_ORDER); 601 602 print "\nfirst field:\n"; 603 examineArrayData($array[0], 0); 604 605 print "\nfourth field:\n"; 606 examineArrayData($array[3], 3); 607 608 print "\nnum_fields:\n"; 609 print "{$array['num_fields']}\n"; 610 611 print "\norder:\n"; 612 if (is_array($array['order'])) { 613 ksort($array['order']); 614 examineArrayData($array['order']); 615 } else { 616 print "This DMBS didn't produce proper results\n\n\n\n\n\n\n"; 617 } 618 619 620 621 print "\n==========================================\n"; 622 print "Passing DB_TABLEINFO_ORDERTABLE to method in DB_result.\n"; 623 print "Output = DB_TABLEINFO_ORDERTABLE.\n"; 624 print "------------------------------------------\n"; 625 $resultobj =& runQuery(); 626 $array = $resultobj->tableInfo(DB_TABLEINFO_ORDERTABLE); 627 // Free this to keep interbase happy. 628 $resultobj->free(); 629 630 print "\nfirst field:\n"; 631 examineArrayData($array[0], 0); 632 633 print "\nfourth field:\n"; 634 examineArrayData($array[3], 3); 635 636 print "\nnum_fields:\n"; 637 print "{$array['num_fields']}\n"; 638 639 640 print "\nordertable[phptest]:\n"; 641 $expected = 'a => 6 642 b => 7 643 c => 8 644 d => 9 645 '; 646 if (isset($array['ordertable']['phptest'])) { 647 $actual = returnArrayData($array['ordertable']['phptest']); 648 } else { 649 $actual = ''; 650 } 651 if ($actual == $expected) { 652 print "matched expected values\n"; 653 } else { 654 if ($quirks[$dbh->phptype]['finds_table'] === false && $actual == '') { 655 print "matched expected values\n"; 656 } else { 657 print "DIDN'T match expected values...\n"; 658 print "~~~~~~~~\nExpected:\n$expected\n"; 659 print "~~~~\nActual:\n$actual\n~~~~~~~~\n\n"; 660 } 661 } 662 663 664 print "\nordertable[phptest_fk]:\n"; 665 $expected = 'a => 0 666 fk => 1 667 c => 2 668 d => 3 669 e => 4 670 f => 5 671 '; 672 if (isset($array['ordertable']['phptest_fk'])) { 673 $actual = returnArrayData($array['ordertable']['phptest_fk']); 674 } else { 675 $actual = ''; 676 } 677 if ($actual == $expected) { 678 print "matched expected values\n"; 679 } else { 680 if ($quirks[$dbh->phptype]['finds_table'] === false && $actual == '') { 681 print "matched expected values\n"; 682 } else { 683 print "DIDN'T match expected values...\n"; 684 print "~~~~~~~~\nExpected:\n$expected\n"; 685 print "~~~~\nActual:\n$actual\n~~~~~~~~\n\n"; 686 } 687 } 688 689 690 print "\n==========================================\n"; 691 print "Passing TABLE NAME 'phptest_fk' to method in DB_<driver>.\n"; 692 print "Output = default.\n"; 693 print "------------------------------------------\n"; 694 $array = $dbh->tableInfo('phptest_fk'); 695 696 print "\nfirst field:\n"; 697 examineArrayData($array[0], 0, false); 698 699 print "\nsecond field:\n"; 700 examineArrayData($array[1], 1, false); 701 702 print "\nthird field:\n"; 703 examineArrayData($array[2], 2, false); 704 705 print "\nfourth field:\n"; 706 examineArrayData($array[3], 3, false); 707 708 print "\nfifth field:\n"; 709 examineArrayData($array[4], 4, false); 710 711 print "\nsixth field:\n"; 712 examineArrayData($array[5], 5, false); 713 714 715 print "\n==========================================\n"; 716 print "Passing TABLE NAME 'phptest_fk' to method in DB_<driver>.\n"; 717 print "Output = DB_TABLEINFO_FULL.\n"; 718 print "------------------------------------------\n"; 719 $array = $dbh->tableInfo('phptest_fk', DB_TABLEINFO_FULL); 720 721 print "\nfirst field:\n"; 722 examineArrayData($array[0], 0, false); 723 724 print "\norder:\n"; 725 examineArrayData($array['order'], false); 726 727 print "\nordertable[phptest_fk]:\n"; 728 examineArrayData($array['ordertable']['phptest_fk']); 729 730 731 732 print "\n==========================================\n"; 733 print "Passing TABLE NAME 'phptest_fk' to method in DB_<driver> AGAIN.\n"; 734 print "Output = DB_TABLEINFO_FULL, lowercasing turned off.\n"; 735 print "------------------------------------------\n"; 736 $dbh->setOption('portability', DB_PORTABILITY_ALL ^ DB_PORTABILITY_LOWERCASE); 737 $array = $dbh->tableInfo('phptest_fk', DB_TABLEINFO_FULL); 738 739 // testing non-lowercasing above to ensure program doesn't die. 740 // lowercase the names here to ensure test uniformity. 741 $array[0]['table'] = strtolower($array[0]['table']); 742 $array[0]['name'] = strtolower($array[0]['name']); 743 744 print "\nfirst field:\n"; 745 examineArrayData($array[0], 0, false); 746 747 748 $dbh->setErrorHandling(PEAR_ERROR_RETURN); 749 $dbh->query('DROP TABLE phptest'); 750 $dbh->query('DROP TABLE phptest_fk'); 751 752 ?> 753 --EXPECT-- 754 ========================================== 755 Passing result OBJECT to method in DB_<type>. 756 Output = default. 757 ------------------------------------------ 758 759 first field: 760 table ... matched expected value 761 name => a 762 type ... matched expected value 763 len ... matched expected value 764 flags ... matched expected value 765 766 tenth field: 767 table ... matched expected value 768 name => d 769 type ... matched expected value 770 len ... matched expected value 771 flags ... matched expected value 772 773 ========================================== 774 Passing result ID to method in DB_<type>. 775 Output = DB_TABLEINFO_ORDER. 776 ------------------------------------------ 777 778 first field: 779 table ... matched expected value 780 name => a 781 type ... matched expected value 782 len ... matched expected value 783 flags ... matched expected value 784 785 fourth field: 786 table ... matched expected value 787 name => d 788 type ... matched expected value 789 len ... matched expected value 790 flags ... matched expected value 791 792 num_fields: 793 10 794 795 order: 796 a => 6 797 b => 7 798 c => 8 799 d => 9 800 e => 4 801 f => 5 802 fk => 1 803 804 ========================================== 805 Passing DB_TABLEINFO_ORDERTABLE to method in DB_result. 806 Output = DB_TABLEINFO_ORDERTABLE. 807 ------------------------------------------ 808 809 first field: 810 table ... matched expected value 811 name => a 812 type ... matched expected value 813 len ... matched expected value 814 flags ... matched expected value 815 816 fourth field: 817 table ... matched expected value 818 name => d 819 type ... matched expected value 820 len ... matched expected value 821 flags ... matched expected value 822 823 num_fields: 824 10 825 826 ordertable[phptest]: 827 matched expected values 828 829 ordertable[phptest_fk]: 830 matched expected values 831 832 ========================================== 833 Passing TABLE NAME 'phptest_fk' to method in DB_<driver>. 834 Output = default. 835 ------------------------------------------ 836 837 first field: 838 table ... matched expected value 839 name => a 840 type ... matched expected value 841 len ... matched expected value 842 flags ... matched expected value 843 844 second field: 845 table ... matched expected value 846 name => fk 847 type ... matched expected value 848 len ... matched expected value 849 flags ... matched expected value 850 851 third field: 852 table ... matched expected value 853 name => c 854 type ... matched expected value 855 len ... matched expected value 856 flags ... matched expected value 857 858 fourth field: 859 table ... matched expected value 860 name => d 861 type ... matched expected value 862 len ... matched expected value 863 flags ... matched expected value 864 865 fifth field: 866 table ... matched expected value 867 name => e 868 type ... matched expected value 869 len ... matched expected value 870 flags ... matched expected value 871 872 sixth field: 873 table ... matched expected value 874 name => f 875 type ... matched expected value 876 len ... matched expected value 877 flags ... matched expected value 878 879 ========================================== 880 Passing TABLE NAME 'phptest_fk' to method in DB_<driver>. 881 Output = DB_TABLEINFO_FULL. 882 ------------------------------------------ 883 884 first field: 885 table ... matched expected value 886 name => a 887 type ... matched expected value 888 len ... matched expected value 889 flags ... matched expected value 890 891 order: 892 a => 0 893 fk => 1 894 c => 2 895 d => 3 896 e => 4 897 f => 5 898 899 ordertable[phptest_fk]: 900 a => 0 901 fk => 1 902 c => 2 903 d => 3 904 e => 4 905 f => 5 906 907 ========================================== 908 Passing TABLE NAME 'phptest_fk' to method in DB_<driver> AGAIN. 909 Output = DB_TABLEINFO_FULL, lowercasing turned off. 910 ------------------------------------------ 911 912 first field: 913 table ... matched expected value 914 name => a 915 type ... matched expected value 916 len ... matched expected value 917 flags ... matched expected value
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |