~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to server/field.cc

  • Committer: Brian Aker
  • Date: 2008-07-09 19:50:17 UTC
  • Revision ID: brian@tangent.org-20080709195017-2mhypy60ts2tg0r5
Removed TINY BLOB.

Show diffs side-by-side

added added

removed removed

Lines of Context:
94
94
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
95
95
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
96
96
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
97
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
98
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
97
  //MYSQL_TYPE_SET
 
98
    MYSQL_TYPE_VARCHAR,
99
99
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
100
100
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
101
101
  //MYSQL_TYPE_STRING       
121
121
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
122
122
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
123
123
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
124
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
125
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
124
  //MYSQL_TYPE_SET
 
125
    MYSQL_TYPE_VARCHAR,
126
126
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
127
127
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
128
128
  //MYSQL_TYPE_STRING       
148
148
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
149
149
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
150
150
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
151
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
152
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
151
  //MYSQL_TYPE_SET
 
152
    MYSQL_TYPE_VARCHAR,
153
153
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
154
154
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
155
155
  //MYSQL_TYPE_STRING
175
175
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
176
176
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
177
177
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
178
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
179
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
178
  //MYSQL_TYPE_SET
 
179
    MYSQL_TYPE_VARCHAR,
180
180
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
181
181
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
182
182
  //MYSQL_TYPE_STRING
202
202
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
203
203
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
204
204
    MYSQL_TYPE_DOUBLE,      MYSQL_TYPE_VARCHAR,
205
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
206
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
205
  //MYSQL_TYPE_SET
 
206
    MYSQL_TYPE_VARCHAR,
207
207
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
208
208
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
209
209
  //MYSQL_TYPE_STRING
229
229
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
230
230
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
231
231
    MYSQL_TYPE_DOUBLE,      MYSQL_TYPE_VARCHAR,
232
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
233
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
232
  //MYSQL_TYPE_SET
 
233
    MYSQL_TYPE_VARCHAR,
234
234
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
235
235
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
236
236
  //MYSQL_TYPE_STRING
256
256
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
257
257
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
258
258
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_ENUM,
259
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
260
 
    MYSQL_TYPE_SET,         MYSQL_TYPE_TINY_BLOB,
 
259
  //MYSQL_TYPE_SET
 
260
    MYSQL_TYPE_SET,
261
261
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
262
262
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
263
263
  //MYSQL_TYPE_STRING
283
283
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
284
284
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
285
285
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
286
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
287
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
286
  //MYSQL_TYPE_SET
 
287
    MYSQL_TYPE_VARCHAR,
288
288
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
289
289
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
290
290
  //MYSQL_TYPE_STRING
310
310
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
311
311
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
312
312
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
313
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
314
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
313
  //MYSQL_TYPE_SET
 
314
    MYSQL_TYPE_VARCHAR,
315
315
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
316
316
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
317
317
  //MYSQL_TYPE_STRING
337
337
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
338
338
  //MYSQL_TYPE_NEWDECIMAL    MYSQL_TYPE_ENUM
339
339
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
340
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
341
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
340
  //MYSQL_TYPE_SET
 
341
    MYSQL_TYPE_VARCHAR,
342
342
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
343
343
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
344
344
  //MYSQL_TYPE_STRING
364
364
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
365
365
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
366
366
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
367
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
368
 
    MYSQL_TYPE_VARCHAR,  MYSQL_TYPE_TINY_BLOB,
 
367
  //MYSQL_TYPE_SET
 
368
    MYSQL_TYPE_VARCHAR,
369
369
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
370
370
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
371
371
  //MYSQL_TYPE_STRING
391
391
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
392
392
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
393
393
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
394
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
395
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
394
  //MYSQL_TYPE_SET
 
395
    MYSQL_TYPE_VARCHAR,
396
396
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
397
397
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
398
398
  //MYSQL_TYPE_STRING
418
418
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
419
419
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
420
420
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
421
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
422
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
421
  //MYSQL_TYPE_SET
 
422
    MYSQL_TYPE_VARCHAR,
423
423
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
424
424
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
425
425
  //MYSQL_TYPE_STRING
445
445
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
446
446
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
447
447
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
448
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
449
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
448
  //MYSQL_TYPE_SET
 
449
    MYSQL_TYPE_VARCHAR,
450
450
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
451
451
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
452
452
  //MYSQL_TYPE_STRING
472
472
    MYSQL_TYPE_NEWDATE,     MYSQL_TYPE_VARCHAR,
473
473
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
474
474
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
475
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
476
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
475
  //MYSQL_TYPE_SET
 
476
    MYSQL_TYPE_VARCHAR,
477
477
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
478
478
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
479
479
  //MYSQL_TYPE_STRING
499
499
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
500
500
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
501
501
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
502
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
503
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
502
  //MYSQL_TYPE_SET
 
503
    MYSQL_TYPE_VARCHAR,
