summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2003-08-21 18:30:43 +0200
committerunknown <serg@serg.mylan>2003-08-21 18:30:43 +0200
commitc1551b4c04a68699872d80b7e1b9e5a969e4ff72 (patch)
tree73d6e3458f0aef120d5c361fde234488c2b99242 /sql
parente103da7acc6f3563a2f7207e59c34b9d9ff64295 (diff)
downloadmariadb-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.h2
-rw-r--r--sql/item_strfunc.cc19
-rw-r--r--sql/item_strfunc.h40
-rw-r--r--sql/lex.h2
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},