1#!/usr/bin/perl 2 3 4if ( (scalar(@ARGV) != 2 ) || ($ARGV[0] =~ /[^0-9]/i ) ) 5 6{ 7 8 if( $ARGV[0] =~ /[^0-9]/i ) 9 10 { 11 12 print "\n\nFirst parameter <Rowcount> should be an integer value. \n" 13 14 } 15 16 &printusage; 17 18} 19 20 21else 22 23{ 24 25 26# Case "InnoDB" 27 28 29 if ( $ARGV[1] =~ /innodb/i ) 30 31 { 32 33 34 35# First Table "tb1.txt" 36 37 38 $file = 'innodb_tb1.txt'; 39 40 open ( FILE_INPUT, ">$file"); 41 42 $oldhandle = select(FILE_INPUT); 43 44#Data type declarations 45 46 47 $s_int = 0; 48 49 $u_int = 0; 50 51 srand(); 52 53 54 #Write data to file 55 56 57 58 for ($count=0; $count < $ARGV[0]; $count++) 59 60 { 61 62 $u_int++; 63 64 $char = &get_next_char($count); 65 66 $char_0 = &get_next_char_0($count); 67 68 $longtext = &get_next_longtext($count); 69 70 $tinytext = &get_next_tinytext($count); 71 72 $s_int = &get_next_s_int($count,$ARGV[0]); 73 74 $decimal = $count. "\." .$count; 75 76 77 print ($char_0); #char(0)## 78 79 print ("\t",$char_0); #char binary(0)## 80 81 print ("\t",$char_0); #char ascii(0)## 82 83 print ("\t",$tinytext); #tiny text unicode## 84 85 print ("\t",$tinytext); #text 86 87 print ("\t",$longtext); #medium text 88 89 print ("\t",$longtext); #long text 90 91 print ("\t",$tinytext); #tiny blob 92 93 print ("\t",$tinytext); #blob 94 95 print ("\t",$longtext); #medium blob 96 97 print ("\t",$longtext); #long blob 98 99 print ("\t",$char); #binary 100 101 print ("\t",&random(127)); #tiny int 102 103 print ("\t",&random(255)); #tiny int unsigned 104 105 print ("\t",&random(127)); #tiny int zerofill 106 107 print ("\t",&random(255)); #tiny int unsigned zerofill 108 109 print ("\t",&random(32767)); #smallint 110 111 print ("\t",&random(65535)); #smallint unsigned 112 113 print ("\t",&random(32767)); #smallint zerofill 114 115 print ("\t",&random(65535)); #smallint unsigned zerofill 116 117 print ("\t",$s_int); #mediumint 118 119 print ("\t",$u_int); #mediumint unsigned 120 121 print ("\t",$u_int); #mediumint zerofill 122 123 print ("\t",$u_int); #mediumint unsigned zerofill 124 125 print ("\t",$s_int); #int 126 127 print ("\t",$u_int); #int unsigned 128 129 print ("\t",$u_int); #int zerofill 130 131 print ("\t",$u_int); #int unsigned zerofill 132 133 print ("\t",$s_int); #bigint 134 135 print ("\t",$u_int); #bigint unsigned 136 137 print ("\t",$u_int); #bigint zerofill 138 139 print ("\t",$u_int); #bigint unsigned zerofill 140 141 print ("\t",$s_int); #decimal 142 143 print ("\t",$u_int); #decimal unsigned 144 145 print ("\t",$u_int); #decimal zerofill 146 147 print ("\t",$u_int); #decimal unsigned zerofill not null 148 149 print ("\t",$s_int); #decimal(0) not null 150 151 print ("\t",$s_int); #decimal(254) not null 152 153 print ("\t",$u_int); #decimal (0) unsigned not null 154 155 print ("\t",$u_int); #decimal (254) unsigned not null 156 157 print ("\t",$u_int); #decimal(0) zerofill not null 158 159 print ("\t",$u_int); #decimal(254) zerofill not null 160 161 print ("\t",$u_int); #decimal (0) unsigned zerofill not null 162 163 print ("\t",$u_int); #decimal (254) unsigned zerofill not null 164 165 print ("\t",$s_int); #decimal (0,0) not null 166 167 print ("\t",$decimal); #decimal(253,253) not null 168 169 print ("\t",$u_int); #decimal (0,0) unsigned not null 170 171 print ("\t",$decimal); #decimal (253,253) unsigned not null 172 173 print ("\t",$u_int); #decimal(0,0) zerofill not null 174 175 print ("\t",$decimal); #decimal(253,253) zerofill not null 176 177 print ("\t",$u_int); #decimal (0,0) unsigned zerofill not null 178 179 print ("\t",$decimal); #decimal (253,253) unsigned zerofill not null 180 181 print ("\t",$s_int); #numeric not null 182 183 print ("\t",$u_int); #numeric unsigned not null 184 185 print ("\t",$u_int); #numeric zerofill not null 186 187 print ("\t",$u_int); #numeric unsigned zerofill not null 188 189 print ("\t",$s_int); #numeric(0) not null 190 191 print ("\t",$s_int); #numeric(254) not null 192 193 print ("\n"); 194 195 } 196 197 198 select ($oldhandle); 199 200 close (FILE_INPUT); 201 202 203# Second Table "tb2.txt" 204 205 206 $file = 'innodb_tb2.txt'; 207 208 open ( FILE_INPUT, ">$file"); 209 210 $oldhandle = select(FILE_INPUT); 211 212 213 $s_int = 0; 214 215 $u_int = 0; 216 217 $enum = 1; 218 219 $set = 1; 220 221 $int=0; 222 223 $current_time = "838:59:59"; 224 225 $s_time = "00:00:00"; 226 227 $s_date = "1970-01-01"; 228 229 $current_date = "1000-01-00"; 230 231 $current_year = 1901; 232 233 $u_current_float = 1.175494351e-38; 234 235 $s_current_float = -1.175494351e-38; 236 237 srand(); 238 239 240 #Write data to file 241 242 243 for ($count=0; $count < $ARGV[0]; $count++) 244 245 { 246 247 $u_int++; 248 249 $char = &get_next_char($count); 250 251 $s_int = &get_next_s_int($count,$ARGV[0]); 252 253 $longtext = &get_next_longtext($count); 254 255 $tinytext = &get_next_tinytext($count); 256 257 $decimal = $count. "\." .$count; 258 259 $int = &get_next_int($int); 260 261 $enum = &get_next_enum($enum); 262 263 $set = &get_next_set($set); 264 265 $current_date = &get_next_date($current_date); 266 267 $current_time = &get_next_time($current_time); 268 269 $current_year = &get_next_year($current_year); 270 271 $u_current_float = &get_next_float($u_current_float); 272 273 $s_current_float = &get_next_float($s_current_float); 274 275 $s_time = &get_next_s_time($s_time); 276 277 $s_date = &get_next_s_date($s_date); 278 279 $datetime = &get_next_datetime($s_date,$s_time); 280 281 $timestamp = &get_next_timestamp($s_date,$s_time); 282 283 284 print ($u_int); #numeric (0) unsigned 285 286 print ("\t",$u_int); #numeric (254) unsigned 287 288 print ("\t",$u_int); #numeric (0) zerofill 289 290 print ("\t",$u_int); #numeric (254) zerofill 291 292 print ("\t",$u_int); #numeric (0) unsigned zerofill 293 294 print ("\t",$u_int); #numeric (254) unsigned zerofill 295 296 print ("\t",$s_int); #numeric (0,0) 297 298 print ("\t",$decimal); #numeric (253,253) 299 300 print ("\t",$u_int); #numeric (0,0) unsigned 301 302 print ("\t",$decimal); #numeric (253,253) unsigned 303 304 print ("\t",$u_int); #numeric (0,0) zerofill 305 306 print ("\t",$decimal); #numeric (253,253) zerofill 307 308 print ("\t",$u_int); #numeric (0,0) unsigned zerofill 309 310 print ("\t",$decimal); #numeric (253,253) unsigned zerofill 311 312 print ("\t",$s_current_float); #real 313 314 print ("\t",$u_current_float); #real unsigned 315 316 print ("\t",$u_current_float); #real zerofill 317 318 print ("\t",$u_current_float); #real unsigned zerofill 319 320 print ("\t",$s_current_float); #double 321 322 print ("\t",$u_current_float); #double unsigned 323 324 print ("\t",$u_current_float); #double zerofill 325 326 print ("\t",$u_current_float); #double unsigned zerofill 327 328 print ("\t",$s_current_float); #float not null 329 330 print ("\t",$u_current_float); #float unsigned not null 331 332 print ("\t",$u_current_float); #float zerofill not null 333 334 print ("\t",$u_current_float); #float unsigned zerofill not null 335 336 print ("\t",$s_current_float); #float(0) not null 337 338 print ("\t",$s_current_float); #float(23) not null 339 340 print ("\t",$u_current_float); #float(0) unsigned not null 341 342 print ("\t",$u_current_float); #float(23) unsigned not null 343 344 print ("\t",$u_current_float); #float(0) zerofill not null 345 346 print ("\t",$u_current_float); #float(23) zerofill not null 347 348 print ("\t",$u_current_float); #float(0) unsigned zerofill not null 349 350 print ("\t",$u_current_float); #float(23) unsigned zerofill not null 351 352 print ("\t",$s_current_float); #float(24) not null 353 354 print ("\t",$s_current_float); #float(53) not null 355 356 print ("\t",$u_current_float); #float(24) unsigned not null 357 358 print ("\t",$u_current_float); #float(53) unsigned not null 359 360 print ("\t",$u_current_float); #float(24) zerofill not null 361 362 print ("\t",$u_current_float); #float(53) zerofill not null 363 364 print ("\t",$u_current_float); #float(24) unsigned zerofill not null 365 366 print ("\t",$u_current_float); #float(53) unsigned zerofill not null 367 368 print ("\t",$current_date); #date not null 369 370 print ("\t",$current_time); #time not null 371 372 print ("\t",$datetime); #datetime not null 373 374 print ("\t",$timestamp); #timestamp not null 375 376 print ("\t",$current_year); #year not null 377 378 print ("\t",$current_year); #year(3) not null 379 380 print ("\t",$current_year); #year(4) not null 381 382 print ("\t",$enum); #enum("1enum","2enum") not null 383 384 print ("\t",$set); #set("1set","2set") not null 385 386 print ("\n"); 387 388 } 389 390 391 select ($oldhandle); 392 393 close (FILE_INPUT); 394 395 396# Third Table "tb3.txt" 397 398 399 $file = 'innodb_tb3.txt'; 400 401 open ( FILE_INPUT, ">$file"); 402 403 $oldhandle = select(FILE_INPUT); 404 405 $u_int = 0; 406 407 srand(); 408 409 410 #Write data to file 411 412 413 for ($count=0; $count < $ARGV[0]; $count++) 414 415 { 416 417 418 $u_int++; 419 420 $char = &get_next_char($count); 421 422 $longtext = &get_next_longtext($count); 423 424 $tinytext = &get_next_tinytext($count); 425 426 $s_int = &get_next_s_int($count,$ARGV[0]); 427 428 $decimal = $count. "\." .$count; 429 430 431 print ($char); #char not null 432 433 print ("\t",$char); #char binary not null 434 435 print ("\t",$char); #char ascii not null 436 437 print ("\t",$tinytext); #tinytext not null 438 439 print ("\t",$tinytext); #text not null 440 441 print ("\t",$longtext); #mediumtext not null 442 443 print ("\t",$longtext); #longtext not null unicode## 444 445 print ("\t",$tinytext); #tinyblob not null 446 447 print ("\t",$tinytext); #blob not null 448 449 print ("\t",$longtext); #mediumblob not null 450 451 print ("\t",$longtext); #longblob not null 452 453 print ("\t",$char); #binary not null 454 455 print ("\t",&random(127)); #tinyint not null 456 457 print ("\t",&random(255)); #tinyint unsigned not null 458 459 print ("\t",&random(127)); #tinyint zerofill not null 460 461 print ("\t",&random(255)); #tinyint unsigned zerofill not null 462 463 print ("\t",&random(32767)); #smallint not null 464 465 print ("\t",&random(65535)); #smallint unsigned not null 466 467 print ("\t",&random(32767)); #smallint zerofill not null 468 469 print ("\t",&random(65535)); #smallint unsigned zerofill not null 470 471 print ("\t",$s_int); #mediumint not null 472 473 print ("\t",$u_int); #mediumint unsigned not null 474 475 print ("\t",$u_int); #mediumint zerofill not null 476 477 print ("\t",$u_int); #mediumint unsigned zerofill not null 478 479 print ("\t",$s_int); #int not null 480 481 print ("\t",$u_int); #int unsigned not null 482 483 print ("\t",$u_int); #int zerofill not null 484 485 print ("\t",$u_int); #int unsigned zerofill not null 486 487 print ("\t",$s_int); #bigint not null 488 489 print ("\t",$u_int); #bigint unsigned not null 490 491 print ("\t",$u_int); #bigint zerofill not null 492 493 print ("\t",$u_int); #bigint unsigned zerofill not null 494 495 print ("\t",$s_int); #decimal not null 496 497 print ("\t",$u_int); #decimal unsigned not null 498 499 print ("\t",$u_int); #decimal zerofill not null 500 501 print ("\t",$u_int); #decimal unsigned zerofill 502 503 print ("\t",$s_int); #decimal(0) 504 505 print ("\t",$s_int); #decimal(254) 506 507 print ("\t",$u_int); #decimal (0) unsigned 508 509 print ("\t",$u_int); #decimal (254) unsigned 510 511 print ("\t",$u_int); #decimal(0) zerofill 512 513 print ("\t",$u_int); #decimal(254) zerofill 514 515 print ("\t",$u_int); #decimal (0) unsigned zerofill 516 517 print ("\t",$u_int); #decimal (254) unsigned zerofill 518 519 print ("\t",$s_int); #decimal (0,0) 520 521 print ("\t",$decimal); #decimal(253,253) 522 523 print ("\t",$u_int); #decimal (0,0) unsigned 524 525 print ("\t",$decimal); #decimal (253,253) unsigned 526 527 print ("\t",$u_int); #decimal(0,0) zerofill 528 529 print ("\t",$decimal); #decimal(253,253) zerofill 530 531 print ("\t",$u_int); #decimal (0,0) unsigned zerofill 532 533 print ("\t",$decimal); #decimal (253,253) unsigned zerofill 534 535 print ("\t",$s_int); #numeric 536 537 print ("\t",$u_int); #numeric unsigned 538 539 print ("\t",$u_int); #numeric zerofill 540 541 print ("\t",$u_int); #numeric unsigned zerofill 542 543 print ("\t",$s_int); #numeric(0) 544 545 print ("\t",$s_int); #numeric(254) 546 547 print ("\n"); 548 549 } 550 551 552 select ($oldhandle); 553 554 close (FILE_INPUT); 555 556 557# Fourth Table "tb4.txt" 558 559 560 $file = 'innodb_tb4.txt'; 561 562 open ( FILE_INPUT, ">$file"); 563 564 $oldhandle = select(FILE_INPUT); 565 566 $enum = 1; 567 568 $ret_bit = 1; 569 570 $set = 1; 571 572 $s_int = 0; 573 574 $u_int = 0; 575 576 $int=0; 577 578 $s_time = "00:00:00"; 579 580 $s_date = "1970-01-01"; 581 582 $current_time = "838:59:59"; 583 584 $current_date = "1000-01-00"; 585 586 $current_year = 1901; 587 588 $u_current_float = 1.175494351e-38; 589 590 $s_current_float = -1.175494351e-38; 591 592 srand(); 593 594 595 #Write data to file 596 597 598 for ($count=0; $count < $ARGV[0]; $count++) 599 600 { 601 602 $u_int++; 603 604# $bit = &get_next_bit(0); 605 606 $char = &get_next_char($count); 607 608 $char_0 = &get_next_char_0($count); 609 610 $char_55 = &get_next_char_55($count); 611 612 $char_90 = &get_next_char_90($count); 613 614 $char_100 = &get_next_char_100($count); 615 616 $char_255 = &get_next_char_255($count); 617 618 $varchar_500 = &get_next_varchar_500($count); 619 620 $longtext = &get_next_longtext($count); 621 622 $tinytext = &get_next_tinytext($count); 623 624 $s_int = &get_next_s_int($count,$ARGV[0]); 625 626 $decimal = $count. "\." .$count; 627 628 $int = &get_next_int($int); 629 630 $enum = &get_next_enum($enum); 631 632 $set = &get_next_set($set); 633 634 $current_date = &get_next_date($current_date); 635 636 $current_time = &get_next_time($current_time); 637 638 $current_year = &get_next_year($current_year); 639 640 $u_current_float = &get_next_float($u_current_float); 641 642 $s_current_float = &get_next_float($s_current_float); 643 644 $s_time = &get_next_s_time($s_time); 645 646 $s_date = &get_next_s_date($s_date); 647 648 $datetime = &get_next_datetime($s_date,$s_time); 649 650 $timestamp = &get_next_timestamp($s_date,$s_time); 651 652 653 print ($u_int); #numeric (0) unsigned not null 654 655 print ("\t",$u_int); #numeric (254) unsigned not null 656 657 print ("\t",$u_int); #numeric (0) zerofill not null 658 659 print ("\t",$u_int); #numeric (254) zerofill not null 660 661 print ("\t",$u_int); #numeric (0) unsigned zerofill not null 662 663 print ("\t",$u_int); #numeric (254) unsigned zerofill not null 664 665 print ("\t",$s_int); #numeric (0,0) not null 666 667 print ("\t",$decimal); #numeric (253,253) not null 668 669 print ("\t",$u_int); #numeric (0,0) unsigned not null 670 671 print ("\t",$decimal); #numeric (253,253) unsigned not null 672 673 print ("\t",$u_int); #numeric (0,0) zerofill not null 674 675 print ("\t",$decimal); #numeric (253,253) zerofill not null 676 677 print ("\t",$u_int); #numeric (0,0) unsigned zerofill not null 678 679 print ("\t",$decimal); #numeric (253,253) unsigned zerofill not null 680 681 print ("\t",$s_current_float); #real not null 682 683 print ("\t",$u_current_float); #real unsigned not null 684 685 print ("\t",$u_current_float); #real zerofill not null 686 687 print ("\t",$u_current_float); #real unsigned zerofill not null 688 689 print ("\t",$s_current_float); #double not null 690 691 print ("\t",$u_current_float); #double unsigned not null 692 693 print ("\t",$u_current_float); #double zerofill not null 694 695 print ("\t",$u_current_float); #double unsigned zerofill not null 696 697 print ("\t",$s_current_float); #float 698 699 print ("\t",$u_current_float); #float unsi gned 700 701 print ("\t",$u_current_float); #float zerofill 702 703 print ("\t",$u_current_float); #float unsigned zerofill 704 705 print ("\t",$s_current_float); #float(0) 706 707 print ("\t",$s_current_float); #float(23) 708 709 print ("\t",$u_current_float); #float(0) unsigned 710 711 print ("\t",$u_current_float); #float(23) unsigned 712 713 print ("\t",$u_current_float); #float(0) zerofill 714 715 print ("\t",$u_current_float); #float(23) zerofill 716 717 print ("\t",$u_current_float); #float(0) unsigned zerofill 718 719 print ("\t",$u_current_float); #float(23) unsigned zerofill 720 721 print ("\t",$s_current_float); #float(24) 722 723 print ("\t",$s_current_float); #float(53) 724 725 print ("\t",$u_current_float); #float(24) unsigned 726 727 print ("\t",$u_current_float); #float(53) unsigned 728 729 print ("\t",$u_current_float); #float(24) zerofill 730 731 print ("\t",$u_current_float); #float(53) zerofill 732 733 print ("\t",$u_current_float); #float(24) unsigned zerofill 734 735 print ("\t",$u_current_float); #float(53) unsigned zerofill 736 737 print ("\t",$current_date); #date 738 739 print ("\t",$current_time); #time 740 741 print ("\t",$datetime); #datetime 742 743 print ("\t",$timestamp); #timestamp 744 745 print ("\t",$current_year); #year 746 747 print ("\t",$current_year); #year(3) 748 749 print ("\t",$current_year); #year(4) 750 751 print ("\t",$enum); #enum("1enum","2enum") 752 753 print ("\t",$set); #set("1set","2set") 754 755 print ("\t",$char_0); #char(0) unicode## 756 757 print ("\t",$char_90); #char(90)## 758 759 print ("\t",$char_255); #char(255) ascii## 760 761 print ("\t",$char_0); #varchar(0)## 762 763 print ("\t",$varchar_500); #varchar(20000) binary## 764 765 print ("\t",$varchar_500); #varchar(2000) unicode## 766 767 print ("\t",$char_100); #char(100) unicode## 768 769# print ("\t",$bit); #Bit(0)## 770 771 print ("\n"); 772 773 } 774 775 776 select ($oldhandle); 777 778 close (FILE_INPUT); 779 780 } 781 782 783 784#Next Database "MyIsam" 785 786 787 elsif ( $ARGV[1] =~ /myisam/i ) 788 789 { 790 791 792# Fifth Table "tb5.txt" 793 794 795 $file = 'myisam_tb1.txt'; 796 797 open ( FILE_INPUT, ">$file"); 798 799 $oldhandle = select(FILE_INPUT); 800 801 802 803 #Data type declarations 804 805 806 $s_int = 0; 807 808 $u_int = 0; 809 810 srand(); 811 812 813 814 #Write data to file 815 816 817 for ($count=0; $count < $ARGV[0]; $count++) 818 819 { 820 821 $u_int++; 822 823 $char = &get_next_char($count); 824 825 $longtext = &get_next_longtext($count); 826 827 $tinytext = &get_next_tinytext($count); 828 829 $s_int = &get_next_s_int($count,$ARGV[0]); 830 831 $decimal = $count. "\." .$count; 832 833 834 print ($char); #char 835 836 print ("\t",$char); #char binary 837 838 print ("\t",$char); #char ascii 839 840 print ("\t",$tinytext); #tiny text unicode## 841 842 print ("\t",$tinytext); #text 843 844 print ("\t",$longtext); #medium text 845 846 print ("\t",$longtext); #long text 847 848 print ("\t",$tinytext); #tiny blob 849 850 print ("\t",$tinytext); #blob 851 852 print ("\t",$longtext); #medium blob 853 854 print ("\t",$longtext); #long blob 855 856 print ("\t",$char); #binary 857 858 print ("\t",&random(127)); #tiny int 859 860 print ("\t",&random(255)); #tiny int unsigned 861 862 print ("\t",&random(127)); #tiny int zerofill 863 864 print ("\t",&random(255)); #tiny int unsigned zerofill 865 866 print ("\t",&random(32767)); #smallint 867 868 print ("\t",&random(65535)); #smallint unsigned 869 870 print ("\t",&random(32767)); #smallint zerofill 871 872 print ("\t",&random(65535)); #smallint unsigned zerofill 873 874 print ("\t",$s_int); #mediumint 875 876 print ("\t",$u_int); #mediumint unsigned 877 878 print ("\t",$u_int); #mediumint zerofill 879 880 print ("\t",$u_int); #mediumint unsigned zerofill 881 882 print ("\t",$s_int); #int 883 884 print ("\t",$u_int); #int unsigned 885 886 print ("\t",$u_int); #int zerofill 887 888 print ("\t",$u_int); #int unsigned zerofill 889 890 print ("\t",$s_int); #bigint 891 892 print ("\t",$u_int); #bigint unsigned 893 894 print ("\t",$u_int); #bigint zerofill 895 896 print ("\t",$u_int); #bigint unsigned zerofill 897 898 print ("\t",$s_int); #decimal not null 899 900 print ("\t",$u_int); #decimal unsigned not null 901 902 print ("\t",$u_int); #decimal zerofill not null 903 904 print ("\t",$u_int); #decimal unsigned zerofill not null 905 906 print ("\t",$s_int); #decimal(0) not null 907 908 print ("\t",$s_int); #decimal(254) not null 909 910 print ("\t",$u_int); #decimal (0) unsigned not null 911 912 print ("\t",$u_int); #decimal (254) unsigned not null 913 914 print ("\t",$u_int); #decimal(0) zerofill not null 915 916 print ("\t",$u_int); #decimal(254) zerofill not null 917 918 print ("\t",$u_int); #decimal (0) unsigned zerofill not null 919 920 print ("\t",$u_int); #decimal (254) unsigned zerofill not null 921 922 print ("\t",$s_int); #decimal (0,0) not null 923 924 print ("\t",$decimal); #decimal(253,253) not null 925 926 print ("\t",$u_int); #decimal (0,0) unsigned not null 927 928 print ("\t",$decimal); #decimal (253,253) unsigned not null 929 930 print ("\t",$u_int); #decimal(0,0) zerofill not null 931 932 print ("\t",$decimal); #decimal(253,253) zerofill not null 933 934 print ("\t",$u_int); #decimal (0,0) unsigned zerofill not null 935 936 print ("\t",$decimal); #decimal (253,253) unsigned zerofill not null 937 938 print ("\t",$s_int); #numeric not null 939 940 print ("\t",$u_int); #numeric unsigned not null 941 942 print ("\t",$u_int); #numeric zerofill not null 943 944 print ("\t",$u_int); #numeric unsigned zerofill not null 945 946 print ("\t",$s_int); #numeric(0) not null 947 948 print ("\t",$s_int); #numeric(254) not null 949 950 print ("\n"); 951 952 } 953 954 955 select ($oldhandle); 956 957 close (FILE_INPUT); 958 959 960# Sixth Table "tb6.txt" 961 962 963 $file = 'myisam_tb2.txt'; 964 965 open ( FILE_INPUT, ">$file"); 966 967 $oldhandle = select(FILE_INPUT); 968 969 970 $enum = 1; 971 972 $set = 1; 973 974 $s_int = 0; 975 976 $u_int = 0; 977 978 $int=0; 979 980 $s_time = "00:00:00"; 981 982 $s_date = "1970-01-01"; 983 984 $current_time = "838:59:59"; 985 986 $current_date = "1000-01-00"; 987 988 $current_year = 1901; 989 990 $u_current_float = 1.175494351e-38; 991 992 $s_current_float = -1.175494351e-38; 993 994 srand(); 995 996 997 #Write data to file 998 999 1000 for ($count=0; $count < $ARGV[0]; $count++) 1001 1002 { 1003 1004 $u_int++; 1005 1006 $char = &get_next_char($count); 1007 1008 $s_int = &get_next_s_int($count,$ARGV[0]); 1009 1010 $longtext = &get_next_longtext($count); 1011 1012 $tinytext = &get_next_tinytext($count); 1013 1014 $decimal = $count. "\." .$count; 1015 1016 $int = &get_next_int($int); 1017 1018 $enum = &get_next_enum($enum); 1019 1020 $set = &get_next_set($set); 1021 1022 $current_date = &get_next_date($current_date); 1023 1024 $current_time = &get_next_time($current_time); 1025 1026 $current_year = &get_next_year($current_year); 1027 1028 $u_current_float = &get_next_float($u_current_float); 1029 1030 $s_current_float = &get_next_float($s_current_float); 1031 1032 $s_time = &get_next_s_time($s_time); 1033 1034 $s_date = &get_next_s_date($s_date); 1035 1036 $datetime = &get_next_datetime($s_date,$s_time); 1037 1038 $timestamp = &get_next_timestamp($s_date,$s_time); 1039 1040 1041 $geometry = &get_next_geometry($count); 1042 1043 $point = &get_next_point($count); 1044 1045 $linestring = &get_next_linestring($count); 1046 1047 $polygon = &get_next_polygon($count); 1048 1049 $geometry_collection = &get_next_geometry_collection($count); 1050 1051 $multipoint = &get_next_multipoint($count); 1052 1053 $multilinestring = &get_next_multilinestring($count); 1054 1055 $multipolygon = &get_next_multipolygon($count); 1056 1057 1058 print ($u_int); #numeric (0) unsigned 1059 1060 print ("\t",$u_int); #numeric (254) unsigned 1061 1062 print ("\t",$u_int); #numeric (0) zerofill 1063 1064 print ("\t",$u_int); #numeric (254) zerofill 1065 1066 print ("\t",$u_int); #numeric (0) unsigned zerofill 1067 1068 print ("\t",$u_int); #numeric (254) unsigned zerofill 1069 1070 print ("\t",$s_int); #numeric (0,0) 1071 1072 print ("\t",$decimal); #numeric (253,253) 1073 1074 print ("\t",$u_int); #numeric (0,0) unsigned 1075 1076 print ("\t",$decimal); #numeric (253,253) unsigned 1077 1078 print ("\t",$u_int); #numeric (0,0) zerofill 1079 1080 print ("\t",$decimal); #numeric (253,253) zerofill 1081 1082 print ("\t",$u_int); #numeric (0,0) unsigned zerofill 1083 1084 print ("\t",$decimal); #numeric (253,253) unsigned zerofill 1085 1086 print ("\t",$s_current_float); #real 1087 1088 print ("\t",$u_current_float); #real unsigned 1089 1090 print ("\t",$u_current_float); #real zerofill 1091 1092 print ("\t",$u_current_float); #real unsigned zerofill 1093 1094 print ("\t",$s_current_float); #double 1095 1096 print ("\t",$u_current_float); #double unsigned 1097 1098 print ("\t",$u_current_float); #double zerofill 1099 1100 print ("\t",$u_current_float); #double unsigned zerofill 1101 1102 print ("\t",$s_current_float); #float not null 1103 1104 print ("\t",$u_current_float); #float unsigned not null 1105 1106 print ("\t",$u_current_float); #float zerofill not null 1107 1108 print ("\t",$u_current_float); #float unsigned zerofill not null 1109 1110 print ("\t",$s_current_float); #float(0) not null 1111 1112 print ("\t",$s_current_float); #float(23) not null 1113 1114 print ("\t",$u_current_float); #float(0) unsigned not null 1115 1116 print ("\t",$u_current_float); #float(23) unsigned not null 1117 1118 print ("\t",$u_current_float); #float(0) zerofill not null 1119 1120 print ("\t",$u_current_float); #float(23) zerofill not null 1121 1122 print ("\t",$u_current_float); #float(0) unsigned zerofill not null 1123 1124 print ("\t",$u_current_float); #float(23) unsigned zerofill not null 1125 1126 print ("\t",$s_current_float); #float(24) not null 1127 1128 print ("\t",$s_current_float); #float(53) not null 1129 1130 print ("\t",$u_current_float); #float(24) unsigned not null 1131 1132 print ("\t",$u_current_float); #float(53) unsigned not null 1133 1134 print ("\t",$u_current_float); #float(24) zerofill not null 1135 1136 print ("\t",$u_current_float); #float(53) zerofill not null 1137 1138 print ("\t",$u_current_float); #float(24) unsigned zerofill not null 1139 1140 print ("\t",$u_current_float); #float(53) unsigned zerofill not null 1141 1142 print ("\t",$current_date); #date not null 1143 1144 print ("\t",$current_time); #time not null 1145 1146 print ("\t",$datetime); #datetime not null 1147 1148 print ("\t",$timestamp); #timestamp not null 1149 1150 print ("\t",$current_year); #year not null 1151 1152 print ("\t",$current_year); #year(3) not null 1153 1154 print ("\t",$current_year); #year(4) not null 1155 1156 print ("\t",$enum); #enum("1enum","2enum") not null 1157 1158 print ("\t",$set); #set("1set","2set") not null 1159 1160 print ("\t",$geometry); #geometry not null 1161 1162 print ("\t",$point); #point not null 1163 1164 print ("\t",$linestring); #linestring not null 1165 1166 print ("\t",$polygon); #polygon not null 1167 1168 print ("\t",$geometry_collection); #geometrycollection not null 1169 1170 print ("\t",$multipoint); #multipoint not null 1171 1172 print ("\t",$multilinestring); #multilinestring not null 1173 1174 print ("\t",$multipolygon); #multipolygon not null 1175 1176 1177#geometry not null, point not null, linestring not null, polygon not null, geometrycollection not null, multipoint not null, multilinestring not null, multipolygon not null 1178 1179 1180 1181 print ("\n"); 1182 1183 } 1184 1185 1186 select ($oldhandle); 1187 1188 close (FILE_INPUT); 1189 1190 1191# Seventh Table "tb7.txt" 1192 1193 1194 $file = 'myisam_tb3.txt'; 1195 1196 open ( FILE_INPUT, ">$file"); 1197 1198 $oldhandle = select(FILE_INPUT); 1199 1200 $u_int = 0; 1201 1202 srand(); 1203 1204 1205 #Write data to file 1206 1207 for ($count=0; $count < $ARGV[0]; $count++) 1208 1209 { 1210 1211 1212 $u_int++; 1213 1214 $char = &get_next_char($count); 1215 1216 $longtext = &get_next_longtext($count); 1217 1218 $tinytext = &get_next_tinytext($count); 1219 1220 $s_int = &get_next_s_int($count,$ARGV[0]); 1221 1222 $decimal = $count. "\." .$count; 1223 1224 1225 print ($char); #char not null 1226 1227 print ("\t",$char); #char binary not null 1228 1229 print ("\t",$char); #char ascii not null 1230 1231 print ("\t",$tinytext); #tinytext not null 1232 1233 print ("\t",$tinytext); #text not null 1234 1235 print ("\t",$longtext); #mediumtext not null 1236 1237 print ("\t",$longtext); #longtext not null unicode## 1238 1239 print ("\t",$tinytext); #tinyblob not null 1240 1241 print ("\t",$tinytext); #blob not null 1242 1243 print ("\t",$longtext); #mediumblob not null 1244 1245 print ("\t",$longtext); #longblob not null 1246 1247 print ("\t",$char); #binary not null 1248 1249 print ("\t",&random(127)); #tinyint not null 1250 1251 print ("\t",&random(255)); #tinyint unsigned not null 1252 1253 print ("\t",&random(127)); #tinyint zerofill not null 1254 1255 print ("\t",&random(255)); #tinyint unsigned zerofill not null 1256 1257 print ("\t",&random(32767)); #smallint not null 1258 1259 print ("\t",&random(65535)); #smallint unsigned not null 1260 1261 print ("\t",&random(32767)); #smallint zerofill not null 1262 1263 print ("\t",&random(65535)); #smallint unsigned zerofill not null 1264 1265 print ("\t",$s_int); #mediumint not null 1266 1267 print ("\t",$u_int); #mediumint unsigned not null 1268 1269 print ("\t",$u_int); #mediumint zerofill not null 1270 1271 print ("\t",$u_int); #mediumint unsigned zerofill not null 1272 1273 print ("\t",$s_int); #int not null 1274 1275 print ("\t",$u_int); #int unsigned not null 1276 1277 print ("\t",$u_int); #int zerofill not null 1278 1279 print ("\t",$u_int); #int unsigned zerofill not null 1280 1281 print ("\t",$s_int); #bigint not null 1282 1283 print ("\t",$u_int); #bigint unsigned not null 1284 1285 print ("\t",$u_int); #bigint zerofill not null 1286 1287 print ("\t",$u_int); #bigint unsigned zerofill not null 1288 1289 print ("\t",$s_int); #decimal 1290 1291 print ("\t",$u_int); #decimal unsigned 1292 1293 print ("\t",$u_int); #decimal zerofill 1294 1295 print ("\t",$u_int); #decimal unsigned zerofill 1296 1297 print ("\t",$s_int); #decimal(0) 1298 1299 print ("\t",$s_int); #decimal(254) 1300 1301 print ("\t",$u_int); #decimal (0) unsigned 1302 1303 print ("\t",$u_int); #decimal (254) unsigned 1304 1305 print ("\t",$u_int); #decimal(0) zerofill 1306 1307 print ("\t",$u_int); #decimal(254) zerofill 1308 1309 print ("\t",$u_int); #decimal (0) unsigned zerofill 1310 1311 print ("\t",$u_int); #decimal (254) unsigned zerofill 1312 1313 print ("\t",$s_int); #decimal (0,0) 1314 1315 print ("\t",$decimal); #decimal(253,253) 1316 1317 print ("\t",$u_int); #decimal (0,0) unsigned 1318 1319 print ("\t",$decimal); #decimal (253,253) unsigned 1320 1321 print ("\t",$u_int); #decimal(0,0) zerofill 1322 1323 print ("\t",$decimal); #decimal(253,253) zerofill 1324 1325 print ("\t",$u_int); #decimal (0,0) unsigned zerofill 1326 1327 print ("\t",$decimal); #decimal (253,253) unsigned zerofill 1328 1329 print ("\t",$s_int); #numeric 1330 1331 print ("\t",$u_int); #numeric unsigned 1332 1333 print ("\t",$u_int); #numeric zerofill 1334 1335 print ("\t",$u_int); #numeric unsigned zerofill 1336 1337 print ("\t",$s_int); #numeric(0) 1338 1339 print ("\t",$s_int); #numeric(254) 1340 1341 print ("\n"); 1342 1343 } 1344 1345 1346 select ($oldhandle); 1347 1348 close (FILE_INPUT); 1349 1350 1351# Eighth Table "tb8.txt" 1352 1353 1354 $file = 'myisam_tb4.txt'; 1355 1356 open ( FILE_INPUT, ">$file"); 1357 1358 $oldhandle = select(FILE_INPUT); 1359 1360 1361 $enum = 1; 1362 1363 $set = 1; 1364 1365 $ret_bit = 1; 1366 1367 $s_int = 0; 1368 1369 $u_int = 0; 1370 1371 $s_time = "00:00:00"; 1372 1373 $s_date = "1970-01-01"; 1374 1375 $int=0; 1376 1377 $current_time = "838:59:59"; 1378 1379 $current_date = "1000-01-00"; 1380 1381 $current_year = 1901; 1382 1383 $u_current_float = 1.175494351e-38; 1384 1385 $s_current_float = -1.175494351e-38; 1386 1387 srand(); 1388 1389 1390 #Write data to file 1391 1392 for ($count=0; $count < $ARGV[0]; $count++) 1393 1394 { 1395 1396 $u_int++; 1397 1398 $bit = &get_next_bit(30); 1399 1400 $char = &get_next_char($count); 1401 1402 $char_0 = &get_next_char_0($count); 1403 1404 $char_55 = &get_next_char_55($count); 1405 1406 $char_90 = &get_next_char_90($count); 1407 1408 $char_100 = &get_next_char_100($count); 1409 1410 $char_255 = &get_next_char_255($count); 1411 1412 $varchar_500 = &get_next_varchar_500($count); 1413 1414 $longtext = &get_next_longtext($count); 1415 1416 $tinytext = &get_next_tinytext($count); 1417 1418 $s_int = &get_next_s_int($count,$ARGV[0]); 1419 1420 $decimal = $count. "\." .$count; 1421 1422 $enum = &get_next_enum($enum); 1423 1424 $set = &get_next_set($set); 1425 1426 $current_date = &get_next_date($current_date); 1427 1428 $current_time = &get_next_time($current_time); 1429 1430 $current_year = &get_next_year($current_year); 1431 1432 $u_current_float = &get_next_float($u_current_float); 1433 1434 $s_current_float = &get_next_float($s_current_float); 1435 1436 $s_time = &get_next_s_time($s_time); 1437 1438 $s_date = &get_next_s_date($s_date); 1439 1440 $datetime = &get_next_datetime($s_date,$s_time); 1441 1442 $timestamp = &get_next_timestamp($s_date,$s_time); 1443 1444 $geometry = &get_next_geometry($count); 1445 1446 $point = &get_next_point($count); 1447 1448 $linestring = &get_next_linestring($count); 1449 1450 $polygon = &get_next_polygon($count); 1451 1452 $geometry_collection = &get_next_geometry_collection($count); 1453 1454 $multipoint = &get_next_multipoint($count); 1455 1456 $multilinestring = &get_next_multilinestring($count); 1457 1458 $multipolygon = &get_next_multipolygon($count); 1459 1460 1461 print ($u_int); #numeric (0) unsigned not null 1462 1463 print ("\t",$u_int); #numeric (254) unsigned not null 1464 1465 print ("\t",$u_int); #numeric (0) zerofill not null 1466 1467 print ("\t",$u_int); #numeric (254) zerofill not null 1468 1469 print ("\t",$u_int); #numeric (0) unsigned zerofill not null 1470 1471 print ("\t",$u_int); #numeric (254) unsigned zerofill not null 1472 1473 print ("\t",$s_int); #numeric (0,0) not null 1474 1475 print ("\t",$decimal); #numeric (253,253) not null 1476 1477 print ("\t",$u_int); #numeric (0,0) unsigned not null 1478 1479 print ("\t",$decimal); #numeric (253,253) unsigned not null 1480 1481 print ("\t",$u_int); #numeric (0,0) zerofill not null 1482 1483 print ("\t",$decimal); #numeric (253,253) zerofill not null 1484 1485 print ("\t",$u_int); #numeric (0,0) unsigned zerofill not null 1486 1487 print ("\t",$decimal); #numeric (253,253) unsigned zerofill not null 1488 1489 print ("\t",$s_current_float); #real not null 1490 1491 print ("\t",$u_current_float); #real unsigned not null 1492 1493 print ("\t",$u_current_float); #real zerofill not null 1494 1495 print ("\t",$u_current_float); #real unsigned zerofill not null 1496 1497 print ("\t",$s_current_float); #double not null 1498 1499 print ("\t",$u_current_float); #double unsigned not null 1500 1501 print ("\t",$u_current_float); #double zerofill not null 1502 1503 print ("\t",$u_current_float); #double unsigned zerofill not null 1504 1505 print ("\t",$s_current_float); #float 1506 1507 print ("\t",$u_current_float); #float unsigned 1508 1509 print ("\t",$u_current_float); #float zerofill 1510 1511 print ("\t",$u_current_float); #float unsigned zerofill 1512 1513 print ("\t",$s_current_float); #float(0) 1514 1515 print ("\t",$s_current_float); #float(23) 1516 1517 print ("\t",$u_current_float); #float(0) unsigned 1518 1519 print ("\t",$u_current_float); #float(23) unsigned 1520 1521 print ("\t",$u_current_float); #float(0) zerofill 1522 1523 print ("\t",$u_current_float); #float(23) zerofill 1524 1525 print ("\t",$u_current_float); #float(0) unsigned zerofill 1526 1527 print ("\t",$u_current_float); #float(23) unsigned zerofill 1528 1529 print ("\t",$s_current_float); #float(24) 1530 1531 print ("\t",$s_current_float); #float(53) 1532 1533 print ("\t",$u_current_float); #float(24) unsigned 1534 1535 print ("\t",$u_current_float); #float(53) unsigned 1536 1537 print ("\t",$u_current_float); #float(24) zerofill 1538 1539 print ("\t",$u_current_float); #float(53) zerofill 1540 1541 print ("\t",$u_current_float); #float(24) unsigned zerofill 1542 1543 print ("\t",$u_current_float); #float(53) unsigned zerofill 1544 1545 print ("\t",$current_date); #date 1546 1547 print ("\t",$current_time); #time 1548 1549 print ("\t",$datetime); #datetime 1550 1551 print ("\t",$timestamp); #timestamp 1552 1553 print ("\t",$current_year); #year 1554 1555 print ("\t",$current_year); #year(3) 1556 1557 print ("\t",$current_year); #year(4) 1558 1559 print ("\t",$enum); #enum("1enum","2enum") 1560 1561 print ("\t",$set); #set("1set","2set") 1562 1563 print ("\t",$geometry); #geometry 1564 1565 print ("\t",$point); #point 1566 1567 print ("\t",$linestring); #linestring 1568 1569 print ("\t",$polygon); #polygon 1570 1571 print ("\t",$geometry_collection); #geometrycollection 1572 1573 print ("\t",$multipoint); #multipoint 1574 1575 print ("\t",$multilinestring); #multilinestring 1576 1577 print ("\t",$multipolygon); #multipolygon 1578 1579 print ("\t",$char_255); #char(255) unicode## 1580 1581 print ("\t",$char_55); #char(60) ascii## 1582 1583 print ("\t",$char_255); #char(255) binary## 1584 1585 print ("\t",$char_0); #varchar(0) binary## 1586 1587 print ("\t",$varchar_500); #varbinary(20000)## 1588 1589 print ("\t",$char_100); #varchar(120) unicode## 1590 1591 print ("\t",$char_100); #char(100) unicode## 1592 1593 print ("\t",$bit); #bit(30)## 1594 1595#geometry, point, linestring, polygon, geometrycollection, multipoint, multilinestring, multipolygon 1596 1597 1598 print ("\n"); 1599 1600 } 1601 1602 select ($oldhandle); 1603 1604 close (FILE_INPUT); 1605 1606 } 1607 1608 1609 1610 elsif ( $ARGV[1] =~ /memory/i ) 1611 1612 { 1613 1614 1615# Ninth Table "tb9.txt" 1616 1617 1618 $file = 'memory_tb1.txt'; 1619 1620 open ( FILE_INPUT, ">$file"); 1621 1622 $oldhandle = select(FILE_INPUT); 1623 1624 1625 1626 #Data type declarations 1627 1628 1629 $s_int = 0; 1630 1631 $u_int = 0; 1632 1633 srand(); 1634 1635 1636 1637 #Write data to file 1638 1639 for ($count=0; $count < $ARGV[0]; $count++) 1640 1641 { 1642 1643 $u_int++; 1644 1645 $char = &get_next_char($count); 1646 1647 $longtext = &get_next_longtext($count); 1648 1649 $tinytext = &get_next_tinytext($count); 1650 1651 $s_int = &get_next_s_int($count,$ARGV[0]); 1652 1653 $decimal = $count. "\." .$count; 1654 1655 1656 print ($char); #char 1657 1658 print ("\t",$char); #char binary 1659 1660 print ("\t",$char); #char ascii 1661 1662 print ("\t",$char); #binary 1663 1664 print ("\t",&random(127)); #tiny int 1665 1666 print ("\t",&random(255)); #tiny int unsigned 1667 1668 print ("\t",&random(127)); #tiny int zerofill 1669 1670 print ("\t",&random(255)); #tiny int unsigned zerofill 1671 1672 print ("\t",&random(32767)); #smallint 1673 1674 print ("\t",&random(65535)); #smallint unsigned 1675 1676 print ("\t",&random(32767)); #smallint zerofill 1677 1678 print ("\t",&random(65535)); #smallint unsigned zerofill 1679 1680 print ("\t",$s_int); #mediumint 1681 1682 print ("\t",$u_int); #mediumint unsigned 1683 1684 print ("\t",$u_int); #mediumint zerofill 1685 1686 print ("\t",$u_int); #mediumint unsigned zerofill 1687 1688 print ("\t",$s_int); #int 1689 1690 print ("\t",$u_int); #int unsigned 1691 1692 print ("\t",$u_int); #int zerofill 1693 1694 print ("\t",$u_int); #int unsigned zerofill 1695 1696 print ("\t",$s_int); #bigint 1697 1698 print ("\t",$u_int); #bigint unsigned 1699 1700 print ("\t",$u_int); #bigint zerofill 1701 1702 print ("\t",$u_int); #bigint unsigned zerofill 1703 1704 print ("\t",$s_int); #decimal 1705 1706 print ("\t",$u_int); #decimal unsigned 1707 1708 print ("\t",$u_int); #decimal zerofill 1709 1710 print ("\t",$u_int); #decimal unsigned zerofill not null 1711 1712 print ("\t",$s_int); #decimal(0) not null 1713 1714 print ("\t",$s_int); #decimal(254) not null 1715 1716 print ("\t",$u_int); #decimal (0) unsigned not null 1717 1718 print ("\t",$u_int); #decimal (254) unsigned not null 1719 1720 print ("\t",$u_int); #decimal(0) zerofill not null 1721 1722 print ("\t",$u_int); #decimal(254) zerofill not null 1723 1724 print ("\t",$u_int); #decimal (0) unsigned zerofill not null 1725 1726 print ("\t",$u_int); #decimal (254) unsigned zerofill not null 1727 1728 print ("\t",$s_int); #decimal (0,0) not null 1729 1730 print ("\t",$decimal); #decimal(253,253) not null 1731 1732 print ("\t",$u_int); #decimal (0,0) unsigned not null 1733 1734 print ("\t",$decimal); #decimal (253,253) unsigned not null 1735 1736 print ("\t",$u_int); #decimal(0,0) zerofill not null 1737 1738 print ("\t",$decimal); #decimal(253,253) zerofill not null 1739 1740 print ("\t",$u_int); #decimal (0,0) unsigned zerofill not null 1741 1742 print ("\t",$decimal); #decimal (253,253) unsigned zerofill not null 1743 1744 print ("\t",$s_int); #numeric not null 1745 1746 print ("\t",$u_int); #numeric unsigned not null 1747 1748 print ("\t",$u_int); #numeric zerofill not null 1749 1750 print ("\t",$u_int); #numeric unsigned zerofill not null 1751 1752 print ("\t",$s_int); #numeric(0) not null 1753 1754 print ("\t",$s_int); #numeric(254) not null 1755 1756 print ("\n"); 1757 1758 } 1759 1760 1761 select ($oldhandle); 1762 1763 close (FILE_INPUT); 1764 1765 1766 1767 1768# Tenth Table "tb10.txt" 1769 1770 1771 $file = 'memory_tb2.txt'; 1772 1773 open ( FILE_INPUT, ">$file"); 1774 1775 $oldhandle = select(FILE_INPUT); 1776 1777 1778 $enum = 1; 1779 1780 $set = 1; 1781 1782 $s_int = 0; 1783 1784 $u_int = 0; 1785 1786 $s_time = "00:00:00"; 1787 1788 $s_date = "1970-01-01"; 1789 1790 $int=0; 1791 1792 $current_time = "838:59:59"; 1793 1794 $current_date = "1000-01-00"; 1795 1796 $current_year = 1901; 1797 1798 $u_current_float = 1.175494351e-38; 1799 1800 $s_current_float = -1.175494351e-38; 1801 1802 srand(); 1803 1804 1805 #Write data to file 1806 1807 1808 for ($count=0; $count < $ARGV[0]; $count++) 1809 1810 { 1811 1812 $u_int++; 1813 1814 $char = &get_next_char($count); 1815 1816 $s_int = &get_next_s_int($count,$ARGV[0]); 1817 1818 $longtext = &get_next_longtext($count); 1819 1820 $tinytext = &get_next_tinytext($count); 1821 1822 $decimal = $count. "\." .$count; 1823 1824 $int = &get_next_int($int); 1825 1826 $enum = &get_next_enum($enum); 1827 1828 $set = &get_next_set($set); 1829 1830 $current_date = &get_next_date($current_date); 1831 1832 $current_time = &get_next_time($current_time); 1833 1834 $current_year = &get_next_year($current_year); 1835 1836 $u_current_float = &get_next_float($u_current_float); 1837 1838 $s_current_float = &get_next_float($s_current_float); 1839 1840 $s_time = &get_next_s_time($s_time); 1841 1842 $s_date = &get_next_s_date($s_date); 1843 1844 $datetime = &get_next_datetime($s_date,$s_time); 1845 1846 $timestamp = &get_next_timestamp($s_date,$s_time); 1847 1848 1849 print ($u_int); #numeric (0) unsigned 1850 1851 print ("\t",$u_int); #numeric (254) unsigned 1852 1853 print ("\t",$u_int); #numeric (0) zerofill 1854 1855 print ("\t",$u_int); #numeric (254) zerofill 1856 1857 print ("\t",$u_int); #numeric (0) unsigned zerofill 1858 1859 print ("\t",$u_int); #numeric (254) unsigned zerofill 1860 1861 print ("\t",$s_int); #numeric (0,0) 1862 1863 print ("\t",$decimal); #numeric (253,253) 1864 1865 print ("\t",$u_int); #numeric (0,0) unsigned 1866 1867 print ("\t",$decimal); #numeric (253,253) unsigned 1868 1869 print ("\t",$u_int); #numeric (0,0) zerofill 1870 1871 print ("\t",$decimal); #numeric (253,253) zerofill 1872 1873 print ("\t",$u_int); #numeric (0,0) unsigned zerofill 1874 1875 print ("\t",$decimal); #numeric (253,253) unsigned zerofill 1876 1877 print ("\t",$s_current_float); #real 1878 1879 print ("\t",$u_current_float); #real unsigned 1880 1881 print ("\t",$u_current_float); #real zerofill 1882 1883 print ("\t",$u_current_float); #real unsigned zerofill 1884 1885 print ("\t",$s_current_float); #double 1886 1887 print ("\t",$u_current_float); #double unsigned 1888 1889 print ("\t",$u_current_float); #double zerofill 1890 1891 print ("\t",$u_current_float); #double unsigned zerofill 1892 1893 print ("\t",$s_current_float); #float not null 1894 1895 print ("\t",$u_current_float); #float unsigned not null 1896 1897 print ("\t",$u_current_float); #float zerofill not null 1898 1899 print ("\t",$u_current_float); #float unsigned zerofill not null 1900 1901 print ("\t",$s_current_float); #float(0) not null 1902 1903 print ("\t",$s_current_float); #float(23) not null 1904 1905 print ("\t",$u_current_float); #float(0) unsigned not null 1906 1907 print ("\t",$u_current_float); #float(23) unsigned not null 1908 1909 print ("\t",$u_current_float); #float(0) zerofill not null 1910 1911 print ("\t",$u_current_float); #float(23) zerofill not null 1912 1913 print ("\t",$u_current_float); #float(0) unsigned zerofill not null 1914 1915 print ("\t",$u_current_float); #float(23) unsigned zerofill not null 1916 1917 print ("\t",$s_current_float); #float(24) not null 1918 1919 print ("\t",$s_current_float); #float(53) not null 1920 1921 print ("\t",$u_current_float); #float(24) unsigned not null 1922 1923 print ("\t",$u_current_float); #float(53) unsigned not null 1924 1925 print ("\t",$u_current_float); #float(24) zerofill not null 1926 1927 print ("\t",$u_current_float); #float(53) zerofill not null 1928 1929 print ("\t",$u_current_float); #float(24) unsigned zerofill not null 1930 1931 print ("\t",$u_current_float); #float(53) unsigned zerofill not null 1932 1933 print ("\t",$current_date); #date not null 1934 1935 print ("\t",$current_time); #time not null 1936 1937 print ("\t",$datetime); #datetime not null 1938 1939 print ("\t",$timestamp); #timestamp not null 1940 1941 print ("\t",$current_year); #year not null 1942 1943 print ("\t",$current_year); #year(3) not null 1944 1945 print ("\t",$current_year); #year(4) not null 1946 1947 print ("\t",$enum); #enum("1enum","2enum") not null 1948 1949 print ("\t",$set); #set("1set","2set") not null 1950 1951 print ("\n"); 1952 1953 } 1954 1955 1956 select ($oldhandle); 1957 1958 close (FILE_INPUT); 1959 1960 1961 1962# Eleventh Table "tb11.txt" 1963 1964 1965 $file = 'memory_tb3.txt'; 1966 1967 open ( FILE_INPUT, ">$file"); 1968 1969 $oldhandle = select(FILE_INPUT); 1970 1971 $u_int = 0; 1972 1973 srand(); 1974 1975 1976 #Write data to file 1977 1978 1979 for ($count=0; $count < $ARGV[0]; $count++) 1980 1981 { 1982 1983 1984 $u_int++; 1985 1986 $char = &get_next_char($count); 1987 1988 $longtext = &get_next_longtext($count); 1989 1990 $tinytext = &get_next_tinytext($count); 1991 1992 $s_int = &get_next_s_int($count,$ARGV[0]); 1993 1994 $decimal = $count. "\." .$count; 1995 1996 1997 print ($char); #char not null 1998 1999 print ("\t",$char); #char binary not null 2000 2001 print ("\t",$char); #char ascii not null 2002 2003# OBN - Added two strings to address the missing f121, f122 used in trigger testing 2004# as char(50). In MyISAM, innodb they are text and tinytext 2005 print ("\t",$char); #char (50) 2006 print ("\t",$char); #char (50) 2007# OBN - End of modification 2008 2009 print ("\t",$char); #binary not null 2010 2011 print ("\t",&random(127)); #tinyint not null 2012 2013 print ("\t",&random(255)); #tinyint unsigned not null 2014 2015 print ("\t",&random(127)); #tinyint zerofill not null 2016 2017 print ("\t",&random(255)); #tinyint unsigned zerofill not null 2018 2019 print ("\t",&random(32767)); #smallint not null 2020 2021 print ("\t",&random(65535)); #smallint unsigned not null 2022 2023 print ("\t",&random(32767)); #smallint zerofill not null 2024 2025 print ("\t",&random(65535)); #smallint unsigned zerofill not null 2026 2027 print ("\t",$s_int); #mediumint not null 2028 2029 print ("\t",$u_int); #mediumint unsigned not null 2030 2031 print ("\t",$u_int); #mediumint zerofill not null 2032 2033 print ("\t",$u_int); #mediumint unsigned zerofill not null 2034 2035 print ("\t",$s_int); #int not null 2036 2037 print ("\t",$u_int); #int unsigned not null 2038 2039 print ("\t",$u_int); #int zerofill not null 2040 2041 print ("\t",$u_int); #int unsigned zerofill not null 2042 2043 print ("\t",$s_int); #bigint not null 2044 2045 print ("\t",$u_int); #bigint unsigned not null 2046 2047 print ("\t",$u_int); #bigint zerofill not null 2048 2049 print ("\t",$u_int); #bigint unsigned zerofill not null 2050 2051 print ("\t",$s_int); #decimal not null 2052 2053 print ("\t",$u_int); #decimal unsigned not null 2054 2055 print ("\t",$u_int); #decimal zerofill not null 2056 2057 print ("\t",$u_int); #decimal unsigned zerofill 2058 2059 print ("\t",$s_int); #decimal(0) 2060 2061 print ("\t",$s_int); #decimal(254) 2062 2063 print ("\t",$u_int); #decimal (0) unsigned 2064 2065 print ("\t",$u_int); #decimal (254) unsigned 2066 2067 print ("\t",$u_int); #decimal(0) zerofill 2068 2069 print ("\t",$u_int); #decimal(254) zerofill 2070 2071 print ("\t",$u_int); #decimal (0) unsigned zerofill 2072 2073 print ("\t",$u_int); #decimal (254) unsigned zerofill 2074 2075 print ("\t",$s_int); #decimal (0,0) 2076 2077 print ("\t",$decimal); #decimal(253,253) 2078 2079 print ("\t",$u_int); #decimal (0,0) unsigned 2080 2081 print ("\t",$decimal); #decimal (253,253) unsigned 2082 2083 print ("\t",$u_int); #decimal(0,0) zerofill 2084 2085 print ("\t",$decimal); #decimal(253,253) zerofill 2086 2087 print ("\t",$u_int); #decimal (0,0) unsigned zerofill 2088 2089 print ("\t",$decimal); #decimal (253,253) unsigned zerofill 2090 2091 print ("\t",$s_int); #numeric 2092 2093 print ("\t",$u_int); #numeric unsigned 2094 2095 print ("\t",$u_int); #numeric zerofill 2096 2097 print ("\t",$u_int); #numeric unsigned zerofill 2098 2099 print ("\t",$s_int); #numeric(0) 2100 2101 print ("\t",$s_int); #numeric(254) 2102 2103 print ("\n"); 2104 2105 } 2106 2107 2108 select ($oldhandle); 2109 2110 close (FILE_INPUT); 2111 2112 2113 2114# Twelfth Table "tb12.txt" 2115 2116 2117 $file = 'memory_tb4.txt'; 2118 2119 open ( FILE_INPUT, ">$file"); 2120 2121 $oldhandle = select(FILE_INPUT); 2122 2123 2124 $enum = 1; 2125 2126 $ret_bit = 1; 2127 2128 $set = 1; 2129 2130 $s_int = 0; 2131 2132 $u_int = 0; 2133 2134 $s_time = "00:00:00"; 2135 2136 $s_date = "1970-01-01"; 2137 2138 $int=0; 2139 2140 $current_time = "838:59:59"; 2141 2142 $current_date = "1000-01-00"; 2143 2144 $current_year = 1901; 2145 2146 $u_current_float = 1.175494351e-38; 2147 2148 $s_current_float = -1.175494351e-38; 2149 2150 srand(); 2151 2152 2153 #Write data to file 2154 2155 for ($count=0; $count < $ARGV[0]; $count++) 2156 2157 { 2158 2159 $u_int++; 2160 2161# $bit = &get_next_bit(64); 2162 2163 $char = &get_next_char($count); 2164 2165 $char_0 = &get_next_char_0($count); 2166 2167 $char_55 = &get_next_char_55($count); 2168 2169 $char_90 = &get_next_char_90($count); 2170 2171 $char_100 = &get_next_char_100($count); 2172 2173 $char_255 = &get_next_char_255($count); 2174 2175 $varchar_500 = &get_next_varchar_500($count); 2176 2177 $longtext = &get_next_longtext($count); 2178 2179 $tinytext = &get_next_tinytext($count); 2180 2181 $s_int = &get_next_s_int($count,$ARGV[0]); 2182 2183 $decimal = $count. "\." .$count; 2184 2185 $int = &get_next_int($int); 2186 2187 $enum = &get_next_enum($enum); 2188 2189 $set = &get_next_set($set); 2190 2191 $current_date = &get_next_date($current_date); 2192 2193 $current_time = &get_next_time($current_time); 2194 2195 $current_year = &get_next_year($current_year); 2196 2197 $u_current_float = &get_next_float($u_current_float); 2198 2199 $s_current_float = &get_next_float($s_current_float); 2200 2201 $s_time = &get_next_s_time($s_time); 2202 2203 $s_date = &get_next_s_date($s_date); 2204 2205 $datetime = &get_next_datetime($s_date,$s_time); 2206 2207 $timestamp = &get_next_timestamp($s_date,$s_time); 2208 2209 2210 print ($u_int); #numeric (0) unsigned not null 2211 2212 print ("\t",$u_int); #numeric (254) unsigned not null 2213 2214 print ("\t",$u_int); #numeric (0) zerofill not null 2215 2216 print ("\t",$u_int); #numeric (254) zerofill not null 2217 2218 print ("\t",$u_int); #numeric (0) unsigned zerofill not null 2219 2220 print ("\t",$u_int); #numeric (254) unsigned zerofill not null 2221 2222 print ("\t",$s_int); #numeric (0,0) not null 2223 2224 print ("\t",$decimal); #numeric (253,253) not null 2225 2226 print ("\t",$u_int); #numeric (0,0) unsigned not null 2227 2228 print ("\t",$decimal); #numeric (253,253) unsigned not null 2229 2230 print ("\t",$u_int); #numeric (0,0) zerofill not null 2231 2232 print ("\t",$decimal); #numeric (253,253) zerofill not null 2233 2234 print ("\t",$u_int); #numeric (0,0) unsigned zerofill not null 2235 2236 print ("\t",$decimal); #numeric (253,253) unsigned zerofill not null 2237 2238 print ("\t",$s_current_float); #real not null 2239 2240 print ("\t",$u_current_float); #real unsigned not null 2241 2242 print ("\t",$u_current_float); #real zerofill not null 2243 2244 print ("\t",$u_current_float); #real unsigned zerofill not null 2245 2246 print ("\t",$s_current_float); #double not null 2247 2248 print ("\t",$u_current_float); #double unsigned not null 2249 2250 print ("\t",$u_current_float); #double zerofill not null 2251 2252 print ("\t",$u_current_float); #double unsigned zerofill not null 2253 2254 print ("\t",$s_current_float); #float 2255 2256 print ("\t",$u_current_float); #float unsigned 2257 2258 print ("\t",$u_current_float); #float zerofill 2259 2260 print ("\t",$u_current_float); #float unsigned zerofill 2261 2262 print ("\t",$s_current_float); #float(0) 2263 2264 print ("\t",$s_current_float); #float(23) 2265 2266 print ("\t",$u_current_float); #float(0) unsigned 2267 2268 print ("\t",$u_current_float); #float(23) unsigned 2269 2270 print ("\t",$u_current_float); #float(0) zerofill 2271 2272 print ("\t",$u_current_float); #float(23) zerofill 2273 2274 print ("\t",$u_current_float); #float(0) unsigned zerofill 2275 2276 print ("\t",$u_current_float); #float(23) unsigned zerofill 2277 2278 print ("\t",$s_current_float); #float(24) 2279 2280 print ("\t",$s_current_float); #float(53) 2281 2282 print ("\t",$u_current_float); #float(24) unsigned 2283 2284 print ("\t",$u_current_float); #float(53) unsigned 2285 2286 print ("\t",$u_current_float); #float(24) zerofill 2287 2288 print ("\t",$u_current_float); #float(53) zerofill 2289 2290 print ("\t",$u_current_float); #float(24) unsigned zerofill 2291 2292 print ("\t",$u_current_float); #float(53) unsigned zerofill 2293 2294 print ("\t",$current_date); #date 2295 2296 print ("\t",$current_time); #time 2297 2298 print ("\t",$datetime); #datetime 2299 2300 print ("\t",$timestamp); #timestamp 2301 2302 print ("\t",$current_year); #year 2303 2304 print ("\t",$current_year); #year(3) 2305 2306 print ("\t",$current_year); #year(4) 2307 2308 print ("\t",$enum); #enum("1enum","2enum") 2309 2310 print ("\t",$set); #set("1set","2set") 2311 2312 print ("\t",$char_90); #char(95) unicode## 2313 2314 print ("\t",$char_255); #char(255) unicode## 2315 2316 print ("\t",$char_100); #char(130) binary## 2317 2318 print ("\t",$varchar_500); #varchar(25000) binary## 2319 2320 print ("\t",$char_0); #varbinary(0)## 2321 2322 print ("\t",$varchar_500); #varchar(1200) unicode## 2323 2324# print ("\t",$bit); #Bit(64)## 2325 2326 print ("\n"); 2327 2328 } 2329 2330 2331 select ($oldhandle); 2332 2333 close (FILE_INPUT); 2334 2335 2336 } 2337 2338 2339 else 2340 2341 { 2342 2343 &printusage; 2344 2345 } 2346 2347 2348} 2349 2350 2351 2352#Subroutines START HERE 2353 2354 2355sub get_next_geometry 2356 2357{ 2358 2359 my($count) = @_; 2360 2361 $index = $count % 6 ; 2362 2363 2364 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@', 2365 2366'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2367 2368'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2369 2370'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2371 2372'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2373 2374'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @', 2375 2376'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@', 2377 2378'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2379 2380'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@', 2381 2382'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@', 2383 2384'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@', 2385 2386'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@', 2387 2388'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@', 2389 2390'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@', 2391 2392'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@', 2393 2394'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@', 2395 2396'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@', 2397 2398'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@', 2399 2400'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0y@\0\0\0\0\0\0y@', 2401 2402'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@'); 2403 2404 2405 return($ascii[$index]); 2406 2407} 2408 2409 2410 2411sub get_next_point 2412 2413{ 2414 2415 my($count) = @_; 2416 2417 $index = $count % 6 ; 2418 2419 2420 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2421 2422'\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@', 2423 2424'\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@', 2425 2426'\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@', 2427 2428'\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@', 2429 2430'\0\0\0\0\0\0\0\0\0\0\0\0\09@\0\0\0\0\0\0.@', 2431 2432'\0\0\0\0\0\0\0\0\0\0\0\0A@\0\0\0\0\0\0.@', 2433 2434'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0\09@', 2435 2436'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0A@', 2437 2438'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0F@', 2439 2440'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0K@', 2441 2442'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0@P@', 2443 2444'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0�@', 2445 2446'\0\0\0\0\0\0\0\0\0\0\0\0\09@\0\0\0\0\0\0.@', 2447 2448'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0@U@', 2449 2450'\0\0\0\0\0\0\0\0\0\0\0\0K@\0\0\0\0\0�@', 2451 2452'\0\0\0\0\0\0\0\0\0\0\0\0@P@\0\0\0\0\0�@', 2453 2454'\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0�@', 2455 2456'\0\0\0\0\0\0\0\0\0\0\0\0@U@\0\0\0\0\0�@', 2457 2458'\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0�@'); 2459 2460 2461 return($ascii[$index]); 2462 2463} 2464 2465 2466sub get_next_linestring 2467 2468{ 2469 2470 my($count) = @_; 2471 2472 $index = $count % 6 ; 2473 2474 2475 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@', 2476 2477'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2478 2479'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2480 2481'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2482 2483'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2484 2485'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @', 2486 2487'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2488 2489'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@', 2490 2491'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@', 2492 2493'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@', 2494 2495'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@', 2496 2497'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@', 2498 2499'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@', 2500 2501'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@', 2502 2503'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@', 2504 2505'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@', 2506 2507'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@', 2508 2509'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@', 2510 2511'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0y@\0\0\0\0\0\0y@', 2512 2513'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@'); 2514 2515 2516 return($ascii[$index]); 2517 2518} 2519 2520 2521 2522sub get_next_polygon 2523 2524{ 2525 2526 my($count) = @_; 2527 2528 $index = $count % 6 ; 2529 2530 2531 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2532 2533'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@', 2534 2535'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2536 2537'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@', 2538 2539'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2540 2541'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@', 2542 2543'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@', 2544 2545'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@', 2546 2547'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@', 2548 2549'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@', 2550 2551'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@', 2552 2553'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@', 2554 2555'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@', 2556 2557'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@', 2558 2559'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@', 2560 2561'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@', 2562 2563'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@', 2564 2565'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@', 2566 2567'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@', 2568 2569'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@'); 2570 2571 2572 return($ascii[$index]); 2573 2574} 2575 2576 2577sub get_next_geometry_collection 2578 2579{ 2580 2581 my($count) = @_; 2582 2583 $index = $count % 6 ; 2584 2585 2586 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2587 2588'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@', 2589 2590'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2591 2592'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@', 2593 2594'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2595 2596'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@', 2597 2598'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@', 2599 2600'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@', 2601 2602'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@', 2603 2604'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@', 2605 2606'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@', 2607 2608'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@', 2609 2610'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@', 2611 2612'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@', 2613 2614'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@', 2615 2616'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@', 2617 2618'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@', 2619 2620'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@', 2621 2622'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@', 2623 2624'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@'); 2625 2626 2627 return($ascii[$index]); 2628 2629} 2630 2631 2632sub get_next_multipoint 2633 2634{ 2635 2636 my($count) = @_; 2637 2638 $index = $count % 6 ; 2639 2640 2641 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', 2642 2643'\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�', 2644 2645'\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@', 2646 2647'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0*@', 2648 2649'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@', 2650 2651'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@', 2652 2653'\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@', 2654 2655'\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @', 2656 2657'\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\04@', 2658 2659'\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@', 2660 2661'\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@', 2662 2663'\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@', 2664 2665'\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@', 2666 2667'\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@', 2668 2669'\0\0\0\0\0\0\0\0\0\0\0\0Q@\0\0\0\0\0Q@', 2670 2671'\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@', 2672 2673'\0\0\0\0\0\0\0\0\0\0\0\0V@\0\0\0\0\0V@', 2674 2675'\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@', 2676 2677'\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@', 2678 2679'\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0\0Y@'); 2680 2681 2682 return($ascii[$index]); 2683 2684} 2685 2686 2687sub get_next_multilinestring 2688 2689{ 2690 2691 my($count) = @_; 2692 2693 $index = $count % 6 ; 2694 2695 2696 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@', 2697 2698'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2699 2700'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2701 2702'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2703 2704'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2705 2706'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @', 2707 2708'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@', 2709 2710'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2711 2712'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@', 2713 2714'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@', 2715 2716'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@', 2717 2718'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0D@\0\0\0\0\0\0D@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@', 2719 2720'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@', 2721 2722'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@', 2723 2724'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@', 2725 2726'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@', 2727 2728'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@', 2729 2730'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0[@\0\0\0\0\0[@\0\0\0\0\0\0^@\0\0\0\0\0\0^@', 2731 2732'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0y@\0\0\0\0\0\0y@', 2733 2734'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�@\0\0\0\0\0\0Y@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0@@\0\0\0\0\0@@'); 2735 2736 2737 return($ascii[$index]); 2738 2739} 2740 2741 2742sub get_next_multipolygon 2743 2744{ 2745 2746 my($count) = @_; 2747 2748 $index = $count % 6 ; 2749 2750 2751 @ascii = ('\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2752 2753'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\04@\0\0\0\0\0\0�\0\0\0\0\0\0�\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0 @\0\0\0\0\0\0@\0\0\0\0\0\0@', 2754 2755'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\04@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0>@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0"@\0\0\0\0\0\0@\0\0\0\0\0\0@', 2756 2757'\N', 2758 2759 2760'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0I@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0&@\0\0\0\0\0\0"@\0\0\0\0\0\0"@', 2761 2762'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0N@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0(@\0\0\0\0\0\0$@\0\0\0\0\0\0$@', 2763 2764'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0Q@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0*@\0\0\0\0\0\0&@\0\0\0\0\0\0&@', 2765 2766'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0T@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0,@\0\0\0\0\0\0(@\0\0\0\0\0\0(@', 2767 2768'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0V@\0\0\0\0\0\0 @\0\0\0\0\0\0 @\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0.@\0\0\0\0\0\0*@\0\0\0\0\0\0*@', 2769 2770'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0Y@\0\0\0\0\0\0"@\0\0\0\0\0\0"@\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\00@\0\0\0\0\0\0,@\0\0\0\0\0\0,@', 2771 2772'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0i@\0\0\0\0\0\0$@\0\0\0\0\0\0$@\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\01@\0\0\0\0\0\0.@\0\0\0\0\0\0.@', 2773 2774'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0�@\0\0\0\0\0\0&@\0\0\0\0\0\0&@\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\02@\0\0\0\0\0\00@\0\0\0\0\0\00@', 2775 2776'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0y@\0\0\0\0\0\0(@\0\0\0\0\0\0(@\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\03@\0\0\0\0\0\01@\0\0\0\0\0\01@', 2777 2778'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0@@\0\0\0\0\0\0*@\0\0\0\0\0\0*@\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\04@\0\0\0\0\0\02@\0\0\0\0\0\02@', 2779 2780'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0@\0\0\0\0\0\0,@\0\0\0\0\0\0,@\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\05@\0\0\0\0\0\03@\0\0\0\0\0\03@', 2781 2782'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0�\0\0\0\0\0\0.@\0\0\0\0\0\0.@\0\0\0\0\0\0\0\0\04@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\06@\0\0\0\0\0\04@\0\0\0\0\0\04@', 2783 2784'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\0@\0\0\0\0\0\00@\0\0\0\0\0\00@\0\0\0\0\0\0\0\0\05@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\07@\0\0\0\0\0\05@\0\0\0\0\0\05@', 2785 2786'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0 @\0\0\0\0\0\01@\0\0\0\0\0\01@\0\0\0\0\0\0\0\0\06@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\08@\0\0\0\0\0\06@\0\0\0\0\0\06@', 2787 2788'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0\02@\0\0\0\0\0\02@\0\0\0\0\0\0\0\0\07@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\09@\0\0\0\0\0\07@\0\0\0\0\0\07@', 2789 2790'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\0�\0\0\0\0\0@@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0@@\0\0\0\0\0\03@\0\0\0\0\0\03@\0\0\0\0\0\0\0\0\08@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\0:@\0\0\0\0\0\08@\0\0\0\0\0\08@'); 2791 2792 2793 return($ascii[$index]); 2794 2795} 2796 2797 2798sub get_next_int 2799 2800{ 2801 2802 my($next_int) = @_; 2803 2804 if (($next_int>= 0) && ($next_int<= 255)) 2805 2806 { 2807 2808 $next_int++; 2809 2810 } 2811 2812 2813 else 2814 2815 { 2816 2817 $next_int = 0; 2818 2819 } 2820 2821 return($next_int); 2822 2823} 2824 2825 2826 2827sub get_next_enum 2828 2829{ 2830 2831 my($next_enum) = @_; 2832 2833 if($next_enum == 1) 2834 2835 { 2836 2837 $next_enum = 2; 2838 2839 } 2840 2841 else 2842 2843 { 2844 2845 $next_enum = 1; 2846 2847 } 2848 2849 2850 2851 return($next_enum); 2852 2853} 2854 2855 2856sub get_next_set 2857 2858{ 2859 2860 my($next_set) = @_; 2861 2862 if($next_set == 3) 2863 2864 { 2865 2866 $next_set = 1; 2867 2868 } 2869 2870 else 2871 2872 { 2873 2874 $next_set++; 2875 2876 } 2877 2878 2879 2880 return($next_set); 2881 2882} 2883 2884 2885sub get_next_bit 2886 2887{ 2888 my($col_size) = @_; 2889 2890 my($max_size) = $col_size / 8; 2891 2892# my($sp_char) = "\x01"; 2893 2894 my($max_no) = 9 x $max_size; 2895 2896 if ($ret_bit < $max_no) 2897 { 2898 2899 $ret_bit++; 2900 2901 } 2902 2903 else 2904 { 2905 2906 $ret_bit = 1; 2907 2908 } 2909 2910 return($ret_bit); 2911 2912} 2913 2914 2915sub get_next_char 2916 2917{ 2918 my($count) = @_; 2919 2920 my($index) = $count % 72; 2921 2922 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 2923 2924'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 2925 2926'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 2927 2928'v','w','x','y','z'); 2929 2930 2931 return($ascii[$index]); 2932} 2933 2934 2935 2936sub get_next_char_0 2937 2938{ 2939 my($ret_string) = ''; 2940 2941 return($ret_string); 2942} 2943 2944 2945sub get_next_char_55 2946 2947{ 2948 my($count) = @_; 2949 2950 my($local_count) = $count % 15; 2951 2952 my($ret_string) = ''; 2953 2954 my($index) = $count % 72; 2955 2956 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 2957 2958'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 2959 2960'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 2961 2962'v','w','x','y','z'); 2963 2964 for($loop_count=0;$loop_count <= $local_count; $loop_count++) 2965 2966 { 2967 2968 $ret_string = $ret_string.$ascii[$index]; 2969 2970 $index = ($index + 1) % 72; 2971 2972 } 2973 2974 $ret_string = $count.$ret_string; 2975 2976 return($ret_string); 2977 2978} 2979 2980 2981sub get_next_char_90 2982 2983{ 2984 my($count) = @_; 2985 2986 my($ret_string) = ''; 2987 2988 my($local_count) = $count % 25; 2989 2990 my($index) = $count % 72; 2991 2992 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 2993 2994'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 2995 2996'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 2997 2998'v','w','x','y','z'); 2999 3000 3001 for($loop_count=0; $loop_count <= $local_count; $loop_count++) 3002 3003 { 3004 3005 $ret_string = $ret_string.$ascii[$index]; 3006 3007 $index = ($index + 1) % 72; 3008 } 3009 3010 $ret_string = $count.$ret_string; 3011 3012 return($ret_string); 3013 3014} 3015 3016 3017sub get_next_char_100 3018 3019{ 3020 my($count) = @_; 3021 3022 my($local_count) = $count % 50; 3023 3024 my($ret_string) = ''; 3025 3026 my($index) = $count % 72; 3027 3028 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 3029 3030'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 3031 3032'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 3033 3034'v','w','x','y','z'); 3035 3036 for($loop_count=0; $loop_count <= $local_count; $loop_count++) 3037 3038 { 3039 3040 $ret_string = $ret_string.$ascii[$index]; 3041 3042 $index = ($index + 1) % 72; 3043 } 3044 3045 $ret_string = $count.$ret_string; 3046 3047 return($ret_string); 3048 3049} 3050 3051 3052 3053sub get_next_char_255 3054 3055{ 3056 my($count) = @_; 3057 3058 my($local_count) = $count % 125; 3059 3060 my($ret_string) = ''; 3061 3062 my($index) = $count % 72; 3063 3064 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 3065 3066'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 3067 3068'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v', 3069 3070'w','x','y','z'); 3071 3072 for($loop_count=0; $loop_count<$local_count; $loop_count++) 3073 3074 { 3075 3076 $ret_string = $ret_string.$ascii[$index]; 3077 3078 $index = ($index + 1) % 72; 3079 } 3080 3081 $ret_string = $count.$ret_string; 3082 3083 return($ret_string); 3084 3085} 3086 3087 3088sub get_next_varchar_500 3089{ 3090 my($count) = @_; 3091 3092 my($ret_string) = ''; 3093 3094 my($local_count) = $count % 100; 3095 3096 my($index) = $count % 72; 3097 3098 @ascii = ('!','@','#','$','%','^','&','*','(',')','_','+','=','-','|','{','}','[',']', 3099 3100'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X', 3101 3102'Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u', 3103 3104'v','w','x','y','z'); 3105 3106 for($loop_count=0; $loop_count<$local_count; $loop_count++) 3107 3108 { 3109 3110 $ret_string = $ret_string.$ascii[$index]; 3111 3112 $index = ($index + 1) % 72; 3113 } 3114 3115 $ret_string = $count.$ret_string; 3116 3117 return($ret_string); 3118 3119} 3120 3121 3122 3123sub get_next_float 3124 3125{ 3126 3127 my($next_float) = @_; 3128 3129 $next_float = $next_float + 1e-47; 3130 3131 return($next_float); 3132 3133} 3134 3135 3136 3137 3138sub get_next_tinytext 3139 3140{ 3141 3142 my($count) = @_; 3143 3144 my($default_char) = "a"; 3145 3146 $index = $count % 20 ; 3147 3148 3149 @ascii = ("\140","\141","\142","\143","\144","\145","\146","\147","\136","\137","\150", 3150 3151 "\151","\152","\153","\154","\155","\156","\157","\134","\135"); 3152 3153 3154 my($quotient) = $count / 100; 3155 3156 $quotient =~ s/\.[0-9]*// ; 3157 3158 $tinytext = $default_char.$ascii[$index].$quotient; 3159 3160 3161 return($tinytext); 3162 3163} 3164 3165 3166 3167sub get_next_longtext 3168 3169{ 3170 3171 my($count) = @_; 3172 3173 my($default_char) = "a"; 3174 3175 $index = $count % 20 ; 3176 3177 $multp = $count % 100; 3178 3179 @ascii = ("\140","\141","\142","\143","\144","\145","\146","\147","\136","\137","\150", 3180 3181 "\151","\152","\153","\154","\155","\156","\157","\134","\135"); 3182 3183 3184 $longtext = $count.$ascii[$index].$default_char x $multp; 3185 3186 return($longtext); 3187 3188} 3189 3190 3191 3192sub get_next_year 3193 3194{ 3195 3196 my($next_year) = @_; 3197 3198 if (($next_year >= 1901) && ($next_year < 2155)) 3199 3200 { 3201 3202 $next_year++; 3203 3204 } 3205 3206 3207 else 3208 3209 { 3210 3211 $next_year = 1901; 3212 3213 } 3214 3215 return($next_year); 3216 3217} 3218 3219 3220 3221sub get_next_datetime 3222 3223{ 3224 3225 my($date,$time) = @_; 3226 3227 $datetime = $date." ".$time; 3228 3229 return($datetime); 3230 3231} 3232 3233 3234 3235sub get_next_s_int 3236 3237{ 3238 3239 my($count,$maxsize) = @_; 3240 3241 $s_int = int($count - ($maxsize/2)); 3242 3243 return($s_int); 3244 3245} 3246 3247 3248 3249 3250sub get_next_timestamp 3251 3252{ 3253 3254 my($date,$time) = @_; 3255 3256 my($pattern1) = "-"; 3257 3258 my($pattern2) = ":"; 3259 3260 @split_date = split(/$pattern1/,$date); 3261 3262 @split_time = split(/$pattern2/,$time); 3263 3264 $timestamp = "$split_date[0]"."$split_date[1]"."$split_date[2]"."$split_time[0]"."$split_time[1]"."$split_time[2]"; 3265 3266 return($timestamp); 3267} 3268 3269 3270 3271sub get_next_time 3272 3273{ 3274 3275 my($time) = @_; 3276 3277 $pattern = ":"; 3278 3279 @words = split(/$pattern/, $time); 3280 3281 3282 3283 $hour = $words[0]; 3284 3285 $min = $words[1]; 3286 3287 $sec = $words[2]; 3288 3289 3290 3291#Boundary condition 3292 3293 3294 if(($hour == -838)&&($min == 0)&&($sec == 0)) 3295 3296 { 3297 3298 $hour = 838; 3299 3300 $min = 59; 3301 3302 $sec = 59; 3303 3304 } 3305 3306 3307 if($min > 0) 3308 3309 { 3310 3311 if($sec > 0) 3312 3313 { 3314 3315 $sec-- ; 3316 3317 } 3318 3319 else 3320 3321 { 3322 3323 $sec = 59; 3324 3325 $min-- ; 3326 3327 } 3328 3329 } 3330 3331 3332 3333 else 3334 3335 { 3336 3337 $hour-- ; 3338 3339 $min = 59; 3340 3341 $sec = 59; 3342 3343 } 3344 3345 3346 if($hour !~ /[0-9][0-9]/) 3347 3348 { 3349 3350 $hour = "0".$hour; 3351 3352 } 3353 3354 3355 if($min !~ /[0-9][0-9]/) 3356 3357 { 3358 3359 $min = "0".$min; 3360 3361 } 3362 3363 3364 3365 if($sec !~ /[0-9][0-9]/) 3366 3367 { 3368 3369 $sec = "0".$sec; 3370 3371 } 3372 3373 3374 $time = "$hour".":"."$min".":"."$sec"; 3375 3376 return($time); 3377 3378} 3379 3380 3381 3382sub get_next_date 3383 3384{ 3385 3386 my($date) = @_ ; 3387 3388 $pattern = '-'; 3389 3390 @words = split(/$pattern/, $date); 3391 3392 3393 $year = $words[0]; 3394 3395 $month = $words[1]; 3396 3397 $day = $words[2]; 3398 3399 3400 if (($month == 2) ) 3401 3402 { 3403 3404 if($day == 28) 3405 3406 { 3407 3408 if($year =~ /[0-9][0-9]00/) 3409 3410 { 3411 3412 if($year % 400 == 0) 3413 3414 { 3415 3416 $day++; 3417 3418 } 3419 3420 else 3421 3422 { 3423 3424 $day = 01; 3425 3426 $month++; 3427 3428 } 3429 3430 } 3431 3432 3433 3434 else 3435 3436 { 3437 3438 if($year % 4 == 0) 3439 3440 { 3441 3442 $day++; 3443 3444 } 3445 3446 else 3447 3448 { 3449 3450 $day = 01; 3451 3452 $month++; 3453 3454 } 3455 3456 } 3457 3458 } 3459 3460 3461 elsif($day == 29) 3462 3463 { 3464 3465 $day = 01; 3466 3467 $month++; 3468 3469 } 3470 3471 3472 3473 else 3474 3475 { 3476 3477 $day++; 3478 3479 } 3480 3481 } 3482 3483 3484 elsif($day == 30) 3485 3486 { 3487 3488 if (($month == 1) || ($month == 3) || ($month == 5) || ($month == 7) || ($month == 8) || ($month == 10) || ($month == 12)) 3489 3490 { 3491 3492 $day++; 3493 3494 } 3495 3496 else 3497 3498 { 3499 3500 $day = 01; 3501 3502 $month++; 3503 3504 } 3505 3506 } 3507 3508 3509 elsif($day == 31) 3510 3511 { 3512 3513 if ($month == 12) 3514 3515 { 3516 3517 $day = 01; 3518 3519 $month = 01; 3520 3521 3522 3523 if($year < 9999) 3524 3525 { 3526 3527 $year++; 3528 3529 } 3530 3531 else 3532 3533 { 3534 3535 $year = 1000; 3536 3537 } 3538 3539 } 3540 3541 3542 else 3543 3544 { 3545 3546 $day = 01; 3547 3548 $month++; 3549 3550 } 3551 3552 } 3553 3554 3555 3556 else 3557 3558 { 3559 3560 $day++; 3561 3562 } 3563 3564 3565 if($month !~ /[0-9][0-9]/) 3566 3567 { 3568 3569 $month = "0".$month; 3570 3571 } 3572 3573 3574 3575 if($day !~ /[0-9][0-9]/) 3576 3577 { 3578 3579 $day = "0".$day; 3580 3581 } 3582 3583 3584 3585 $date = "$year"."-"."$month"."-"."$day"; 3586 3587 3588 3589 return($date); 3590 3591} 3592 3593 3594 3595 3596sub get_next_s_date 3597 3598{ 3599 3600 my($date) = @_ ; 3601 3602 $pattern = '-'; 3603 3604 @words = split(/$pattern/, $date); 3605 3606 3607 $year = "$words[0]"; 3608 3609 $month = "$words[1]"; 3610 3611 $day = "$words[2]"; 3612 3613 3614 if (($month == "02") ) 3615 3616 { 3617 3618 if($day == "28") 3619 3620 { 3621 3622 if($year =~ /[0-9][0-9]00/) 3623 3624 { 3625 3626 if($year % 400 == 0) 3627 3628 { 3629 3630 $day++; 3631 3632 } 3633 3634 else 3635 3636 { 3637 3638 $day = 01; 3639 3640 $month++; 3641 3642 } 3643 3644 } 3645 3646 3647 3648 else 3649 3650 { 3651 3652 if($year % 4 == 0) 3653 3654 { 3655 3656 $day++; 3657 3658 } 3659 3660 else 3661 3662 { 3663 3664 $day = 01; 3665 3666 $month++; 3667 3668 } 3669 3670 } 3671 3672 } 3673 3674 3675 3676 elsif($day == "29") 3677 3678 { 3679 3680 $day = "01"; 3681 3682 $month++; 3683 3684 } 3685 3686 3687 3688 else 3689 3690 { 3691 3692 $day++; 3693 3694 } 3695 3696 } 3697 3698 3699 elsif($day == "30") 3700 3701 { 3702 3703 if (($month == "01") || ($month == "03") || ($month == "05") || ($month == "07") || ($month == "08") || ($month == "10") || ($month == "12")) 3704 3705 { 3706 3707 $day++; 3708 3709 } 3710 3711 else 3712 3713 { 3714 3715 $day = "01"; 3716 3717 $month++; 3718 3719 } 3720 3721 } 3722 3723 3724 elsif($day == "31") 3725 3726 { 3727 3728 if ($month == "12") 3729 3730 { 3731 3732 $day = "01"; 3733 3734 $month = "01"; 3735 3736 3737 3738 if($year < "2036") 3739 3740 { 3741 3742 $year = $year + "0001"; 3743 3744 } 3745 3746 else 3747 3748 { 3749 3750 $year = "1970"; 3751 3752 } 3753 3754 } 3755 3756 3757 else 3758 3759 { 3760 3761 $day = "01"; 3762 3763 $month++; 3764 3765 } 3766 3767 } 3768 3769 3770 3771 else 3772 3773 { 3774 3775 $day++; 3776 3777 } 3778 3779 3780 if($month !~ /[0-9][0-9]/) 3781 3782 { 3783 3784 $month = "0".$month; 3785 3786 } 3787 3788 3789 3790 if($day !~ /[0-9][0-9]/) 3791 3792 { 3793 3794 $day = "0".$day; 3795 3796 } 3797 3798 3799 3800 $date = "$year"."-"."$month"."-"."$day"; 3801 3802 3803 3804 return($date); 3805 3806} 3807 3808 3809 3810 3811sub get_next_s_time 3812 3813{ 3814 3815 my($time) = @_; 3816 3817 $pattern = ":"; 3818 3819 @words = split(/$pattern/, $time); 3820 3821 3822 3823 $hour = "$words[0]"; 3824 3825 $min = "$words[1]"; 3826 3827 $sec = "$words[2]"; 3828 3829 3830 3831 #Boundary condition 3832 3833 3834 if(($hour == "23")&&($min == "59")&&($sec == "59")) 3835 3836 { 3837 3838 $hour = "00"; 3839 3840 $min = "00"; 3841 3842 $sec = "00"; 3843 3844 } 3845 3846 3847 if($min < "59") 3848 3849 { 3850 3851 if($sec < "59") 3852 3853 { 3854 3855 $sec = $sec + "01"; 3856 3857 } 3858 3859 else 3860 3861 { 3862 3863 $sec = "00"; 3864 3865 $min = $min + "01" ; 3866 3867 } 3868 3869 } 3870 3871 3872 3873 else 3874 3875 { 3876 3877 $hour = $hour + "01" ; 3878 3879 $min = "00"; 3880 3881 $sec = "00"; 3882 3883 } 3884 3885 3886 if($hour !~ /[0-9][0-9]/) 3887 3888 { 3889 3890 $hour = "0".$hour; 3891 3892 } 3893 3894 3895 if($min !~ /[0-9][0-9]/) 3896 3897 { 3898 3899 $min = "0".$min; 3900 3901 } 3902 3903 3904 3905 if($sec !~ /[0-9][0-9]/) 3906 3907 { 3908 3909 $sec = "0".$sec; 3910 3911 } 3912 3913 3914 $time = "$hour".":"."$min".":"."$sec"; 3915 3916 3917 3918 return($time); 3919 3920} 3921 3922 3923 3924 3925sub printusage 3926 3927{ 3928 3929 print "\n\nUsage: Perl DataGen.pl <Rowcount> <Storage Engine>"; 3930 3931 print "\n\n<Rowcount>: The number of rows in the table " . 3932 3933 "\n<Storage Engine>: The storage engine parameter" . 3934 3935 " will be of the following types:" . 3936 3937 "\n\t\t InnoDB | MyIsam | Memory" . 3938 3939 "\n\nE.g. Perl DataGen.pl 5000 InnoDB" . 3940 3941 "\n\nThis will generate 4 text files containing 5000" . 3942 3943 " records each for the 4 types of InnoDB tables.\n\n"; 3944 3945} 3946 3947 3948 3949sub random 3950 3951{ 3952 3953 my($limit) = @_ ; 3954 3955 $random = int(rand($limit)); 3956 3957 return($random); 3958 3959} 3960 3961