38 const unsigned char *tab,
41 const unsigned char *
start = l;
66 (
const char *) l,
len);
92 const unsigned char *
start = l;
199 const unsigned char *tab,
202 const unsigned char *
start = l;
230 (
const char *) l,
len);
262 const unsigned char *tab,
331 return (
s1 > d1 || (
s1 == d1 &&
s2 > d2)) ? 1 : ((
s1 == d1 &&
s2 == d2) ? 0 : -1);
346 return (
v1 >
v2) ? 1 : ((
v1 ==
v2) ? 0 : -1);
352static inline unsigned char *
355 if (code & 0xff000000)
356 *dest++ = code >> 24;
357 if (code & 0x00ff0000)
358 *dest++ = code >> 16;
359 if (code & 0x0000ff00)
361 if (code & 0x000000ff)
399 return rt->chars32[
b4 +
idx -
rt->b4_4_lower];
408 return rt->chars16[
b4 +
idx -
rt->b4_4_lower];
428 return rt->chars32[
b4 +
idx -
rt->b3_3_lower];
436 return rt->chars16[
b4 +
idx -
rt->b3_3_lower];
454 return rt->chars32[
b4 +
idx -
rt->b2_2_lower];
461 return rt->chars16[
b4 +
idx -
rt->b2_2_lower];
474 return rt->chars32[
b4 +
rt->b1root -
rt->b1_lower];
476 return rt->chars16[
b4 +
rt->b1root -
rt->b1_lower];
526 unsigned char b1 = 0;
527 unsigned char b2 = 0;
528 unsigned char b3 = 0;
529 unsigned char b4 = 0;
570 elog(
ERROR,
"unsupported character length %d", l);
627 elog(
ERROR,
"unsupported character length %d", l);
737 unsigned char b1 = 0;
738 unsigned char b2 = 0;
739 unsigned char b3 = 0;
740 unsigned char b4 = 0;
781 elog(
ERROR,
"unsupported character length %d", l);
Datum idx(PG_FUNCTION_ARGS)
#define IS_HIGHBIT_SET(ch)
int mic2latin_with_table(const unsigned char *mic, unsigned char *p, int len, int lc, int encoding, const unsigned char *tab, bool noError)
int UtfToLocal(const unsigned char *utf, int len, unsigned char *iso, const pg_mb_radix_tree *map, const pg_utf_to_local_combined *cmap, int cmapsize, utf_local_conversion_func conv_func, int encoding, bool noError)
static int compare3(const void *p1, const void *p2)
int latin2mic_with_table(const unsigned char *l, unsigned char *p, int len, int lc, int encoding, const unsigned char *tab, bool noError)
static unsigned char * store_coded_char(unsigned char *dest, uint32 code)
int mic2latin(const unsigned char *mic, unsigned char *p, int len, int lc, int encoding, bool noError)
static uint32 pg_mb_radix_conv(const pg_mb_radix_tree *rt, int l, unsigned char b1, unsigned char b2, unsigned char b3, unsigned char b4)
int LocalToUtf(const unsigned char *iso, int len, unsigned char *utf, const pg_mb_radix_tree *map, const pg_local_to_utf_combined *cmap, int cmapsize, utf_local_conversion_func conv_func, int encoding, bool noError)
static int compare4(const void *p1, const void *p2)
int local2local(const unsigned char *l, unsigned char *p, int len, int src_encoding, int dest_encoding, const unsigned char *tab, bool noError)
int latin2mic(const unsigned char *l, unsigned char *p, int len, int lc, int encoding, bool noError)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
void report_untranslatable_char(int src_encoding, int dest_encoding, const char *mbstr, int len)
void report_invalid_encoding(int encoding, const char *mbstr, int len)
uint32(* utf_local_conversion_func)(uint32 code)
#define PG_VALID_ENCODING(_enc)
bool pg_utf8_islegal(const unsigned char *source, int length)
int pg_mule_mblen(const unsigned char *s)
int pg_encoding_verifymbchar(int encoding, const char *mbstr, int len)