504
504
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
505
505
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
506
506
  //MYSQL_TYPE_STRING
526
526
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
527
527
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
528
528
    MYSQL_TYPE_NEWDECIMAL,  MYSQL_TYPE_VARCHAR,
529
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
530
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
529
  //MYSQL_TYPE_SET
 
530
    MYSQL_TYPE_VARCHAR,
531
531
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
532
532
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
533
533
  //MYSQL_TYPE_STRING
553
553
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
554
554
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
555
555
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
556
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
557
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
556
  //MYSQL_TYPE_SET
 
557
    MYSQL_TYPE_VARCHAR,
558
558
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
559
559
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
560
560
  //MYSQL_TYPE_STRING
580
580
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
581
581
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
582
582
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
583
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
584
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
583
  //MYSQL_TYPE_SET
 
584
    MYSQL_TYPE_VARCHAR,
585
585
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
586
586
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
587
587
  //MYSQL_TYPE_STRING
588
588
    MYSQL_TYPE_STRING
589
589
  },
590
 
  /* MYSQL_TYPE_TINY_BLOB -> */
591
 
  {
592
 
  //MYSQL_TYPE_DECIMAL      MYSQL_TYPE_TINY
593
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
594
 
  //MYSQL_TYPE_SHORT        MYSQL_TYPE_LONG
595
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
596
 
  //MYSQL_TYPE_FLOAT        MYSQL_TYPE_DOUBLE
597
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
598
 
  //MYSQL_TYPE_NULL         MYSQL_TYPE_TIMESTAMP
599
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
600
 
  //MYSQL_TYPE_LONGLONG     MYSQL_TYPE_INT24
601
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
602
 
  //MYSQL_TYPE_DATE         MYSQL_TYPE_TIME
603
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
604
 
  //MYSQL_TYPE_DATETIME     MYSQL_TYPE_YEAR
605
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
606
 
  //MYSQL_TYPE_NEWDATE      MYSQL_TYPE_VARCHAR
607
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
608
 
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
609
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
610
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
611
 
    MYSQL_TYPE_TINY_BLOB,   MYSQL_TYPE_TINY_BLOB,
612
 
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
613
 
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_TINY_BLOB,
614
 
  //MYSQL_TYPE_STRING
615
 
    MYSQL_TYPE_TINY_BLOB
616
 
  },
617
590
  /* MYSQL_TYPE_BLOB -> */
618
591
  {
619
592
  //MYSQL_TYPE_DECIMAL      MYSQL_TYPE_TINY
634
607
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_BLOB,
635
608
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
636
609
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_BLOB,
637
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
638
 
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_BLOB,
 
610
  //MYSQL_TYPE_SET
 
611
    MYSQL_TYPE_BLOB,
639
612
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
640
613
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_BLOB,
641
614
  //MYSQL_TYPE_STRING
661
634
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
662
635
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
663
636
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_VARCHAR,
664
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
665
 
    MYSQL_TYPE_VARCHAR,     MYSQL_TYPE_TINY_BLOB,
 
637
  //MYSQL_TYPE_SET
 
638
    MYSQL_TYPE_VARCHAR,
666
639
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
667
640
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
668
641
  //MYSQL_TYPE_STRING
688
661
    MYSQL_TYPE_STRING,      MYSQL_TYPE_VARCHAR,
689
662
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
690
663
    MYSQL_TYPE_STRING,      MYSQL_TYPE_STRING,
691
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
692
 
    MYSQL_TYPE_STRING,      MYSQL_TYPE_TINY_BLOB,
 
664
  //MYSQL_TYPE_SET
 
665
    MYSQL_TYPE_STRING,
693
666
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
694
667
    MYSQL_TYPE_BLOB,        MYSQL_TYPE_VARCHAR,
695
668
  //MYSQL_TYPE_STRING
737
710
  STRING_RESULT,            STRING_RESULT,
738
711
  //MYSQL_TYPE_NEWDECIMAL   MYSQL_TYPE_ENUM
739
712
  DECIMAL_RESULT,           STRING_RESULT,
740
 
  //MYSQL_TYPE_SET          MYSQL_TYPE_TINY_BLOB
741
 
  STRING_RESULT,            STRING_RESULT,
 
713
  //MYSQL_TYPE_SET
 
714
  STRING_RESULT,
742
715
  //MYSQL_TYPE_BLOB         MYSQL_TYPE_VAR_STRING
743
716
  STRING_RESULT,            STRING_RESULT,
744
717
  //MYSQL_TYPE_STRING
7420
7393
void Create_field::create_length_to_internal_length(void)
7421
7394
{
7422
7395
  switch (sql_type) {
7423
 
  case MYSQL_TYPE_TINY_BLOB:
7424
7396
  case MYSQL_TYPE_BLOB:
7425
7397
  case MYSQL_TYPE_VAR_STRING:
7426
7398
  case MYSQL_TYPE_STRING: