~ubuntu-branches/ubuntu/trusty/drizzle/trusty

« back to all changes in this revision

Viewing changes to drizzled/ctype-uca.cc

  • Committer: Package Import Robot
  • Author(s): Clint Byrum
  • Date: 2012-06-19 10:46:49 UTC
  • mfrom: (1.1.6)
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20120619104649-e2l0ggd4oz3um0f4
Tags: upstream-7.1.36-stable
ImportĀ upstreamĀ versionĀ 7.1.36-stable

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
 
34
34
 
35
35
#include <config.h>
36
 
#include <drizzled/charset_info.h>
 
36
#include <drizzled/charset.h>
37
37
#include <drizzled/internal/m_string.h>
38
38
#include <stdio.h>
39
39
 
41
41
 
42
42
using namespace std;
43
43
 
44
 
namespace drizzled
45
 
{
 
44
namespace drizzled {
46
45
 
47
46
#define MY_UCA_CMASK  255
48
47
#define MY_UCA_PSHIFT 8
6762
6761
  uint16_t implicit[2];
6763
6762
  int page;
6764
6763
  int code;
6765
 
  const CHARSET_INFO * cs;
 
6764
  const charset_info_st * cs;
6766
6765
} my_uca_scanner;
6767
6766
 
6768
6767
/*
6771
6770
*/
6772
6771
typedef struct my_uca_scanner_handler_st
6773
6772
{
6774
 
  void (*init)(my_uca_scanner *scanner, const CHARSET_INFO * const cs,
 
6773
  void (*init)(my_uca_scanner *scanner, const charset_info_st * const cs,
6775
6774
               const unsigned char *str, size_t length);
6776
6775
  int (*next)(my_uca_scanner *scanner);
6777
6776
} my_uca_scanner_handler;
6784
6783
  The same two functions for any character set
6785
6784
*/
6786
6785
static void my_uca_scanner_init_any(my_uca_scanner *scanner,
6787
 
                                    const CHARSET_INFO * const cs,
 
6786
                                    const charset_info_st * const cs,
6788
6787
                                    const unsigned char *str, size_t length)
6789
6788
{
6790
6789
  /* Note, no needs to initialize scanner->wbeg */
6928
6927
    positive number - means the first string is bigger
6929
6928
*/
6930
6929
 
6931
 
static int my_strnncoll_uca(const CHARSET_INFO * const cs,
 
6930
static int my_strnncoll_uca(const charset_info_st * const cs,
6932
6931
                            my_uca_scanner_handler *scanner_handler,
6933
6932
                            const unsigned char *s, size_t slen,
6934
6933
                            const unsigned char *t, size_t tlen,
6999
6998
    positive number - means the first string is bigger
7000
6999
*/
7001
7000
 
7002
 
static int my_strnncollsp_uca(const CHARSET_INFO * const cs,
 
7001
static int my_strnncollsp_uca(const charset_info_st * const cs,
7003
7002
                              my_uca_scanner_handler *scanner_handler,
7004
7003
                              const unsigned char *s, size_t slen,
7005
7004
                              const unsigned char *t, size_t tlen,
7077
7076
    N/A
7078
7077
*/
7079
7078
 
7080
 
static void my_hash_sort_uca(const CHARSET_INFO * const cs,
 
7079
static void my_hash_sort_uca(const charset_info_st * const cs,
7081
7080
                             my_uca_scanner_handler *scanner_handler,
7082
7081
                             const unsigned char *s, size_t slen,
7083
7082
                             uint32_t *n1, uint32_t *n2)
7129
7128
    Number of bytes that have been written into the binary image.
7130
7129
*/
7131
7130
 
7132
 
static size_t my_strnxfrm_uca(const CHARSET_INFO * const cs,
 
7131
static size_t my_strnxfrm_uca(const charset_info_st * const cs,
7133
7132
                           my_uca_scanner_handler *scanner_handler,
7134
7133
                           unsigned char *dst, size_t dstlen, uint32_t nweights,
7135
7134
                           const unsigned char *src, size_t srclen, uint32_t flags)
7171
7170
  little-endian and big-endian machines.
7172
7171
*/
7173
7172
 
7174
 
static int my_uca_charcmp(const CHARSET_INFO * const cs, my_wc_t wc1, my_wc_t wc2)
 
7173
static int my_uca_charcmp(const charset_info_st * const cs, my_wc_t wc1, my_wc_t wc2)
7175
7174
{
7176
7175
  size_t page1= wc1 >> MY_UCA_PSHIFT;
7177
7176
  size_t page2= wc2 >> MY_UCA_PSHIFT;
7201
7200
**       1 if matched with wildcard
7202
7201
*/
7203
7202
 
7204
 
int my_wildcmp_uca(const CHARSET_INFO * const cs,
 
7203
static int my_wildcmp_uca(const charset_info_st * const cs,
7205
7204
                   const char *str,const char *str_end,
7206
7205
                   const char *wildstr,const char *wildend,
7207
7206
                   int escape, int w_one, int w_many)
7705
7704
  default weights.
7706
7705
*/
7707
7706
 
7708
 
static bool create_tailoring(CHARSET_INFO *cs, cs_alloc_func alloc)
 
7707
static bool create_tailoring(charset_info_st *cs, cs_alloc_func alloc)
7709
7708
{
7710
7709
  MY_COLL_RULE rule[MY_MAX_COLL_RULE];
7711
7710
  char errstr[128];
7732
7731
    return 1;
7733
7732
  }
7734
7733
 
7735
 
  if (!(newweights= (uint16_t**) (*alloc)(256*sizeof(uint16_t*))))
7736
 
    return 1;
 
7734
  newweights= (uint16_t**) (*alloc)(256*sizeof(uint16_t*));
7737
7735
  memset(newweights, 0, 256*sizeof(uint16_t*));
7738
7736
 
7739
 
  if (!(newlengths= (unsigned char*) (*alloc)(256)))
7740
 
    return 1;
7741
 
 
 
7737
  newlengths= (unsigned char*) (*alloc)(256);
7742
7738
  memcpy(newlengths, deflengths, 256);
7743
7739
 
7744
7740
  /*
7773
7769
      /* Alloc new page and copy the default UCA weights */
7774
7770
      uint32_t size= 256*newlengths[pagec]*sizeof(uint16_t);
7775
7771
 
7776
 
      if (!(newweights[pagec]= (uint16_t*) (*alloc)(size)))
7777
 
        return 1;
 
7772
      newweights[pagec]= (uint16_t*) (*alloc)(size);
7778
7773
      memset(newweights[pagec], 0, size);
7779
7774
 
7780
7775
      for (chc=0 ; chc < 256; chc++)
7818
7813
    */
7819
7814
    uint32_t size= 0x40*0x40*sizeof(uint16_t) + 256;
7820
7815
    char *contraction_flags;
7821
 
    if (!(cs->contractions= (uint16_t*) (*alloc)(size)))
7822
 
        return 1;
 
7816
    cs->contractions= (uint16_t*) (*alloc)(size);
7823
7817
    memset(cs->contractions, 0, size);
7824
7818
    contraction_flags= ((char*) cs->contractions) + 0x40*0x40;
7825
7819
    for (i=0; i < rc; i++)
7858
7852
 
7859
7853
 
7860
7854
/*
7861
 
  Universal CHARSET_INFO compatible wrappers
 
7855
  Universal charset_info_st compatible wrappers
7862
7856
  for the above internal functions.
7863
7857
  Should work for any character set.
7864
7858
*/
7865
7859
 
7866
 
bool my_coll_init_uca(CHARSET_INFO *cs, cs_alloc_func alloc)
 
7860
static bool my_coll_init_uca(charset_info_st& cs, cs_alloc_func alloc)
7867
7861
{
7868
 
  cs->pad_char= ' ';
7869
 
  return create_tailoring(cs, alloc);
 
7862
  cs.pad_char= ' ';
 
7863
  return create_tailoring(&cs, alloc);
7870
7864
}
7871
7865
 
7872
 
int my_strnncoll_any_uca(const CHARSET_INFO * const cs,
 
7866
static int my_strnncoll_any_uca(const charset_info_st * const cs,
7873
7867
                         const unsigned char *s, size_t slen,
7874
7868
                         const unsigned char *t, size_t tlen,
7875
7869
                         bool t_is_prefix)
7878
7872
                          s, slen, t, tlen, t_is_prefix);
7879
7873
}
7880
7874
 
7881
 
int my_strnncollsp_any_uca(const CHARSET_INFO * const cs,
 
7875
static int my_strnncollsp_any_uca(const charset_info_st * const cs,
7882
7876
                           const unsigned char *s, size_t slen,
7883
7877
                           const unsigned char *t, size_t tlen,
7884
7878
                           bool diff_if_only_endspace_difference)
7888
7882
                            diff_if_only_endspace_difference);
7889
7883
}
7890
7884
 
7891
 
void my_hash_sort_any_uca(const CHARSET_INFO * const cs,
 
7885
static void my_hash_sort_any_uca(const charset_info_st * const cs,
7892
7886
                          const unsigned char *s, size_t slen,
7893
7887
                          uint32_t *n1, uint32_t *n2)
7894
7888
{
7895
7889
  my_hash_sort_uca(cs, &my_any_uca_scanner_handler, s, slen, n1, n2);
7896
7890
}
7897
7891
 
7898
 
size_t my_strnxfrm_any_uca(const CHARSET_INFO * const cs,
 
7892
static size_t my_strnxfrm_any_uca(const charset_info_st * const cs,
7899
7893
                           unsigned char *dst, size_t dstlen, uint32_t nweights,
7900
7894
                           const unsigned char *src, size_t srclen,
7901
7895
                           uint32_t flags)
7950
7944
 
7951
7945
extern MY_CHARSET_HANDLER my_charset_utf8mb4_handler;
7952
7946
 
7953
 
CHARSET_INFO my_charset_utf8mb4_unicode_ci=
 
7947
charset_info_st my_charset_utf8mb4_unicode_ci=
7954
7948
{
7955
7949
    224,0,0,             /* number       */
7956
7950
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
7977
7971
    9,                   /* min_sort_char */
7978
7972
    0xFFFF,              /* max_sort_char */
7979
7973
    ' ',                 /* pad char      */
7980
 
    0,                   /* escape_with_backslash_is_dangerous */
7981
7974
    1,                   /* levels_for_compare */
7982
7975
    1,                   /* levels_for_order   */
7983
7976
    &my_charset_utf8mb4_handler,
7985
7978
};
7986
7979
 
7987
7980
 
7988
 
CHARSET_INFO my_charset_utf8mb4_icelandic_uca_ci=
 
7981
charset_info_st my_charset_utf8mb4_icelandic_uca_ci=
7989
7982
{
7990
7983
    225,0,0,             /* number       */
7991
7984
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8012
8005
    9,                   /* min_sort_char */
8013
8006
    0xFFFF,              /* max_sort_char */
8014
8007
    ' ',                 /* pad char      */
8015
 
    0,                   /* escape_with_backslash_is_dangerous */
8016
8008
    1,                   /* levels_for_compare */
8017
8009
    1,                   /* levels_for_order   */
8018
8010
    &my_charset_utf8mb4_handler,
8019
8011
    &my_collation_any_uca_handler
8020
8012
};
8021
8013
 
8022
 
CHARSET_INFO my_charset_utf8mb4_latvian_uca_ci=
 
8014
charset_info_st my_charset_utf8mb4_latvian_uca_ci=
8023
8015
{
8024
8016
    226,0,0,             /* number       */
8025
8017
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8046
8038
    9,                   /* min_sort_char */
8047
8039
    0xFFFF,              /* max_sort_char */
8048
8040
    ' ',                 /* pad char      */
8049
 
    0,                   /* escape_with_backslash_is_dangerous */
8050
8041
    1,                   /* levels_for_compare */
8051
8042
    1,                   /* levels_for_order   */
8052
8043
    &my_charset_utf8mb4_handler,
8053
8044
    &my_collation_any_uca_handler
8054
8045
};
8055
8046
 
8056
 
CHARSET_INFO my_charset_utf8mb4_romanian_uca_ci=
 
8047
charset_info_st my_charset_utf8mb4_romanian_uca_ci=
8057
8048
{
8058
8049
    227,0,0,             /* number       */
8059
8050
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8080
8071
    9,                   /* min_sort_char */
8081
8072
    0xFFFF,              /* max_sort_char */
8082
8073
    ' ',                 /* pad char      */
8083
 
    0,                   /* escape_with_backslash_is_dangerous */
8084
8074
    1,                   /* levels_for_compare */
8085
8075
    1,                   /* levels_for_order   */
8086
8076
    &my_charset_utf8mb4_handler,
8087
8077
    &my_collation_any_uca_handler
8088
8078
};
8089
8079
 
8090
 
CHARSET_INFO my_charset_utf8mb4_slovenian_uca_ci=
 
8080
charset_info_st my_charset_utf8mb4_slovenian_uca_ci=
8091
8081
{
8092
8082
    228,0,0,             /* number       */
8093
8083
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8114
8104
    9,                   /* min_sort_char */
8115
8105
    0xFFFF,              /* max_sort_char */
8116
8106
    ' ',                 /* pad char      */
8117
 
    0,                   /* escape_with_backslash_is_dangerous */
8118
8107
    1,                   /* levels_for_compare */
8119
8108
    1,                   /* levels_for_order   */
8120
8109
    &my_charset_utf8mb4_handler,
8121
8110
    &my_collation_any_uca_handler
8122
8111
};
8123
8112
 
8124
 
CHARSET_INFO my_charset_utf8mb4_polish_uca_ci=
 
8113
charset_info_st my_charset_utf8mb4_polish_uca_ci=
8125
8114
{
8126
8115
    229,0,0,             /* number       */
8127
8116
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8148
8137
    9,                   /* min_sort_char */
8149
8138
    0xFFFF,              /* max_sort_char */
8150
8139
    ' ',                 /* pad char      */
8151
 
    0,                   /* escape_with_backslash_is_dangerous */
8152
8140
    1,                   /* levels_for_compare */
8153
8141
    1,                   /* levels_for_order   */
8154
8142
    &my_charset_utf8mb4_handler,
8155
8143
    &my_collation_any_uca_handler
8156
8144
};
8157
8145
 
8158
 
CHARSET_INFO my_charset_utf8mb4_estonian_uca_ci=
 
8146
charset_info_st my_charset_utf8mb4_estonian_uca_ci=
8159
8147
{
8160
8148
    230,0,0,             /* number       */
8161
8149
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8182
8170
    9,                   /* min_sort_char */
8183
8171
    0xFFFF,              /* max_sort_char */
8184
8172
    ' ',                 /* pad char      */
8185
 
    0,                   /* escape_with_backslash_is_dangerous */
8186
8173
    1,                   /* levels_for_compare */
8187
8174
    1,                   /* levels_for_order   */
8188
8175
    &my_charset_utf8mb4_handler,
8189
8176
    &my_collation_any_uca_handler
8190
8177
};
8191
8178
 
8192
 
CHARSET_INFO my_charset_utf8mb4_spanish_uca_ci=
 
8179
charset_info_st my_charset_utf8mb4_spanish_uca_ci=
8193
8180
{
8194
8181
    231,0,0,             /* number       */
8195
8182
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8216
8203
    9,                   /* min_sort_char */
8217
8204
    0xFFFF,              /* max_sort_char */
8218
8205
    ' ',                 /* pad char      */
8219
 
    0,                   /* escape_with_backslash_is_dangerous */
8220
8206
    1,                   /* levels_for_compare */
8221
8207
    1,                   /* levels_for_order   */
8222
8208
    &my_charset_utf8mb4_handler,
8223
8209
    &my_collation_any_uca_handler
8224
8210
};
8225
8211
 
8226
 
CHARSET_INFO my_charset_utf8mb4_swedish_uca_ci=
 
8212
charset_info_st my_charset_utf8mb4_swedish_uca_ci=
8227
8213
{
8228
8214
    232,0,0,             /* number       */
8229
8215
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8250
8236
    9,                   /* min_sort_char */
8251
8237
    0xFFFF,              /* max_sort_char */
8252
8238
    ' ',                 /* pad char      */
8253
 
    0,                   /* escape_with_backslash_is_dangerous */
8254
8239
    1,                   /* levels_for_compare */
8255
8240
    1,                   /* levels_for_order   */
8256
8241
    &my_charset_utf8mb4_handler,
8257
8242
    &my_collation_any_uca_handler
8258
8243
};
8259
8244
 
8260
 
CHARSET_INFO my_charset_utf8mb4_turkish_uca_ci=
 
8245
charset_info_st my_charset_utf8mb4_turkish_uca_ci=
8261
8246
{
8262
8247
    233,0,0,             /* number       */
8263
8248
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8284
8269
    9,                   /* min_sort_char */
8285
8270
    0xFFFF,              /* max_sort_char */
8286
8271
    ' ',                 /* pad char      */
8287
 
    0,                   /* escape_with_backslash_is_dangerous */
8288
8272
    1,                   /* levels_for_compare */
8289
8273
    1,                   /* levels_for_order   */
8290
8274
    &my_charset_utf8mb4_handler,
8291
8275
    &my_collation_any_uca_handler
8292
8276
};
8293
8277
 
8294
 
CHARSET_INFO my_charset_utf8mb4_czech_uca_ci=
 
8278
charset_info_st my_charset_utf8mb4_czech_uca_ci=
8295
8279
{
8296
8280
    234,0,0,             /* number       */
8297
8281
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8318
8302
    9,                   /* min_sort_char */
8319
8303
    0xFFFF,              /* max_sort_char */
8320
8304
    ' ',                 /* pad char      */
8321
 
    0,                   /* escape_with_backslash_is_dangerous */
8322
8305
    1,                   /* levels_for_compare */
8323
8306
    1,                   /* levels_for_order   */
8324
8307
    &my_charset_utf8mb4_handler,
8326
8309
};
8327
8310
 
8328
8311
 
8329
 
CHARSET_INFO my_charset_utf8mb4_danish_uca_ci=
 
8312
charset_info_st my_charset_utf8mb4_danish_uca_ci=
8330
8313
{
8331
8314
    235,0,0,             /* number       */
8332
8315
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8353
8336
    9,                   /* min_sort_char */
8354
8337
    0xFFFF,              /* max_sort_char */
8355
8338
    ' ',                 /* pad char      */
8356
 
    0,                   /* escape_with_backslash_is_dangerous */
8357
8339
    1,                   /* levels_for_compare */
8358
8340
    1,                   /* levels_for_order   */
8359
8341
    &my_charset_utf8mb4_handler,
8360
8342
    &my_collation_any_uca_handler
8361
8343
};
8362
8344
 
8363
 
CHARSET_INFO my_charset_utf8mb4_lithuanian_uca_ci=
 
8345
charset_info_st my_charset_utf8mb4_lithuanian_uca_ci=
8364
8346
{
8365
8347
    236,0,0,             /* number       */
8366
8348
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8387
8369
    9,                   /* min_sort_char */
8388
8370
    0xFFFF,              /* max_sort_char */
8389
8371
    ' ',                 /* pad char      */
8390
 
    0,                   /* escape_with_backslash_is_dangerous */
8391
8372
    1,                   /* levels_for_compare */
8392
8373
    1,                   /* levels_for_order   */
8393
8374
    &my_charset_utf8mb4_handler,
8394
8375
    &my_collation_any_uca_handler
8395
8376
};
8396
8377
 
8397
 
CHARSET_INFO my_charset_utf8mb4_slovak_uca_ci=
 
8378
charset_info_st my_charset_utf8mb4_slovak_uca_ci=
8398
8379
{
8399
8380
    237,0,0,             /* number       */
8400
8381
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8421
8402
    9,                   /* min_sort_char */
8422
8403
    0xFFFF,              /* max_sort_char */
8423
8404
    ' ',                 /* pad char      */
8424
 
    0,                   /* escape_with_backslash_is_dangerous */
8425
8405
    1,                   /* levels_for_compare */
8426
8406
    1,                   /* levels_for_order   */
8427
8407
    &my_charset_utf8mb4_handler,
8428
8408
    &my_collation_any_uca_handler
8429
8409
};
8430
8410
 
8431
 
CHARSET_INFO my_charset_utf8mb4_spanish2_uca_ci=
 
8411
charset_info_st my_charset_utf8mb4_spanish2_uca_ci=
8432
8412
{
8433
8413
    238,0,0,             /* number       */
8434
8414
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8455
8435
    9,                   /* min_sort_char */
8456
8436
    0xFFFF,              /* max_sort_char */
8457
8437
    ' ',                 /* pad char      */
8458
 
    0,                   /* escape_with_backslash_is_dangerous */
8459
8438
    1,                   /* levels_for_compare */
8460
8439
    1,                   /* levels_for_order   */
8461
8440
    &my_charset_utf8mb4_handler,
8462
8441
    &my_collation_any_uca_handler
8463
8442
};
8464
8443
 
8465
 
CHARSET_INFO my_charset_utf8mb4_roman_uca_ci=
 
8444
charset_info_st my_charset_utf8mb4_roman_uca_ci=
8466
8445
{
8467
8446
    239,0,0,             /* number       */
8468
8447
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8489
8468
    9,                   /* min_sort_char */
8490
8469
    0xFFFF,              /* max_sort_char */
8491
8470
    ' ',                 /* pad char      */
8492
 
    0,                   /* escape_with_backslash_is_dangerous */
8493
8471
    1,                   /* levels_for_compare */
8494
8472
    1,                   /* levels_for_order   */
8495
8473
    &my_charset_utf8mb4_handler,
8496
8474
    &my_collation_any_uca_handler
8497
8475
};
8498
8476
 
8499
 
CHARSET_INFO my_charset_utf8mb4_persian_uca_ci=
 
8477
charset_info_st my_charset_utf8mb4_persian_uca_ci=
8500
8478
{
8501
8479
    240,0,0,             /* number       */
8502
8480
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8523
8501
    9,                   /* min_sort_char */
8524
8502
    0xFFFF,              /* max_sort_char */
8525
8503
    ' ',                 /* pad char      */
8526
 
    0,                   /* escape_with_backslash_is_dangerous */
8527
8504
    1,                   /* levels_for_compare */
8528
8505
    1,                   /* levels_for_order   */
8529
8506
    &my_charset_utf8mb4_handler,
8530
8507
    &my_collation_any_uca_handler
8531
8508
};
8532
8509
 
8533
 
CHARSET_INFO my_charset_utf8mb4_esperanto_uca_ci=
 
8510
charset_info_st my_charset_utf8mb4_esperanto_uca_ci=
8534
8511
{
8535
8512
    241,0,0,             /* number       */
8536
8513
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8557
8534
    9,                   /* min_sort_char */
8558
8535
    0xFFFF,              /* max_sort_char */
8559
8536
    ' ',                 /* pad char      */
8560
 
    0,                   /* escape_with_backslash_is_dangerous */
8561
8537
    1,                   /* levels_for_compare */
8562
8538
    1,                   /* levels_for_order   */
8563
8539
    &my_charset_utf8mb4_handler,
8564
8540
    &my_collation_any_uca_handler
8565
8541
};
8566
8542
 
8567
 
CHARSET_INFO my_charset_utf8mb4_hungarian_uca_ci=
 
8543
charset_info_st my_charset_utf8mb4_hungarian_uca_ci=
8568
8544
{
8569
8545
    242,0,0,             /* number       */
8570
8546
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8591
8567
    9,                   /* min_sort_char */
8592
8568
    0xFFFF,              /* max_sort_char */
8593
8569
    ' ',                 /* pad char      */
8594
 
    0,                   /* escape_with_backslash_is_dangerous */
8595
8570
    1,                   /* levels_for_compare */
8596
8571
    1,                   /* levels_for_order   */
8597
8572
    &my_charset_utf8mb4_handler,
8598
8573
    &my_collation_any_uca_handler
8599
8574
};
8600
8575
 
8601
 
CHARSET_INFO my_charset_utf8mb4_sinhala_uca_ci=
 
8576
charset_info_st my_charset_utf8mb4_sinhala_uca_ci=
8602
8577
{
8603
8578
    243,0,0,            /* number       */
8604
8579
    MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
8625
8600
    9,                  /* min_sort_char */
8626
8601
    0xFFFF,             /* max_sort_char */
8627
8602
    ' ',                /* pad char      */
8628
 
    0,                  /* escape_with_backslash_is_dangerous */
8629
8603
    1,                  /* levels_for_compare */
8630
8604
    1,                  /* levels_for_order   */
8631
8605
    &my_charset_utf8mb4_handler,