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