diff options
author | unknown <serg@serg.mylan> | 2003-08-21 18:30:43 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2003-08-21 18:30:43 +0200 |
commit | c1551b4c04a68699872d80b7e1b9e5a969e4ff72 (patch) | |
tree | 73d6e3458f0aef120d5c361fde234488c2b99242 /sql | |
parent | e103da7acc6f3563a2f7207e59c34b9d9ff64295 (diff) | |
download | mariadb-git-c1551b4c04a68699872d80b7e1b9e5a969e4ff72.tar.gz |
use crc32() from bundled zlib if system zlib is unavailable
sql/item_create.h:
previous patch cleanup
sql/item_strfunc.cc:
previous patch cleanup
sql/item_strfunc.h:
previous patch cleanup
sql/lex.h:
previous patch cleanup
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_create.h | 2 | ||||
-rw-r--r-- | sql/item_strfunc.cc | 19 | ||||
-rw-r--r-- | sql/item_strfunc.h | 40 | ||||
-rw-r--r-- | sql/lex.h | 2 |
4 files changed, 23 insertions, 40 deletions
diff --git a/sql/item_create.h b/sql/item_create.h index 1326077b096..e80272e21a5 100644 --- a/sql/item_create.h +++ b/sql/item_create.h @@ -33,9 +33,7 @@ Item *create_func_connection_id(void); Item *create_func_conv(Item* a, Item *b, Item *c); Item *create_func_cos(Item* a); Item *create_func_cot(Item* a); -#ifdef HAVE_COMPRESS Item *create_func_crc32(Item* a); -#endif Item *create_func_date_format(Item* a,Item *b); Item *create_func_dayname(Item* a); Item *create_func_dayofmonth(Item* a); diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 7c6e6e0686c..cb24fb0f027 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -2561,9 +2561,6 @@ longlong Item_func_uncompressed_length::val_int() return uint4korr(res->c_ptr()) & 0x3FFFFFFF; } -#ifdef HAVE_COMPRESS -#include "zlib.h" - longlong Item_func_crc32::val_int() { String *res=args[0]->val_str(&value); @@ -2573,21 +2570,11 @@ longlong Item_func_crc32::val_int() return 0; /* purecov: inspected */ } null_value=0; - return (longlong) crc32(0L, (Bytef*)res->ptr(), res->length()); + return (longlong) crc32(0L, (uchar*)res->ptr(), res->length()); } -longlong Item_func_uncompressed_length::val_int() -{ - String *res= args[0]->val_str(&value); - if (!res) - { - null_value=1; - return 0; /* purecov: inspected */ - } - null_value=0; - if (res->is_empty()) return 0; - return uint4korr(res->c_ptr()) & 0x3FFFFFFF; -} +#ifdef HAVE_COMPRESS +#include "zlib.h" String *Item_func_compress::val_str(String *str) { diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h index d7547d69aed..a8725febe62 100644 --- a/sql/item_strfunc.h +++ b/sql/item_strfunc.h @@ -630,6 +630,26 @@ public: }; }; +class Item_func_crc32 :public Item_int_func +{ + String value; +public: + Item_func_crc32(Item *a) :Item_int_func(a) {} + const char *func_name() const { return "crc32"; } + void fix_length_and_dec() { max_length=10; } + longlong val_int(); +}; + +class Item_func_uncompressed_length : public Item_int_func +{ + String value; +public: + Item_func_uncompressed_length(Item *a):Item_int_func(a){} + const char *func_name() const{return "uncompressed_length";} + void fix_length_and_dec() { max_length=10; } + longlong val_int(); +}; + #ifdef HAVE_COMPRESS #define ZLIB_DEPENDED_FUNCTION ; #else @@ -656,23 +676,3 @@ public: String *val_str(String *) ZLIB_DEPENDED_FUNCTION }; -class Item_func_crc32 :public Item_int_func -{ - String value; -public: - Item_func_crc32(Item *a) :Item_int_func(a) {} - const char *func_name() const { return "crc32"; } - void fix_length_and_dec() { max_length=10; } - longlong val_int() ZLIB_DEPENDED_FUNCTION -}; - -class Item_func_uncompressed_length : public Item_int_func -{ - String value; -public: - Item_func_uncompressed_length(Item *a):Item_int_func(a){} - const char *func_name() const{return "uncompressed_length";} - void fix_length_and_dec() { max_length=10; } - longlong val_int(); -}; - diff --git a/sql/lex.h b/sql/lex.h index 35c4d990b32..7ac61c73ad8 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -472,9 +472,7 @@ static SYMBOL sql_functions[] = { { "COUNT", SYM(COUNT_SYM),0,0}, { "COS", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cos)}, { "COT", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_cot)}, -#ifdef HAVE_COMPRESS { "CRC32", SYM(FUNC_ARG1),0,CREATE_FUNC(create_func_crc32)}, -#endif { "CROSSES", SYM(FUNC_ARG2),0,CREATE_FUNC(create_func_crosses)}, { "CURDATE", SYM(CURDATE),0,0}, { "CURTIME", SYM(CURTIME),0,0}, |