Merge lp:~brianaker/drizzle/error-fix into lp:drizzle/7.0

Proposed by Brian Aker
Status: Merged
Approved by: Brian Aker
Approved revision: 2186
Merged at revision: 2187
Proposed branch: lp:~brianaker/drizzle/error-fix
Merge into: lp:drizzle/7.0
Diff against target: 1413 lines (+212/-200)
42 files modified
configure.ac (+1/-0)
drizzled/errmsg_print.cc (+16/-0)
drizzled/field.cc (+12/-12)
drizzled/field.h (+15/-15)
drizzled/field/blob.cc (+8/-9)
drizzled/field/blob.h (+7/-7)
drizzled/field/boolean.cc (+14/-14)
drizzled/field/boolean.h (+4/-4)
drizzled/field/date.cc (+5/-5)
drizzled/field/date.h (+5/-5)
drizzled/field/datetime.cc (+5/-6)
drizzled/field/datetime.h (+5/-5)
drizzled/field/decimal.cc (+4/-5)
drizzled/field/decimal.h (+4/-4)
drizzled/field/double.cc (+3/-4)
drizzled/field/double.h (+3/-3)
drizzled/field/enum.cc (+3/-3)
drizzled/field/enum.h (+3/-3)
drizzled/field/epoch.cc (+6/-6)
drizzled/field/epoch.h (+6/-6)
drizzled/field/int32.cc (+3/-3)
drizzled/field/int32.h (+3/-3)
drizzled/field/int64.cc (+3/-3)
drizzled/field/int64.h (+3/-3)
drizzled/field/microtime.cc (+7/-7)
drizzled/field/microtime.h (+7/-7)
drizzled/field/null.h (+10/-10)
drizzled/field/num.cc (+1/-1)
drizzled/field/num.h (+1/-1)
drizzled/field/real.cc (+1/-1)
drizzled/field/real.h (+1/-1)
drizzled/field/size.cc (+3/-3)
drizzled/field/size.h (+3/-3)
drizzled/field/str.cc (+1/-1)
drizzled/field/str.h (+1/-1)
drizzled/field/time.cc (+8/-8)
drizzled/field/time.h (+8/-8)
drizzled/field/uuid.cc (+5/-5)
drizzled/field/uuid.h (+5/-5)
drizzled/field/varstring.cc (+4/-5)
drizzled/field/varstring.h (+4/-4)
drizzled/table.h (+1/-1)
To merge this branch: bzr merge lp:~brianaker/drizzle/error-fix
Reviewer Review Type Date Requested Status
Drizzle Developers Pending
Review via email: mp+50501@code.launchpad.net

Description of the change

Additional field const + fixes error message such that we correctly populate the error if GNU has been defined.

To post a comment you must log in.
lp:~brianaker/drizzle/error-fix updated
2187. By Brian Aker

