mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 00:54:30 +02:00
Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge BitKeeper/deleted/.del-rpl_heap.test: Auto merged Makefile.am: Auto merged mysql-test/extra/binlog_tests/binlog.test: Auto merged mysql-test/r/binlog_stm_binlog.result: Auto merged mysql-test/r/rpl_switch_stm_row_mixed.result: Auto merged mysql-test/t/date_formats.test: Auto merged mysql-test/t/mysqlbinlog.test: Auto merged mysql-test/t/rpl_trigger.test: Auto merged sql/CMakeLists.txt: Auto merged sql/Makefile.am: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_insert.cc: Auto merged storage/innobase/handler/ha_innodb.cc: Auto merged unittest/README.txt: Auto merged unittest/unit.pl: Auto merged mysql-test/t/disabled.def: Merge (main -> rpl 5.1)
This commit is contained in:
commit
45546f3de8
79 changed files with 2102 additions and 386 deletions
21
sql/field.h
21
sql/field.h
|
|
@ -217,6 +217,19 @@ public:
|
|||
{ if (null_ptr) null_ptr[row_offset]&= (uchar) ~null_bit; }
|
||||
inline bool maybe_null(void) { return null_ptr != 0 || table->maybe_null; }
|
||||
inline bool real_maybe_null(void) { return null_ptr != 0; }
|
||||
|
||||
/*
|
||||
Return a pointer to the last byte of the null bytes where the
|
||||
field conceptually is placed. In the case that the field does not
|
||||
use any bits of the null bytes, a null pointer is returned.
|
||||
*/
|
||||
my_size_t last_null_byte() const {
|
||||
my_size_t bytes= do_last_null_byte();
|
||||
DBUG_PRINT("debug", ("last_null_byte() ==> %d", bytes));
|
||||
DBUG_ASSERT(bytes <= table->s->null_bytes);
|
||||
return bytes;
|
||||
}
|
||||
|
||||
virtual void make_field(Send_field *);
|
||||
virtual void sort_string(char *buff,uint length)=0;
|
||||
virtual bool optimize_range(uint idx, uint part);
|
||||
|
|
@ -377,6 +390,9 @@ public:
|
|||
friend class Item_sum_min;
|
||||
friend class Item_sum_max;
|
||||
friend class Item_func_group_concat;
|
||||
|
||||
private:
|
||||
virtual my_size_t do_last_null_byte() const;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1412,6 +1428,8 @@ public:
|
|||
void sql_type(String &str) const;
|
||||
char *pack(char *to, const char *from, uint max_length=~(uint) 0);
|
||||
const char *unpack(char* to, const char *from);
|
||||
virtual void set_default();
|
||||
|
||||
Field *new_key_field(MEM_ROOT *root, struct st_table *new_table,
|
||||
char *new_ptr, uchar *new_null_ptr,
|
||||
uint new_null_bit);
|
||||
|
|
@ -1432,6 +1450,9 @@ public:
|
|||
Field::move_field_offset(ptr_diff);
|
||||
bit_ptr= ADD_TO_PTR(bit_ptr, ptr_diff, uchar*);
|
||||
}
|
||||
|
||||
private:
|
||||
virtual my_size_t do_last_null_byte() const;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue