summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authorunknown <paul@teton.kitebird.com>2004-02-17 13:15:38 -0600
committerunknown <paul@teton.kitebird.com>2004-02-17 13:15:38 -0600
commit3d20c8ce5257575833b97ba2ff652c0a11a13a61 (patch)
treed1ac886850991243acf78e3ed59dd1725b485c6a /sql/field.h
parent9f719835759657ac42a20a7c74a195ce54970941 (diff)
parent18d1234ada5b66836e8f5f2f4d49e85b9cc87e09 (diff)
downloadmariadb-git-3d20c8ce5257575833b97ba2ff652c0a11a13a61.tar.gz
Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into teton.kitebird.com:/home/paul/mysql-4.1 include/m_string.h: Auto merged sql/share/czech/errmsg.txt: Auto merged sql/share/danish/errmsg.txt: Auto merged sql/share/dutch/errmsg.txt: Auto merged sql/share/english/errmsg.txt: Auto merged sql/share/estonian/errmsg.txt: Auto merged sql/share/french/errmsg.txt: Auto merged sql/share/german/errmsg.txt: Auto merged sql/share/greek/errmsg.txt: Auto merged sql/share/hungarian/errmsg.txt: Auto merged sql/share/italian/errmsg.txt: Auto merged sql/share/japanese/errmsg.txt: Auto merged sql/share/korean/errmsg.txt: Auto merged sql/share/norwegian-ny/errmsg.txt: Auto merged sql/share/norwegian/errmsg.txt: Auto merged sql/share/polish/errmsg.txt: Auto merged sql/share/portuguese/errmsg.txt: Auto merged sql/share/romanian/errmsg.txt: Auto merged sql/share/russian/errmsg.txt: Auto merged sql/share/slovak/errmsg.txt: Auto merged sql/share/spanish/errmsg.txt: Auto merged sql/share/swedish/errmsg.txt: Auto merged sql/share/ukrainian/errmsg.txt: Auto merged
Diffstat (limited to 'sql/field.h')
-rw-r--r--sql/field.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/sql/field.h b/sql/field.h
index b62b7a7859e..f815324c698 100644
--- a/sql/field.h
+++ b/sql/field.h
@@ -643,7 +643,10 @@ public:
void set_time();
virtual void set_default()
{
- set_time();
+ if (table->timestamp_field == this)
+ set_time();
+ else
+ Field::set_default();
}
inline long get_timestamp()
{
@@ -679,6 +682,7 @@ public:
String *val_str(String*,String *);
bool send_binary(Protocol *protocol);
void sql_type(String &str) const;
+ bool store_for_compare() { return 1; }
field_cast_enum field_cast_type() { return FIELD_CAST_YEAR; }
};
@@ -949,14 +953,9 @@ public:
void sort_string(char *buff,uint length);
uint32 pack_length() const
{ return (uint32) (packlength+table->blob_ptr_size); }
- uint32 max_data_length() const
+ inline uint32 max_data_length() const
{
- switch (packlength) {
- case 1: return 255;
- case 2: return (uint32) 0xFFFFL;
- case 3: return (uint32) 0xFFFFFF;
- default: return (uint32) 0xFFFFFFFF;
- }
+ return (uint32) (((ulonglong) 1 << (packlength*8)) -1);
}
void reset(void) { bzero(ptr, packlength+sizeof(char*)); }
void reset_fields() { bzero((char*) &value,sizeof(value)); }