Merge in additional header bits for strerror_r

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'configure.ac'
--- configure.ac 2011-02-13 17:26:39 +0000
+++ configure.ac 2011-02-20 21:39:20 +0000
@@ -72,6 +72,7 @@
72PANDORA_REQUIRE_LIBREADLINE72PANDORA_REQUIRE_LIBREADLINE
73PANDORA_REQUIRE_LIBDL73PANDORA_REQUIRE_LIBDL
74AC_LANG_POP74AC_LANG_POP
75AC_FUNC_STRERROR_R
7576
76DRIZZLE_STACK_DIRECTION77DRIZZLE_STACK_DIRECTION
7778
7879
=== modified file 'drizzled/errmsg_print.cc'
--- drizzled/errmsg_print.cc 2011-02-17 00:14:13 +0000
+++ drizzled/errmsg_print.cc 2011-02-20 21:39:20 +0000
@@ -36,10 +36,19 @@
3636
37void sql_perror(const char *message)37void sql_perror(const char *message)
38{38{
39 char *errmsg_ptr;
39 char errmsg[STRERROR_MAX];40 char errmsg[STRERROR_MAX];
40 errmsg[0]= 0;41 errmsg[0]= 0;
42
43#ifdef STRERROR_R_CHAR_P
44 errmsg_ptr= strerror_r(errno, errmsg, sizeof(errmsg));
45#else
41 strerror_r(errno, errmsg, sizeof(errmsg));46 strerror_r(errno, errmsg, sizeof(errmsg));
47 errmsg_ptr= errmsg;
48#endif
49
42 errmsg_printf(error::ERROR, "%s: %s\n", message, errmsg);50 errmsg_printf(error::ERROR, "%s: %s\n", message, errmsg);
51
43}52}
4453
45// @todo Cap the size of message.54// @todo Cap the size of message.
@@ -52,9 +61,16 @@
52// @todo Cap the size of message/extra.61// @todo Cap the size of message/extra.
53void sql_perror(std::string message, const std::string &extra)62void sql_perror(std::string message, const std::string &extra)
54{63{
64 char *errmsg_ptr;
55 char errmsg[STRERROR_MAX];65 char errmsg[STRERROR_MAX];
56 errmsg[0]= 0;66 errmsg[0]= 0;
67
68#ifdef STRERROR_R_CHAR_P
69 errmsg_ptr= strerror_r(errno, errmsg, sizeof(errmsg));
70#else
57 strerror_r(errno, errmsg, sizeof(errmsg));71 strerror_r(errno, errmsg, sizeof(errmsg));
72 errmsg_ptr= errmsg;
73#endif
5874
59 if (not extra.empty())75 if (not extra.empty())
60 {76 {
6177
=== modified file 'drizzled/field.cc'
--- drizzled/field.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field.cc 2011-02-20 21:39:20 +0000
@@ -746,26 +746,26 @@
746 return 0;746 return 0;
747}747}
748748
749bool Field::is_null(ptrdiff_t row_offset)749bool Field::is_null(ptrdiff_t row_offset) const
750{750{
751 return null_ptr ?751 return null_ptr ?
752 (null_ptr[row_offset] & null_bit ? true : false) :752 (null_ptr[row_offset] & null_bit ? true : false) :
753 table->null_row;753 table->null_row;
754}754}
755755
756bool Field::is_real_null(ptrdiff_t row_offset)756bool Field::is_real_null(ptrdiff_t row_offset) const
757{757{
758 return null_ptr ? (null_ptr[row_offset] & null_bit ? true : false) : false;758 return null_ptr ? (null_ptr[row_offset] & null_bit ? true : false) : false;
759}759}
760760
761bool Field::is_null_in_record(const unsigned char *record)761bool Field::is_null_in_record(const unsigned char *record) const
762{762{
763 if (! null_ptr)763 if (! null_ptr)
764 return false;764 return false;
765 return test(record[(uint32_t) (null_ptr -table->getInsertRecord())] & null_bit);765 return test(record[(uint32_t) (null_ptr -table->getInsertRecord())] & null_bit);
766}766}
767767
768bool Field::is_null_in_record_with_offset(ptrdiff_t with_offset)768bool Field::is_null_in_record_with_offset(ptrdiff_t with_offset) const
769{769{
770 if (! null_ptr)770 if (! null_ptr)
771 return false;771 return false;
@@ -784,12 +784,12 @@
784 null_ptr[row_offset]&= (unsigned char) ~null_bit;784 null_ptr[row_offset]&= (unsigned char) ~null_bit;
785}785}
786786
787bool Field::maybe_null(void)787bool Field::maybe_null(void) const
788{788{
789 return null_ptr != 0 || table->maybe_null;789 return null_ptr != 0 || table->maybe_null;
790}790}
791791
792bool Field::real_maybe_null(void)792bool Field::real_maybe_null(void) const
793{793{
794 return null_ptr != 0;794 return null_ptr != 0;
795}795}
@@ -851,7 +851,7 @@
851{851{
852}852}
853853
854void Field::hash(uint32_t *nr, uint32_t *nr2)854void Field::hash(uint32_t *nr, uint32_t *nr2) const
855{855{
856 if (is_null())856 if (is_null())
857 {857 {
@@ -943,7 +943,7 @@
943 return(result);943 return(result);
944}944}
945945
946type::Decimal *Field::val_decimal(type::Decimal *)946type::Decimal *Field::val_decimal(type::Decimal *) const
947{947{
948 /* This never have to be called */948 /* This never have to be called */
949 assert(0);949 assert(0);
@@ -1012,14 +1012,14 @@
1012 return copy->length+ store_length;1012 return copy->length+ store_length;
1013}1013}
10141014
1015bool Field::get_date(type::Time &ltime, uint32_t fuzzydate)1015bool Field::get_date(type::Time &ltime, uint32_t fuzzydate) const
1016{1016{
1017 char buff[type::Time::MAX_STRING_LENGTH];1017 char buff[type::Time::MAX_STRING_LENGTH];
1018 String tmp(buff,sizeof(buff),&my_charset_bin),*res;1018 String tmp(buff,sizeof(buff),&my_charset_bin),*res;
10191019
1020 assert(getTable() and getTable()->getSession());1020 assert(getTable() and getTable()->getSession());
10211021
1022 if (not (res=val_str_internal(&tmp)) or1022 if (not (res= val_str_internal(&tmp)) or
1023 str_to_datetime_with_warn(getTable()->getSession(),1023 str_to_datetime_with_warn(getTable()->getSession(),
1024 res->ptr(), res->length(),1024 res->ptr(), res->length(),
1025 &ltime, fuzzydate) <= type::DRIZZLE_TIMESTAMP_ERROR)1025 &ltime, fuzzydate) <= type::DRIZZLE_TIMESTAMP_ERROR)
@@ -1030,7 +1030,7 @@
1030 return false;1030 return false;
1031}1031}
10321032
1033bool Field::get_time(type::Time &ltime)1033bool Field::get_time(type::Time &ltime) const
1034{1034{
1035 char buff[type::Time::MAX_STRING_LENGTH];1035 char buff[type::Time::MAX_STRING_LENGTH];
1036 String tmp(buff,sizeof(buff),&my_charset_bin),*res;1036 String tmp(buff,sizeof(buff),&my_charset_bin),*res;
@@ -1253,7 +1253,7 @@
1253 }1253 }
1254}1254}
12551255
1256bool Field::isReadSet() 1256bool Field::isReadSet() const
1257{ 1257{
1258 return table->isReadSet(field_index); 1258 return table->isReadSet(field_index);
1259}1259}
12601260
=== modified file 'drizzled/field.h'
--- drizzled/field.h 2011-02-17 00:14:13 +0000
+++ drizzled/field.h 2011-02-20 21:39:20 +0000
@@ -217,10 +217,10 @@
217 Needs to be changed if/when we want to support different time formats.217 Needs to be changed if/when we want to support different time formats.
218 */218 */
219 virtual int store_time(type::Time &ltime, type::timestamp_t t_type);219 virtual int store_time(type::Time &ltime, type::timestamp_t t_type);
220 virtual double val_real()=0;220 virtual double val_real() const=0;
221 virtual int64_t val_int()=0;221 virtual int64_t val_int() const =0;
222 virtual type::Decimal *val_decimal(type::Decimal *);222 virtual type::Decimal *val_decimal(type::Decimal *) const;
223 String *val_str_internal(String *str)223 String *val_str_internal(String *str) const
224 {224 {
225 return val_str(str, str);225 return val_str(str, str);
226 }226 }
@@ -237,7 +237,7 @@
237 an unnecessary free (and later, may be an alloc).237 an unnecessary free (and later, may be an alloc).
238 This trickery is used to decrease a number of malloc calls.238 This trickery is used to decrease a number of malloc calls.
239 */239 */
240 virtual String *val_str(String*, String *)=0;240 virtual String *val_str(String*, String *) const =0;
241241
242 /*242 /*
243 str_needs_quotes() returns true if the value returned by val_str() needs243 str_needs_quotes() returns true if the value returned by val_str() needs
@@ -363,14 +363,14 @@
363 // For new field363 // For new field
364 virtual uint32_t size_of() const =0;364 virtual uint32_t size_of() const =0;
365365
366 bool is_null(ptrdiff_t row_offset= 0);366 bool is_null(ptrdiff_t row_offset= 0) const;
367 bool is_real_null(ptrdiff_t row_offset= 0);367 bool is_real_null(ptrdiff_t row_offset= 0) const;
368 bool is_null_in_record(const unsigned char *record);368 bool is_null_in_record(const unsigned char *record) const;
369 bool is_null_in_record_with_offset(ptrdiff_t offset);369 bool is_null_in_record_with_offset(ptrdiff_t offset) const;
370 void set_null(ptrdiff_t row_offset= 0);370 void set_null(ptrdiff_t row_offset= 0);
371 void set_notnull(ptrdiff_t row_offset= 0);371 void set_notnull(ptrdiff_t row_offset= 0);
372 bool maybe_null(void);372 bool maybe_null(void) const;
373 bool real_maybe_null(void);373 bool real_maybe_null(void) const;
374374
375 virtual void make_field(SendField *);375 virtual void make_field(SendField *);
376 virtual void sort_string(unsigned char *buff,uint32_t length)=0;376 virtual void sort_string(unsigned char *buff,uint32_t length)=0;
@@ -596,8 +596,8 @@
596 }596 }
597 void copy_from_tmp(int offset);597 void copy_from_tmp(int offset);
598 uint32_t fill_cache_field(CacheField *copy);598 uint32_t fill_cache_field(CacheField *copy);
599 virtual bool get_date(type::Time &ltime,uint32_t fuzzydate);599 virtual bool get_date(type::Time &ltime,uint32_t fuzzydate) const;
600 virtual bool get_time(type::Time &ltime);600 virtual bool get_time(type::Time &ltime) const;
601 virtual const CHARSET_INFO *charset(void) const { return &my_charset_bin; }601 virtual const CHARSET_INFO *charset(void) const { return &my_charset_bin; }
602 virtual const CHARSET_INFO *sort_charset(void) const { return charset(); }602 virtual const CHARSET_INFO *sort_charset(void) const { return charset(); }
603 virtual bool has_charset(void) const { return false; }603 virtual bool has_charset(void) const { return false; }
@@ -738,7 +738,7 @@
738 }738 }
739739
740 /* Hash value */740 /* Hash value */
741 virtual void hash(uint32_t *nr, uint32_t *nr2);741 virtual void hash(uint32_t *nr, uint32_t *nr2) const;
742 friend bool reopen_table(Session *,Table *,bool);742 friend bool reopen_table(Session *,Table *,bool);
743743
744 friend class CopyField;744 friend class CopyField;
@@ -754,7 +754,7 @@
754 friend class Item_sum_max;754 friend class Item_sum_max;
755 friend class Item_func_group_concat;755 friend class Item_func_group_concat;
756756
757 bool isReadSet();757 bool isReadSet() const;
758 bool isWriteSet();758 bool isWriteSet();
759 void setReadSet(bool arg= true);759 void setReadSet(bool arg= true);
760 void setWriteSet(bool arg= true);760 void setWriteSet(bool arg= true);
761761
=== modified file 'drizzled/field/blob.cc'
--- drizzled/field/blob.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/blob.cc 2011-02-20 21:39:20 +0000
@@ -90,7 +90,7 @@
9090
9191
92uint32_t Field_blob::get_length(const unsigned char *pos,92uint32_t Field_blob::get_length(const unsigned char *pos,
93 bool low_byte_first)93 bool low_byte_first) const
94{94{
95#ifndef WORDS_BIGENDIAN95#ifndef WORDS_BIGENDIAN
96 (void)low_byte_first;96 (void)low_byte_first;
@@ -113,14 +113,14 @@
113}113}
114114
115115
116uint32_t Field_blob::get_length(uint32_t row_offset)116uint32_t Field_blob::get_length(uint32_t row_offset) const
117{117{
118 return get_length(ptr+row_offset,118 return get_length(ptr+row_offset,
119 getTable()->getShare()->db_low_byte_first);119 getTable()->getShare()->db_low_byte_first);
120}120}
121121
122122
123uint32_t Field_blob::get_length(const unsigned char *ptr_arg)123uint32_t Field_blob::get_length(const unsigned char *ptr_arg) const
124{124{
125 return get_length(ptr_arg, getTable()->getShare()->db_low_byte_first);125 return get_length(ptr_arg, getTable()->getShare()->db_low_byte_first);
126}126}
@@ -224,7 +224,7 @@
224}224}
225225
226226
227double Field_blob::val_real(void)227double Field_blob::val_real(void) const
228{228{
229 int not_used;229 int not_used;
230 char *end_not_used, *blob;230 char *end_not_used, *blob;
@@ -242,7 +242,7 @@
242}242}
243243
244244
245int64_t Field_blob::val_int(void)245int64_t Field_blob::val_int(void) const
246{246{
247 int not_used;247 int not_used;
248 char *blob;248 char *blob;
@@ -252,12 +252,11 @@
252 memcpy(&blob,ptr+sizeof(uint32_t),sizeof(char*));252 memcpy(&blob,ptr+sizeof(uint32_t),sizeof(char*));
253 if (!blob)253 if (!blob)
254 return 0;254 return 0;
255 uint32_t length=get_length(ptr);255 uint32_t length= get_length(ptr);
256 return my_strntoll(charset(),blob,length,10,NULL,&not_used);256 return my_strntoll(charset(),blob,length,10,NULL,&not_used);
257}257}
258258
259String *Field_blob::val_str(String *,259String *Field_blob::val_str(String *, String *val_ptr) const
260 String *val_ptr)
261{260{
262 char *blob;261 char *blob;
263262
@@ -272,7 +271,7 @@
272}271}
273272
274273
275type::Decimal *Field_blob::val_decimal(type::Decimal *decimal_value)274type::Decimal *Field_blob::val_decimal(type::Decimal *decimal_value) const
276{275{
277 const char *blob;276 const char *blob;
278 size_t length;277 size_t length;
279278
=== modified file 'drizzled/field/blob.h'
--- drizzled/field/blob.h 2011-02-17 00:14:13 +0000
+++ drizzled/field/blob.h 2011-02-20 21:39:20 +0000
@@ -77,10 +77,10 @@
77 int store(double nr);77 int store(double nr);
78 int store(int64_t nr, bool unsigned_val);78 int store(int64_t nr, bool unsigned_val);
7979
80 double val_real(void);80 double val_real(void) const;
81 int64_t val_int(void);81 int64_t val_int(void) const;
82 String *val_str(String*,String *);82 String *val_str(String*,String *) const;
83 type::Decimal *val_decimal(type::Decimal *);83 type::Decimal *val_decimal(type::Decimal *) const;
84 int cmp_max(const unsigned char *, const unsigned char *, uint32_t max_length);84 int cmp_max(const unsigned char *, const unsigned char *, uint32_t max_length);
85 int cmp(const unsigned char *a,const unsigned char *b)85 int cmp(const unsigned char *a,const unsigned char *b)
86 { return cmp_max(a, b, UINT32_MAX); }86 { return cmp_max(a, b, UINT32_MAX); }
@@ -132,9 +132,9 @@
132 */132 */
133 uint32_t get_packed_size(const unsigned char *ptr_arg, bool low_byte_first);133 uint32_t get_packed_size(const unsigned char *ptr_arg, bool low_byte_first);
134134
135 DRIZZLED_API uint32_t get_length(uint32_t row_offset= 0);135 DRIZZLED_API uint32_t get_length(uint32_t row_offset= 0) const;
136 DRIZZLED_API uint32_t get_length(const unsigned char *ptr, bool low_byte_first);136 DRIZZLED_API uint32_t get_length(const unsigned char *ptr, bool low_byte_first) const;
137 DRIZZLED_API uint32_t get_length(const unsigned char *ptr_arg);137 DRIZZLED_API uint32_t get_length(const unsigned char *ptr_arg) const;
138 void put_length(unsigned char *pos, uint32_t length);138 void put_length(unsigned char *pos, uint32_t length);
139 inline void get_ptr(unsigned char **str)139 inline void get_ptr(unsigned char **str)
140 {140 {
141141
=== modified file 'drizzled/field/boolean.cc'
--- drizzled/field/boolean.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/boolean.cc 2011-02-20 21:39:20 +0000
@@ -123,19 +123,19 @@
123 res.set_ascii(STRING_WITH_LEN("boolean"));123 res.set_ascii(STRING_WITH_LEN("boolean"));
124}124}
125125
126double Boolean::val_real()126double Boolean::val_real() const
127{127{
128 ASSERT_COLUMN_MARKED_FOR_READ;128 ASSERT_COLUMN_MARKED_FOR_READ;
129 return isTrue();129 return isTrue();
130}130}
131131
132int64_t Boolean::val_int()132int64_t Boolean::val_int() const
133{133{
134 ASSERT_COLUMN_MARKED_FOR_READ;134 ASSERT_COLUMN_MARKED_FOR_READ;
135 return isTrue();135 return isTrue();
136}136}
137137
138String *Boolean::val_str(String *val_buffer, String *)138String *Boolean::val_str(String *val_buffer, String *) const
139{139{
140 ASSERT_COLUMN_MARKED_FOR_READ;140 ASSERT_COLUMN_MARKED_FOR_READ;
141141
@@ -144,7 +144,7 @@
144 return val_buffer;144 return val_buffer;
145}145}
146146
147type::Decimal *Boolean::val_decimal(type::Decimal *dec)147type::Decimal *Boolean::val_decimal(type::Decimal *dec) const
148{148{
149 if (isTrue())149 if (isTrue())
150 {150 {
151151
=== modified file 'drizzled/field/boolean.h'
--- drizzled/field/boolean.h 2011-02-02 20:10:49 +0000
+++ drizzled/field/boolean.h 2011-02-20 21:39:20 +0000
@@ -52,10 +52,10 @@
52 int store(int64_t nr, bool unsigned_val);52 int store(int64_t nr, bool unsigned_val);
53 int store_decimal(const drizzled::type::Decimal*);53 int store_decimal(const drizzled::type::Decimal*);
5454
55 String *val_str(String*,String *);55 String *val_str(String*,String *) const;
56 double val_real();56 double val_real() const;
57 int64_t val_int();57 int64_t val_int() const;
58 type::Decimal *val_decimal(type::Decimal *);58 type::Decimal *val_decimal(type::Decimal *) const;
5959
60 void sql_type(drizzled::String&) const;60 void sql_type(drizzled::String&) const;
6161
6262
=== modified file 'drizzled/field/date.cc'
--- drizzled/field/date.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/date.cc 2011-02-20 21:39:20 +0000
@@ -173,12 +173,12 @@
173 return error;173 return error;
174}174}
175175
176double Field_date::val_real(void)176double Field_date::val_real(void) const
177{177{
178 return (double) Field_date::val_int();178 return (double) Field_date::val_int();
179}179}
180180
181int64_t Field_date::val_int(void)181int64_t Field_date::val_int(void) const
182{182{
183 uint32_t j;183 uint32_t j;
184184
@@ -189,7 +189,7 @@
189 return (int64_t) j;189 return (int64_t) j;
190}190}
191191
192String *Field_date::val_str(String *val_buffer, String *)192String *Field_date::val_str(String *val_buffer, String *) const
193{193{
194 val_buffer->alloc(field_length);194 val_buffer->alloc(field_length);
195 val_buffer->length(field_length);195 val_buffer->length(field_length);
@@ -217,7 +217,7 @@
217 return val_buffer;217 return val_buffer;
218}218}
219219
220bool Field_date::get_date(type::Time &ltime, uint32_t fuzzydate)220bool Field_date::get_date(type::Time &ltime, uint32_t fuzzydate) const
221{221{
222 uint32_t tmp=(uint32_t) uint4korr(ptr);222 uint32_t tmp=(uint32_t) uint4korr(ptr);
223 ltime.day= (int) (tmp%100);223 ltime.day= (int) (tmp%100);
@@ -230,7 +230,7 @@
230 1 : 0);230 1 : 0);
231}231}
232232
233bool Field_date::get_time(type::Time &ltime)233bool Field_date::get_time(type::Time &ltime) const
234{234{
235 return Field_date::get_date(ltime ,0);235 return Field_date::get_date(ltime ,0);
236}236}
237237
=== modified file 'drizzled/field/date.h'
--- drizzled/field/date.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/date.h 2011-02-20 21:39:20 +0000
@@ -66,17 +66,17 @@
66 int store(int64_t nr, bool unsigned_val);66 int store(int64_t nr, bool unsigned_val);
67 int store_time(type::Time &ltime, type::timestamp_t type);67 int store_time(type::Time &ltime, type::timestamp_t type);
68 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }68 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }
69 double val_real(void);69 double val_real(void) const;
70 int64_t val_int(void);70 int64_t val_int(void) const;
71 String *val_str(String*,String *);71 String *val_str(String*,String *) const;
72 int cmp(const unsigned char *,const unsigned char *);72 int cmp(const unsigned char *,const unsigned char *);
73 void sort_string(unsigned char *buff,uint32_t length);73 void sort_string(unsigned char *buff,uint32_t length);
74 uint32_t pack_length() const { return 4; }74 uint32_t pack_length() const { return 4; }
75 void sql_type(String &str) const;75 void sql_type(String &str) const;
76 bool can_be_compared_as_int64_t() const { return true; }76 bool can_be_compared_as_int64_t() const { return true; }
77 bool zero_pack() const { return 1; }77 bool zero_pack() const { return 1; }
78 bool get_date(type::Time &ltime,uint32_t fuzzydate);78 bool get_date(type::Time &ltime,uint32_t fuzzydate) const;
79 bool get_time(type::Time &ltime);79 bool get_time(type::Time &ltime) const;
80};80};
8181
82} /* namespace drizzled */82} /* namespace drizzled */
8383
=== modified file 'drizzled/field/datetime.cc'
--- drizzled/field/datetime.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/datetime.cc 2011-02-20 21:39:20 +0000
@@ -158,12 +158,12 @@
158 return 0;158 return 0;
159}159}
160160
161double Field_datetime::val_real(void)161double Field_datetime::val_real(void) const
162{162{
163 return (double) Field_datetime::val_int();163 return (double) Field_datetime::val_int();
164}164}
165165
166int64_t Field_datetime::val_int(void)166int64_t Field_datetime::val_int(void) const
167{167{
168 int64_t j;168 int64_t j;
169169
@@ -179,8 +179,7 @@
179}179}
180180
181181
182String *Field_datetime::val_str(String *val_buffer,182String *Field_datetime::val_str(String *val_buffer, String *) const
183 String *)
184{183{
185 val_buffer->alloc(DateTime::MAX_STRING_LENGTH);184 val_buffer->alloc(DateTime::MAX_STRING_LENGTH);
186 val_buffer->length(DateTime::MAX_STRING_LENGTH);185 val_buffer->length(DateTime::MAX_STRING_LENGTH);
@@ -217,7 +216,7 @@
217 return val_buffer;216 return val_buffer;
218}217}
219218
220bool Field_datetime::get_date(type::Time &ltime, uint32_t fuzzydate)219bool Field_datetime::get_date(type::Time &ltime, uint32_t fuzzydate) const
221{220{
222 int64_t tmp=Field_datetime::val_int();221 int64_t tmp=Field_datetime::val_int();
223 uint32_t part1,part2;222 uint32_t part1,part2;
@@ -237,7 +236,7 @@
237 return (!(fuzzydate & TIME_FUZZY_DATE) && (!ltime.month || !ltime.day)) ? 1 : 0;236 return (!(fuzzydate & TIME_FUZZY_DATE) && (!ltime.month || !ltime.day)) ? 1 : 0;
238}237}
239238
240bool Field_datetime::get_time(type::Time &ltime)239bool Field_datetime::get_time(type::Time &ltime) const
241{240{
242 return Field_datetime::get_date(ltime,0);241 return Field_datetime::get_date(ltime,0);
243}242}
244243
=== modified file 'drizzled/field/datetime.h'
--- drizzled/field/datetime.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/datetime.h 2011-02-20 21:39:20 +0000
@@ -69,17 +69,17 @@
69 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;69 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;
70 return 0;70 return 0;
71 }71 }
72 double val_real(void);72 double val_real(void) const;
73 int64_t val_int(void);73 int64_t val_int(void) const;
74 String *val_str(String*,String *);74 String *val_str(String*,String *) const;
75 int cmp(const unsigned char *,const unsigned char *);75 int cmp(const unsigned char *,const unsigned char *);
76 void sort_string(unsigned char *buff,uint32_t length);76 void sort_string(unsigned char *buff,uint32_t length);
77 uint32_t pack_length() const { return 8; }77 uint32_t pack_length() const { return 8; }
78 void sql_type(String &str) const;78 void sql_type(String &str) const;
79 bool can_be_compared_as_int64_t() const { return true; }79 bool can_be_compared_as_int64_t() const { return true; }
80 bool zero_pack() const { return 1; }80 bool zero_pack() const { return 1; }
81 bool get_date(type::Time &ltime,uint32_t fuzzydate);81 bool get_date(type::Time &ltime,uint32_t fuzzydate) const;
82 bool get_time(type::Time &ltime);82 bool get_time(type::Time &ltime) const;
83};83};
8484
85} /* namespace drizzled */85} /* namespace drizzled */
8686
=== modified file 'drizzled/field/decimal.cc'
--- drizzled/field/decimal.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/decimal.cc 2011-02-20 21:39:20 +0000
@@ -260,7 +260,7 @@
260}260}
261261
262262
263double Field_decimal::val_real(void)263double Field_decimal::val_real(void) const
264{264{
265 double dbl;265 double dbl;
266 type::Decimal decimal_value;266 type::Decimal decimal_value;
@@ -273,7 +273,7 @@
273}273}
274274
275275
276int64_t Field_decimal::val_int(void)276int64_t Field_decimal::val_int(void) const
277{277{
278 int64_t i;278 int64_t i;
279 type::Decimal decimal_value;279 type::Decimal decimal_value;
@@ -286,7 +286,7 @@
286}286}
287287
288288
289type::Decimal* Field_decimal::val_decimal(type::Decimal *decimal_value)289type::Decimal* Field_decimal::val_decimal(type::Decimal *decimal_value) const
290{290{
291 ASSERT_COLUMN_MARKED_FOR_READ;291 ASSERT_COLUMN_MARKED_FOR_READ;
292292
@@ -296,8 +296,7 @@
296}296}
297297
298298
299String *Field_decimal::val_str(String *val_buffer,299String *Field_decimal::val_str(String *val_buffer, String *) const
300 String *)
301{300{
302 type::Decimal decimal_value;301 type::Decimal decimal_value;
303302
304303
=== modified file 'drizzled/field/decimal.h'
--- drizzled/field/decimal.h 2011-02-03 06:31:52 +0000
+++ drizzled/field/decimal.h 2011-02-20 21:39:20 +0000
@@ -70,10 +70,10 @@
70 int store(int64_t nr, bool unsigned_val);70 int store(int64_t nr, bool unsigned_val);
71 int store_time(type::Time &ltime, type::timestamp_t t_type);71 int store_time(type::Time &ltime, type::timestamp_t t_type);
72 int store_decimal(const type::Decimal *);72 int store_decimal(const type::Decimal *);
73 double val_real(void);73 double val_real(void) const;
74 int64_t val_int(void);74 int64_t val_int(void) const;
75 type::Decimal *val_decimal(type::Decimal *);75 type::Decimal *val_decimal(type::Decimal *) const;
76 String *val_str(String*, String *);76 String *val_str(String*, String *) const;
77 int cmp(const unsigned char *, const unsigned char *);77 int cmp(const unsigned char *, const unsigned char *);
78 void sort_string(unsigned char *buff, uint32_t length);78 void sort_string(unsigned char *buff, uint32_t length);
79 bool zero_pack() const { return 0; }79 bool zero_pack() const { return 0; }
8080
=== modified file 'drizzled/field/double.cc'
--- drizzled/field/double.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/double.cc 2011-02-20 21:39:20 +0000
@@ -84,7 +84,7 @@
84 (double) nr);84 (double) nr);
85}85}
8686
87double Field_double::val_real(void)87double Field_double::val_real(void) const
88{88{
89 double j;89 double j;
9090
@@ -101,7 +101,7 @@
101 return j;101 return j;
102}102}
103103
104int64_t Field_double::val_int(void)104int64_t Field_double::val_int(void) const
105{105{
106 double j;106 double j;
107 int64_t res;107 int64_t res;
@@ -144,8 +144,7 @@
144}144}
145145
146146
147String *Field_double::val_str(String *val_buffer,147String *Field_double::val_str(String *val_buffer, String *) const
148 String *)
149{148{
150 double nr;149 double nr;
151150
152151
=== modified file 'drizzled/field/double.h'
--- drizzled/field/double.h 2010-02-26 08:21:58 +0000
+++ drizzled/field/double.h 2011-02-20 21:39:20 +0000
@@ -59,9 +59,9 @@
59 int store(double nr);59 int store(double nr);
60 int store(int64_t nr, bool unsigned_val);60 int store(int64_t nr, bool unsigned_val);
61 int reset(void) { memset(ptr, 0, sizeof(double)); return 0; }61 int reset(void) { memset(ptr, 0, sizeof(double)); return 0; }
62 double val_real(void);62 double val_real(void) const;
63 int64_t val_int(void);63 int64_t val_int(void) const;
64 String *val_str(String*,String *);64 String *val_str(String*,String *) const;
65 int cmp(const unsigned char *,const unsigned char *);65 int cmp(const unsigned char *,const unsigned char *);
66 void sort_string(unsigned char *buff,uint32_t length);66 void sort_string(unsigned char *buff,uint32_t length);
67 uint32_t pack_length() const { return sizeof(double); }67 uint32_t pack_length() const { return sizeof(double); }
6868
=== modified file 'drizzled/field/enum.cc'
--- drizzled/field/enum.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/enum.cc 2011-02-20 21:39:20 +0000
@@ -121,12 +121,12 @@
121 return 0;121 return 0;
122}122}
123123
124double Field_enum::val_real(void)124double Field_enum::val_real(void) const
125{125{
126 return (double) Field_enum::val_int();126 return (double) Field_enum::val_int();
127}127}
128128
129int64_t Field_enum::val_int(void)129int64_t Field_enum::val_int(void) const
130{130{
131 ASSERT_COLUMN_MARKED_FOR_READ;131 ASSERT_COLUMN_MARKED_FOR_READ;
132132
@@ -140,7 +140,7 @@
140 return ((int64_t) tmp) + 1; /* SQL is from 1, we store from 0 */140 return ((int64_t) tmp) + 1; /* SQL is from 1, we store from 0 */
141}141}
142142
143String *Field_enum::val_str(String *, String *val_ptr)143String *Field_enum::val_str(String *, String *val_ptr) const
144{144{
145 uint32_t tmp=(uint32_t) Field_enum::val_int();145 uint32_t tmp=(uint32_t) Field_enum::val_int();
146146
147147
=== modified file 'drizzled/field/enum.h'
--- drizzled/field/enum.h 2011-02-17 00:14:13 +0000
+++ drizzled/field/enum.h 2011-02-20 21:39:20 +0000
@@ -61,9 +61,9 @@
61 int store(const char *to, uint32_t length, const CHARSET_INFO * const);61 int store(const char *to, uint32_t length, const CHARSET_INFO * const);
62 int store(double nr);62 int store(double nr);
63 int store(int64_t nr, bool unsigned_val);63 int store(int64_t nr, bool unsigned_val);
64 double val_real(void);64 double val_real(void) const;
65 int64_t val_int(void);65 int64_t val_int(void) const;
66 String *val_str(String*, String *);66 String *val_str(String*, String *) const;
67 int cmp(const unsigned char *, const unsigned char *);67 int cmp(const unsigned char *, const unsigned char *);
68 void sort_string(unsigned char *buff, uint32_t length);68 void sort_string(unsigned char *buff, uint32_t length);
69 void store_type(uint64_t value);69 void store_type(uint64_t value);
7070
=== modified file 'drizzled/field/epoch.cc'
--- drizzled/field/epoch.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/epoch.cc 2011-02-20 21:39:20 +0000
@@ -236,12 +236,12 @@
236 return 0;236 return 0;
237}237}
238238
239double Epoch::val_real(void)239double Epoch::val_real(void) const
240{240{
241 return (double) Epoch::val_int();241 return (double) Epoch::val_int();
242}242}
243243
244int64_t Epoch::val_int(void)244int64_t Epoch::val_int(void) const
245{245{
246 uint64_t temp;246 uint64_t temp;
247247
@@ -258,7 +258,7 @@
258 return result;258 return result;
259}259}
260260
261String *Epoch::val_str(String *val_buffer, String *)261String *Epoch::val_str(String *val_buffer, String *) const
262{262{
263 uint64_t temp= 0;263 uint64_t temp= 0;
264 char *to;264 char *to;
@@ -282,7 +282,7 @@
282 return val_buffer;282 return val_buffer;
283}283}
284284
285bool Epoch::get_date(type::Time &ltime, uint32_t)285bool Epoch::get_date(type::Time &ltime, uint32_t) const
286{286{
287 uint64_t temp;287 uint64_t temp;
288 type::Time::epoch_t time_temp;288 type::Time::epoch_t time_temp;
@@ -297,7 +297,7 @@
297 return 0;297 return 0;
298}298}
299299
300bool Epoch::get_time(type::Time &ltime)300bool Epoch::get_time(type::Time &ltime) const
301{301{
302 return Epoch::get_date(ltime, 0);302 return Epoch::get_date(ltime, 0);
303}303}
@@ -368,7 +368,7 @@
368 }368 }
369}369}
370370
371long Epoch::get_timestamp(bool *null_value)371long Epoch::get_timestamp(bool *null_value) const
372{372{
373 if ((*null_value= is_null()))373 if ((*null_value= is_null()))
374 return 0;374 return 0;
375375
=== modified file 'drizzled/field/epoch.h'
--- drizzled/field/epoch.h 2011-01-25 05:20:15 +0000
+++ drizzled/field/epoch.h 2011-02-20 21:39:20 +0000
@@ -58,9 +58,9 @@
58 int store_decimal(const type::Decimal *value);58 int store_decimal(const type::Decimal *value);
5959
60 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; return 0; }60 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; return 0; }
61 double val_real(void);61 double val_real(void) const;
62 int64_t val_int(void);62 int64_t val_int(void) const;
63 String *val_str(String*,String *);63 String *val_str(String*,String *) const;
64 int cmp(const unsigned char *,const unsigned char *);64 int cmp(const unsigned char *,const unsigned char *);
65 void sort_string(unsigned char *buff,uint32_t length);65 void sort_string(unsigned char *buff,uint32_t length);
66 uint32_t pack_length() const { return 8; }66 uint32_t pack_length() const { return 8; }
@@ -71,7 +71,7 @@
71 virtual void set_default();71 virtual void set_default();
7272
73 /* Get TIMESTAMP field value as seconds since begging of Unix Epoch */73 /* Get TIMESTAMP field value as seconds since begging of Unix Epoch */
74 virtual long get_timestamp(bool *null_value);74 virtual long get_timestamp(bool *null_value) const;
7575
76 virtual bool is_timestamp() const76 virtual bool is_timestamp() const
77 {77 {
@@ -79,8 +79,8 @@
79 }79 }
8080
81private:81private:
82 bool get_date(type::Time &ltime,uint32_t fuzzydate);82 bool get_date(type::Time &ltime,uint32_t fuzzydate) const;
83 bool get_time(type::Time &ltime);83 bool get_time(type::Time &ltime) const;
8484
85public:85public:
86 virtual timestamp_auto_set_type get_auto_set_type() const;86 virtual timestamp_auto_set_type get_auto_set_type() const;
8787
=== modified file 'drizzled/field/int32.cc'
--- drizzled/field/int32.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/int32.cc 2011-02-20 21:39:20 +0000
@@ -121,7 +121,7 @@
121 }121 }
122122
123123
124 double Int32::val_real(void)124 double Int32::val_real(void) const
125 {125 {
126 int32_t j;126 int32_t j;
127127
@@ -132,7 +132,7 @@
132 return (double) j;132 return (double) j;
133 }133 }
134134
135 int64_t Int32::val_int(void)135 int64_t Int32::val_int(void) const
136 {136 {
137 int32_t j;137 int32_t j;
138138
@@ -143,7 +143,7 @@
143 return (int64_t) j;143 return (int64_t) j;
144 }144 }
145145
146 String *Int32::val_str(String *val_buffer, String *)146 String *Int32::val_str(String *val_buffer, String *) const
147 {147 {
148 const CHARSET_INFO * const cs= &my_charset_bin;148 const CHARSET_INFO * const cs= &my_charset_bin;
149 uint32_t length;149 uint32_t length;
150150
=== modified file 'drizzled/field/int32.h'
--- drizzled/field/int32.h 2010-12-18 00:43:02 +0000
+++ drizzled/field/int32.h 2011-02-20 21:39:20 +0000
@@ -62,9 +62,9 @@
62 int store(double nr);62 int store(double nr);
63 int store(int64_t nr, bool unsigned_val);63 int store(int64_t nr, bool unsigned_val);
64 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }64 int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }
65 double val_real(void);65 double val_real(void) const;
66 int64_t val_int(void);66 int64_t val_int(void) const;
67 String *val_str(String*,String *);67 String *val_str(String*,String *) const;
68 int cmp(const unsigned char *,const unsigned char *);68 int cmp(const unsigned char *,const unsigned char *);
69 void sort_string(unsigned char *buff,uint32_t length);69 void sort_string(unsigned char *buff,uint32_t length);
70 uint32_t pack_length() const { return 4; }70 uint32_t pack_length() const { return 4; }
7171
=== modified file 'drizzled/field/int64.cc'
--- drizzled/field/int64.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/int64.cc 2011-02-20 21:39:20 +0000
@@ -121,7 +121,7 @@
121}121}
122122
123123
124double Int64::val_real(void)124double Int64::val_real(void) const
125{125{
126 int64_t j;126 int64_t j;
127127
@@ -134,7 +134,7 @@
134}134}
135135
136136
137int64_t Int64::val_int(void)137int64_t Int64::val_int(void) const
138{138{
139 int64_t j;139 int64_t j;
140140
@@ -146,7 +146,7 @@
146}146}
147147
148148
149String *Int64::val_str(String *val_buffer, String *)149String *Int64::val_str(String *val_buffer, String *) const
150{150{
151 const CHARSET_INFO * const cs= &my_charset_bin;151 const CHARSET_INFO * const cs= &my_charset_bin;
152 uint32_t length;152 uint32_t length;
153153
=== modified file 'drizzled/field/int64.h'
--- drizzled/field/int64.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/int64.h 2011-02-20 21:39:20 +0000
@@ -80,9 +80,9 @@
80 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;80 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;
81 return 0;81 return 0;
82 }82 }
83 double val_real(void);83 double val_real(void) const;
84 int64_t val_int(void);84 int64_t val_int(void) const;
85 String *val_str(String*,String *);85 String *val_str(String*,String *) const;
86 int cmp(const unsigned char *,const unsigned char *);86 int cmp(const unsigned char *,const unsigned char *);
87 void sort_string(unsigned char *buff,uint32_t length);87 void sort_string(unsigned char *buff,uint32_t length);
88 uint32_t pack_length() const { return 8; }88 uint32_t pack_length() const { return 8; }
8989
=== modified file 'drizzled/field/microtime.cc'
--- drizzled/field/microtime.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/microtime.cc 2011-02-20 21:39:20 +0000
@@ -158,7 +158,7 @@
158 return 0;158 return 0;
159}159}
160160
161double Microtime::val_real(void)161double Microtime::val_real(void) const
162{162{
163 uint64_t temp;163 uint64_t temp;
164 type::Time::usec_t micro_temp;164 type::Time::usec_t micro_temp;
@@ -180,7 +180,7 @@
180 return result;180 return result;
181}181}
182182
183type::Decimal *Microtime::val_decimal(type::Decimal *decimal_value)183type::Decimal *Microtime::val_decimal(type::Decimal *decimal_value) const
184{184{
185 type::Time ltime;185 type::Time ltime;
186186
@@ -189,7 +189,7 @@
189 return date2_class_decimal(&ltime, decimal_value);189 return date2_class_decimal(&ltime, decimal_value);
190}190}
191191
192int64_t Microtime::val_int(void)192int64_t Microtime::val_int(void) const
193{193{
194 uint64_t temp;194 uint64_t temp;
195195
@@ -207,7 +207,7 @@
207 return result;207 return result;
208}208}
209209
210String *Microtime::val_str(String *val_buffer, String *)210String *Microtime::val_str(String *val_buffer, String *) const
211{211{
212 uint64_t temp= 0;212 uint64_t temp= 0;
213 type::Time::usec_t micro_temp= 0;213 type::Time::usec_t micro_temp= 0;
@@ -224,7 +224,7 @@
224 return val_buffer;224 return val_buffer;
225}225}
226226
227bool Microtime::get_date(type::Time &ltime, uint32_t)227bool Microtime::get_date(type::Time &ltime, uint32_t) const
228{228{
229 uint64_t temp;229 uint64_t temp;
230 uint32_t micro_temp= 0;230 uint32_t micro_temp= 0;
@@ -239,7 +239,7 @@
239 return false;239 return false;
240}240}
241241
242bool Microtime::get_time(type::Time &ltime)242bool Microtime::get_time(type::Time &ltime) const
243{243{
244 return Microtime::get_date(ltime, 0);244 return Microtime::get_date(ltime, 0);
245}245}
@@ -294,7 +294,7 @@
294 pack_num(fractional_seconds, ptr +8);294 pack_num(fractional_seconds, ptr +8);
295}295}
296296
297long Microtime::get_timestamp(bool *null_value)297long Microtime::get_timestamp(bool *null_value) const
298{298{
299 if ((*null_value= is_null()))299 if ((*null_value= is_null()))
300 return 0;300 return 0;
301301
=== modified file 'drizzled/field/microtime.h'
--- drizzled/field/microtime.h 2011-01-25 05:20:15 +0000
+++ drizzled/field/microtime.h 2011-02-20 21:39:20 +0000
@@ -56,10 +56,10 @@
56 int store(int64_t nr, bool unsigned_val);56 int store(int64_t nr, bool unsigned_val);
57 int store_time(type::Time &ltime, type::timestamp_t t_type);57 int store_time(type::Time &ltime, type::timestamp_t t_type);
5858
59 String *val_str(String*,String *);59 String *val_str(String*,String *) const;
60 double val_real(void);60 double val_real(void) const;
61 int64_t val_int(void);61 int64_t val_int(void) const;
62 type::Decimal *val_decimal(type::Decimal *decimal_value);62 type::Decimal *val_decimal(type::Decimal *decimal_value) const;
6363
64 int cmp(const unsigned char *,const unsigned char *);64 int cmp(const unsigned char *,const unsigned char *);
65 void sort_string(unsigned char *buff,uint32_t length);65 void sort_string(unsigned char *buff,uint32_t length);
@@ -70,11 +70,11 @@
70 void set_time();70 void set_time();
7171
72 /* Get TIMESTAMP field value as seconds since begging of Unix Microtime */72 /* Get TIMESTAMP field value as seconds since begging of Unix Microtime */
73 long get_timestamp(bool *null_value);73 long get_timestamp(bool *null_value) const;
7474
75private:75private:
76 bool get_date(type::Time &ltime,uint32_t fuzzydate);76 bool get_date(type::Time &ltime,uint32_t fuzzydate) const;
77 bool get_time(type::Time &ltime);77 bool get_time(type::Time &ltime) const;
7878
79public:79public:
80 static size_t max_string_length()80 static size_t max_string_length()
8181
=== modified file 'drizzled/field/null.h'
--- drizzled/field/null.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/null.h 2011-02-20 21:39:20 +0000
@@ -79,19 +79,19 @@
79 {79 {
80 return 0;80 return 0;
81 }81 }
82 double val_real(void)82 double val_real(void) const
83 {83 {
84 return 0.0;84 return 0.0;
85 }85 }
86 int64_t val_int(void)86 int64_t val_int(void) const
87 {87 {
88 return 0;88 return 0;
89 }89 }
90 type::Decimal *val_decimal(type::Decimal *)90 type::Decimal *val_decimal(type::Decimal *) const
91 {91 {
92 return 0;92 return 0;
93 }93 }
94 String *val_str(String *, String *value2)94 String *val_str(String *, String *value2) const
95 {95 {
96 value2->length(0);96 value2->length(0);
97 return value2;97 return value2;
9898
=== modified file 'drizzled/field/num.cc'
--- drizzled/field/num.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/num.cc 2011-02-20 21:39:20 +0000
@@ -189,7 +189,7 @@
189 pointer to decimal buffer with value of field189 pointer to decimal buffer with value of field
190*/190*/
191191
192type::Decimal* Field_num::val_decimal(type::Decimal *decimal_value)192type::Decimal* Field_num::val_decimal(type::Decimal *decimal_value) const
193{193{
194 assert(result_type() == INT_RESULT);194 assert(result_type() == INT_RESULT);
195195
196196
=== modified file 'drizzled/field/num.h'
--- drizzled/field/num.h 2011-02-17 00:14:13 +0000
+++ drizzled/field/num.h 2011-02-20 21:39:20 +0000
@@ -52,7 +52,7 @@
5252
53 int store_decimal(const type::Decimal *);53 int store_decimal(const type::Decimal *);
5454
55 type::Decimal *val_decimal(type::Decimal *);55 type::Decimal *val_decimal(type::Decimal *) const;
5656
57 uint32_t is_equal(CreateField *new_field);57 uint32_t is_equal(CreateField *new_field);
5858
5959
=== modified file 'drizzled/field/real.cc'
--- drizzled/field/real.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/real.cc 2011-02-20 21:39:20 +0000
@@ -136,7 +136,7 @@
136 return store(dbl);136 return store(dbl);
137}137}
138138
139type::Decimal *Field_real::val_decimal(type::Decimal *decimal_value)139type::Decimal *Field_real::val_decimal(type::Decimal *decimal_value) const
140{140{
141 ASSERT_COLUMN_MARKED_FOR_READ;141 ASSERT_COLUMN_MARKED_FOR_READ;
142142
143143
=== modified file 'drizzled/field/real.h'
--- drizzled/field/real.h 2010-12-25 01:27:46 +0000
+++ drizzled/field/real.h 2011-02-20 21:39:20 +0000
@@ -43,7 +43,7 @@
43 not_fixed(dec_arg >= NOT_FIXED_DEC)43 not_fixed(dec_arg >= NOT_FIXED_DEC)
44 {}44 {}
45 int store_decimal(const type::Decimal *);45 int store_decimal(const type::Decimal *);
46 type::Decimal *val_decimal(type::Decimal *);46 type::Decimal *val_decimal(type::Decimal *) const;
47 int truncate(double *nr, double max_length);47 int truncate(double *nr, double max_length);
48 uint32_t max_display_length() { return field_length; }48 uint32_t max_display_length() { return field_length; }
49 uint32_t size_of() const { return sizeof(*this); }49 uint32_t size_of() const { return sizeof(*this); }
5050
=== modified file 'drizzled/field/size.cc'
--- drizzled/field/size.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/size.cc 2011-02-20 21:39:20 +0000
@@ -157,7 +157,7 @@
157}157}
158158
159159
160double Size::val_real(void)160double Size::val_real(void) const
161{161{
162 int64_t j;162 int64_t j;
163163
@@ -169,7 +169,7 @@
169}169}
170170
171171
172int64_t Size::val_int(void)172int64_t Size::val_int(void) const
173{173{
174 int64_t j;174 int64_t j;
175175
@@ -181,7 +181,7 @@
181}181}
182182
183183
184String *Size::val_str(String *val_buffer, String *)184String *Size::val_str(String *val_buffer, String *) const
185{185{
186 const CHARSET_INFO * const cs= &my_charset_bin;186 const CHARSET_INFO * const cs= &my_charset_bin;
187 uint32_t length;187 uint32_t length;
188188
=== modified file 'drizzled/field/size.h'
--- drizzled/field/size.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/size.h 2011-02-20 21:39:20 +0000
@@ -60,9 +60,9 @@
60 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;60 ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;
61 return 0;61 return 0;
62 }62 }
63 double val_real(void);63 double val_real(void) const;
64 int64_t val_int(void);64 int64_t val_int(void) const;
65 String *val_str(String*,String *);65 String *val_str(String*,String *) const;
66 int cmp(const unsigned char *,const unsigned char *);66 int cmp(const unsigned char *,const unsigned char *);
67 void sort_string(unsigned char *buff,uint32_t length);67 void sort_string(unsigned char *buff,uint32_t length);
68 uint32_t pack_length() const { return 8; }68 uint32_t pack_length() const { return 8; }
6969
=== modified file 'drizzled/field/str.cc'
--- drizzled/field/str.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/str.cc 2011-02-20 21:39:20 +0000
@@ -110,7 +110,7 @@
110 return store(str.ptr(), str.length(), str.charset());110 return store(str.ptr(), str.length(), str.charset());
111}111}
112112
113type::Decimal *Field_str::val_decimal(type::Decimal *decimal_value)113type::Decimal *Field_str::val_decimal(type::Decimal *decimal_value) const
114{114{
115 int64_t nr= val_int();115 int64_t nr= val_int();
116 int2_class_decimal(E_DEC_FATAL_ERROR, nr, 0, decimal_value);116 int2_class_decimal(E_DEC_FATAL_ERROR, nr, 0, decimal_value);
117117
=== modified file 'drizzled/field/str.h'
--- drizzled/field/str.h 2011-02-17 00:14:13 +0000
+++ drizzled/field/str.h 2011-02-20 21:39:20 +0000
@@ -65,7 +65,7 @@
65 bool binary() const { return field_charset == &my_charset_bin; }65 bool binary() const { return field_charset == &my_charset_bin; }
66 uint32_t max_display_length() { return field_length; }66 uint32_t max_display_length() { return field_length; }
67 friend class CreateField;67 friend class CreateField;
68 type::Decimal *val_decimal(type::Decimal *);68 type::Decimal *val_decimal(type::Decimal *) const;
69 virtual bool str_needs_quotes() { return true; }69 virtual bool str_needs_quotes() { return true; }
70 uint32_t max_data_length() const;70 uint32_t max_data_length() const;
71};71};
7272
=== modified file 'drizzled/field/time.cc'
--- drizzled/field/time.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/time.cc 2011-02-20 21:39:20 +0000
@@ -161,7 +161,7 @@
161 memcpy(ptr, &tmp, sizeof(int32_t));161 memcpy(ptr, &tmp, sizeof(int32_t));
162}162}
163163
164void Time::unpack_time(drizzled::Time &temporal)164void Time::unpack_time(drizzled::Time &temporal) const
165{165{
166 int32_t tmp;166 int32_t tmp;
167167
@@ -171,18 +171,18 @@
171 temporal.from_int32_t(tmp);171 temporal.from_int32_t(tmp);
172}172}
173173
174void Time::unpack_time(int32_t &destination, const unsigned char *source)174void Time::unpack_time(int32_t &destination, const unsigned char *source) const
175{175{
176 memcpy(&destination, source, sizeof(int32_t));176 memcpy(&destination, source, sizeof(int32_t));
177 destination= htonl(destination);177 destination= htonl(destination);
178}178}
179179
180double Time::val_real(void)180double Time::val_real(void) const
181{181{
182 return (double) Time::val_int();182 return (double) Time::val_int();
183}183}
184184
185int64_t Time::val_int(void)185int64_t Time::val_int(void) const
186{186{
187 ASSERT_COLUMN_MARKED_FOR_READ;187 ASSERT_COLUMN_MARKED_FOR_READ;
188188
@@ -195,7 +195,7 @@
195 return result;195 return result;
196}196}
197197
198String *Time::val_str(String *val_buffer, String *)198String *Time::val_str(String *val_buffer, String *) const
199{199{
200 char *to;200 char *to;
201 int to_len= field_length + 1;201 int to_len= field_length + 1;
@@ -216,7 +216,7 @@
216 return val_buffer;216 return val_buffer;
217}217}
218218
219bool Time::get_date(type::Time &ltime, uint32_t)219bool Time::get_date(type::Time &ltime, uint32_t) const
220{220{
221 ltime.reset();221 ltime.reset();
222222
@@ -234,7 +234,7 @@
234 return 0;234 return 0;
235}235}
236236
237bool Time::get_time(type::Time &ltime)237bool Time::get_time(type::Time &ltime) const
238{238{
239 return Time::get_date(ltime, 0);239 return Time::get_date(ltime, 0);
240}240}
@@ -275,7 +275,7 @@
275 res.set_ascii(STRING_WITH_LEN("timestamp"));275 res.set_ascii(STRING_WITH_LEN("timestamp"));
276}276}
277277
278long Time::get_timestamp(bool *null_value)278long Time::get_timestamp(bool *null_value) const
279{279{
280 if ((*null_value= is_null()))280 if ((*null_value= is_null()))
281 return 0;281 return 0;
282282
=== modified file 'drizzled/field/time.h'
--- drizzled/field/time.h 2011-02-14 22:31:26 +0000
+++ drizzled/field/time.h 2011-02-20 21:39:20 +0000
@@ -53,9 +53,9 @@
53 int store(double nr);53 int store(double nr);
54 int store(int64_t nr, bool unsigned_val);54 int store(int64_t nr, bool unsigned_val);
55 int reset(void) { ptr[0]= ptr[1]= ptr[2]= ptr[3]= 0; return 0; }55 int reset(void) { ptr[0]= ptr[1]= ptr[2]= ptr[3]= 0; return 0; }
56 double val_real(void);56 double val_real(void) const;
57 int64_t val_int(void);57 int64_t val_int(void) const;
58 String *val_str(String*,String *);58 String *val_str(String*,String *) const;
59 int cmp(const unsigned char *,const unsigned char *);59 int cmp(const unsigned char *,const unsigned char *);
60 void sort_string(unsigned char *buff,uint32_t length);60 void sort_string(unsigned char *buff,uint32_t length);
61 uint32_t pack_length() const { return 4; }61 uint32_t pack_length() const { return 4; }
@@ -64,17 +64,17 @@
64 bool zero_pack() const { return 0; }64 bool zero_pack() const { return 0; }
6565
66 /* Get TIME field value as seconds since begging of Unix Epoch */66 /* Get TIME field value as seconds since begging of Unix Epoch */
67 long get_timestamp(bool *null_value);67 long get_timestamp(bool *null_value) const;
68private:68private:
69 bool get_date(type::Time &ltime,uint32_t fuzzydate);69 bool get_date(type::Time &ltime, uint32_t fuzzydate) const;
70 bool get_time(type::Time &ltime);70 bool get_time(type::Time &ltime) const;
7171
72public:72public:
73 timestamp_auto_set_type get_auto_set_type() const;73 timestamp_auto_set_type get_auto_set_type() const;
74 static size_t max_string_length();74 static size_t max_string_length();
75 void pack_time(drizzled::Time &arg);75 void pack_time(drizzled::Time &arg);
76 void unpack_time(drizzled::Time &arg);76 void unpack_time(drizzled::Time &arg) const;
77 void unpack_time(int32_t &destination, const unsigned char *source);77 void unpack_time(int32_t &destination, const unsigned char *source) const;
78};78};
7979
80} /* namespace field */80} /* namespace field */
8181
=== modified file 'drizzled/field/uuid.cc'
--- drizzled/field/uuid.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/uuid.cc 2011-02-20 21:39:20 +0000
@@ -103,14 +103,14 @@
103 res.set_ascii(STRING_WITH_LEN("uuid"));103 res.set_ascii(STRING_WITH_LEN("uuid"));
104}104}
105105
106double Uuid::val_real()106double Uuid::val_real() const
107{107{
108 ASSERT_COLUMN_MARKED_FOR_READ;108 ASSERT_COLUMN_MARKED_FOR_READ;
109 my_error(ER_INVALID_UUID_VALUE, MYF(ME_FATALERROR));109 my_error(ER_INVALID_UUID_VALUE, MYF(ME_FATALERROR));
110 return 0;110 return 0;
111}111}
112112
113int64_t Uuid::val_int()113int64_t Uuid::val_int() const
114{114{
115 ASSERT_COLUMN_MARKED_FOR_READ;115 ASSERT_COLUMN_MARKED_FOR_READ;
116 my_error(ER_INVALID_UUID_VALUE, MYF(ME_FATALERROR));116 my_error(ER_INVALID_UUID_VALUE, MYF(ME_FATALERROR));
@@ -133,7 +133,7 @@
133}133}
134#endif134#endif
135135
136String *Uuid::val_str(String *val_buffer, String *)136String *Uuid::val_str(String *val_buffer, String *) const
137{137{
138 const CHARSET_INFO * const cs= &my_charset_bin;138 const CHARSET_INFO * const cs= &my_charset_bin;
139 uint32_t mlength= (type::Uuid::DISPLAY_BUFFER_LENGTH) * cs->mbmaxlen;139 uint32_t mlength= (type::Uuid::DISPLAY_BUFFER_LENGTH) * cs->mbmaxlen;
@@ -158,7 +158,7 @@
158 memcpy(to, ptr, length_arg);158 memcpy(to, ptr, length_arg);
159}159}
160160
161bool Uuid::get_date(type::Time &ltime, uint32_t )161bool Uuid::get_date(type::Time &ltime, uint32_t ) const
162{162{
163 type::Uuid uu;163 type::Uuid uu;
164164
@@ -181,7 +181,7 @@
181 return true;181 return true;
182}182}
183183
184bool Uuid::get_time(type::Time &ltime)184bool Uuid::get_time(type::Time &ltime) const
185{185{
186 return get_date(ltime, 0);186 return get_date(ltime, 0);
187}187}
188188
=== modified file 'drizzled/field/uuid.h'
--- drizzled/field/uuid.h 2011-02-17 00:14:13 +0000
+++ drizzled/field/uuid.h 2011-02-20 21:39:20 +0000
@@ -51,9 +51,9 @@
5151
52 int store(const char *to, uint32_t length, const CHARSET_INFO * const charset);52 int store(const char *to, uint32_t length, const CHARSET_INFO * const charset);
53 int store(int64_t nr, bool unsigned_val);53 int store(int64_t nr, bool unsigned_val);
54 double val_real();54 double val_real() const;
55 int64_t val_int();55 int64_t val_int() const;
56 String *val_str(String*,String *);56 String *val_str(String*,String *) const;
57 void sql_type(drizzled::String&) const;57 void sql_type(drizzled::String&) const;
58 int store_decimal(const drizzled::type::Decimal*);58 int store_decimal(const drizzled::type::Decimal*);
5959
@@ -66,8 +66,8 @@
66 inline String *val_str(String *str) { return val_str(str, str); }66 inline String *val_str(String *str) { return val_str(str, str); }
67 uint32_t size_of() const { return sizeof(*this); }67 uint32_t size_of() const { return sizeof(*this); }
6868
69 bool get_date(type::Time &ltime, uint32_t);69 bool get_date(type::Time &ltime, uint32_t) const;
70 bool get_time(type::Time &ltime);70 bool get_time(type::Time &ltime) const;
7171
72#ifdef NOT_YET72#ifdef NOT_YET
73 void generate();73 void generate();
7474
=== modified file 'drizzled/field/varstring.cc'
--- drizzled/field/varstring.cc 2011-02-17 00:14:13 +0000
+++ drizzled/field/varstring.cc 2011-02-20 21:39:20 +0000
@@ -124,7 +124,7 @@
124}124}
125125
126126
127double Field_varstring::val_real(void)127double Field_varstring::val_real(void) const
128{128{
129 int not_used;129 int not_used;
130 char *end_not_used;130 char *end_not_used;
@@ -138,7 +138,7 @@
138}138}
139139
140140
141int64_t Field_varstring::val_int(void)141int64_t Field_varstring::val_int(void) const
142{142{
143 int not_used;143 int not_used;
144 char *end_not_used;144 char *end_not_used;
@@ -152,8 +152,7 @@
152 &end_not_used, &not_used);152 &end_not_used, &not_used);
153}153}
154154
155String *Field_varstring::val_str(String *,155String *Field_varstring::val_str(String *, String *val_ptr) const
156 String *val_ptr)
157{156{
158 uint32_t length= length_bytes == 1 ? (uint32_t) *ptr : uint2korr(ptr);157 uint32_t length= length_bytes == 1 ? (uint32_t) *ptr : uint2korr(ptr);
159158
@@ -165,7 +164,7 @@
165}164}
166165
167166
168type::Decimal *Field_varstring::val_decimal(type::Decimal *decimal_value)167type::Decimal *Field_varstring::val_decimal(type::Decimal *decimal_value) const
169{168{
170 uint32_t length;169 uint32_t length;
171170
172171
=== modified file 'drizzled/field/varstring.h'
--- drizzled/field/varstring.h 2010-12-25 01:27:46 +0000
+++ drizzled/field/varstring.h 2011-02-20 21:39:20 +0000
@@ -74,11 +74,11 @@
7474
75 int store(int64_t nr, bool unsigned_val);75 int store(int64_t nr, bool unsigned_val);
76 int store(double nr) { return Field_str::store(nr); } /* QQ: To be deleted */76 int store(double nr) { return Field_str::store(nr); } /* QQ: To be deleted */
77 double val_real(void);77 double val_real(void) const;
78 int64_t val_int(void);78 int64_t val_int(void) const;
79 String *val_str(String*,String *);79 String *val_str(String*,String *) const;
80 inline String *val_str(String *str) { return val_str(str, str); }80 inline String *val_str(String *str) { return val_str(str, str); }
81 type::Decimal *val_decimal(type::Decimal *);81 type::Decimal *val_decimal(type::Decimal *) const;
82 int cmp_max(const unsigned char *, const unsigned char *, uint32_t max_length);82 int cmp_max(const unsigned char *, const unsigned char *, uint32_t max_length);
83 inline int cmp(const unsigned char *str) { return cmp(ptr,str); }83 inline int cmp(const unsigned char *str) { return cmp(ptr,str); }
84 int cmp(const unsigned char *a,const unsigned char *b)84 int cmp(const unsigned char *a,const unsigned char *b)
8585
=== modified file 'drizzled/table.h'
--- drizzled/table.h 2011-02-17 00:14:13 +0000
+++ drizzled/table.h 2011-02-20 21:39:20 +0000
@@ -499,7 +499,7 @@
499 }499 }
500500
501 /* Both of the below should go away once we can move this bit to the field objects */501 /* Both of the below should go away once we can move this bit to the field objects */
502 inline bool isReadSet(uint32_t index)502 inline bool isReadSet(uint32_t index) const
503 {503 {
504 return read_set->test(index);504 return read_set->test(index);
505 }505 }

Subscribers

People subscribed via source and target branches