mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
Merge monty@192.168.0.9:/my/mysql-5.0
into mysql.com:/home/my/mysql-5.0
This commit is contained in:
commit
54e0c92d59
22 changed files with 94 additions and 14 deletions
|
@ -356,6 +356,9 @@ then
|
|||
# mysqld requires -fno-implicit-templates.
|
||||
# Disable exceptions as they seams to create problems with gcc and threads.
|
||||
# mysqld doesn't use run-time-type-checking, so we disable it.
|
||||
# We should use -Wno-invalid-offsetof flag to disable some warnings from gcc
|
||||
# regarding offset() usage in C++ which are done in a safe manner in the
|
||||
# server
|
||||
CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti"
|
||||
AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION],
|
||||
[1], [Defined by configure. Use explicit template instantiation.])
|
||||
|
|
|
@ -61,12 +61,15 @@ typedef struct charset_info_st CHARSET_INFO;
|
|||
*/
|
||||
class NdbDictionary {
|
||||
public:
|
||||
NdbDictionary() {} /* Remove gcc warning */
|
||||
/**
|
||||
* @class Object
|
||||
* @brief Meta information about a database object (a table, index, etc)
|
||||
*/
|
||||
class Object {
|
||||
public:
|
||||
Object() {} /* Remove gcc warning */
|
||||
virtual ~Object() {} /* Remove gcc warning */
|
||||
/**
|
||||
* Status of object
|
||||
*/
|
||||
|
|
|
@ -5262,7 +5262,7 @@ int Field_date::store(longlong nr, bool unsigned_val)
|
|||
}
|
||||
|
||||
if (nr >= 19000000000000.0 && nr <= 99991231235959.0)
|
||||
nr=floor(nr/1000000.0); // Timestamp to date
|
||||
nr= (longlong) floor(nr/1000000.0); // Timestamp to date
|
||||
|
||||
if (error)
|
||||
set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
|
|
|
@ -231,6 +231,7 @@ struct xid_t {
|
|||
long bqual_length;
|
||||
char data[XIDDATASIZE]; // not \0-terminated !
|
||||
|
||||
xid_t() {} /* Remove gcc warning */
|
||||
bool eq(struct xid_t *xid)
|
||||
{ return eq(xid->gtrid_length, xid->bqual_length, xid->data); }
|
||||
bool eq(long g, long b, const char *d)
|
||||
|
@ -463,6 +464,7 @@ typedef class Item COND;
|
|||
|
||||
typedef struct st_ha_check_opt
|
||||
{
|
||||
st_ha_check_opt() {} /* Remove gcc warning */
|
||||
ulong sort_buffer_size;
|
||||
uint flags; /* isam layer flags (e.g. for myisamchk) */
|
||||
uint sql_flags; /* sql layer flags - for something myisamchk cannot do */
|
||||
|
|
|
@ -164,7 +164,8 @@ struct Hybrid_type_traits
|
|||
virtual my_decimal *val_decimal(Hybrid_type *val, my_decimal *buf) const;
|
||||
virtual String *val_str(Hybrid_type *val, String *buf, uint8 decimals) const;
|
||||
static const Hybrid_type_traits *instance();
|
||||
Hybrid_type_traits() {};
|
||||
Hybrid_type_traits() {}
|
||||
virtual ~Hybrid_type_traits() {}
|
||||
};
|
||||
|
||||
|
||||
|
@ -339,6 +340,7 @@ private:
|
|||
bool save_resolve_in_select_list;
|
||||
|
||||
public:
|
||||
Name_resolution_context_state() {} /* Remove gcc warning */
|
||||
TABLE_LIST *save_next_local;
|
||||
|
||||
public:
|
||||
|
@ -1015,6 +1017,7 @@ bool agg_item_charsets(DTCollation &c, const char *name,
|
|||
class Item_num: public Item
|
||||
{
|
||||
public:
|
||||
Item_num() {} /* Remove gcc warning */
|
||||
virtual Item_num *neg()= 0;
|
||||
Item *safe_charset_converter(CHARSET_INFO *tocs);
|
||||
};
|
||||
|
|
|
@ -128,6 +128,8 @@ public:
|
|||
class Comp_creator
|
||||
{
|
||||
public:
|
||||
Comp_creator() {} /* Remove gcc warning */
|
||||
virtual ~Comp_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const = 0;
|
||||
virtual const char* symbol(bool invert) const = 0;
|
||||
virtual bool eqne_op() const = 0;
|
||||
|
@ -137,6 +139,8 @@ public:
|
|||
class Eq_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Eq_creator() {} /* Remove gcc warning */
|
||||
virtual ~Eq_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? "<>" : "="; }
|
||||
virtual bool eqne_op() const { return 1; }
|
||||
|
@ -146,6 +150,8 @@ public:
|
|||
class Ne_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Ne_creator() {} /* Remove gcc warning */
|
||||
virtual ~Ne_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? "=" : "<>"; }
|
||||
virtual bool eqne_op() const { return 1; }
|
||||
|
@ -155,6 +161,8 @@ public:
|
|||
class Gt_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Gt_creator() {} /* Remove gcc warning */
|
||||
virtual ~Gt_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? "<=" : ">"; }
|
||||
virtual bool eqne_op() const { return 0; }
|
||||
|
@ -164,6 +172,8 @@ public:
|
|||
class Lt_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Lt_creator() {} /* Remove gcc warning */
|
||||
virtual ~Lt_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? ">=" : "<"; }
|
||||
virtual bool eqne_op() const { return 0; }
|
||||
|
@ -173,6 +183,8 @@ public:
|
|||
class Ge_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Ge_creator() {} /* Remove gcc warning */
|
||||
virtual ~Ge_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? "<" : ">="; }
|
||||
virtual bool eqne_op() const { return 0; }
|
||||
|
@ -182,6 +194,8 @@ public:
|
|||
class Le_creator :public Comp_creator
|
||||
{
|
||||
public:
|
||||
Le_creator() {} /* Remove gcc warning */
|
||||
virtual ~Le_creator() {} /* Remove gcc warning */
|
||||
virtual Item_bool_func2* create(Item *a, Item *b) const;
|
||||
virtual const char* symbol(bool invert) const { return invert? ">" : "<="; }
|
||||
virtual bool eqne_op() const { return 0; }
|
||||
|
@ -739,6 +753,7 @@ class cmp_item_int :public cmp_item
|
|||
{
|
||||
longlong value;
|
||||
public:
|
||||
cmp_item_int() {} /* Remove gcc warning */
|
||||
void store_value(Item *item)
|
||||
{
|
||||
value= item->val_int();
|
||||
|
@ -759,6 +774,7 @@ class cmp_item_real :public cmp_item
|
|||
{
|
||||
double value;
|
||||
public:
|
||||
cmp_item_real() {} /* Remove gcc warning */
|
||||
void store_value(Item *item)
|
||||
{
|
||||
value= item->val_real();
|
||||
|
@ -780,6 +796,7 @@ class cmp_item_decimal :public cmp_item
|
|||
{
|
||||
my_decimal value;
|
||||
public:
|
||||
cmp_item_decimal() {} /* Remove gcc warning */
|
||||
void store_value(Item *item);
|
||||
int cmp(Item *arg);
|
||||
int compare(cmp_item *c);
|
||||
|
|
|
@ -121,6 +121,7 @@ struct old_sql_ex
|
|||
****************************************************************************/
|
||||
struct sql_ex_info
|
||||
{
|
||||
sql_ex_info() {} /* Remove gcc warning */
|
||||
char* field_term;
|
||||
char* enclosed;
|
||||
char* line_term;
|
||||
|
|
|
@ -432,6 +432,7 @@ typedef struct st_sql_list {
|
|||
byte *first;
|
||||
byte **next;
|
||||
|
||||
st_sql_list() {} /* Remove gcc warning */
|
||||
inline void empty()
|
||||
{
|
||||
elements=0;
|
||||
|
@ -983,7 +984,7 @@ bool close_thread_table(THD *thd, TABLE **table_ptr);
|
|||
void close_temporary_tables(THD *thd);
|
||||
void close_tables_for_reopen(THD *thd, TABLE_LIST **tables);
|
||||
TABLE_LIST *find_table_in_list(TABLE_LIST *table,
|
||||
uint offset_to_list,
|
||||
st_table_list *TABLE_LIST::*link,
|
||||
const char *db_name,
|
||||
const char *table_name);
|
||||
TABLE_LIST *unique_table(THD *thd, TABLE_LIST *table, TABLE_LIST *table_list);
|
||||
|
@ -1024,7 +1025,7 @@ inline TABLE_LIST *find_table_in_global_list(TABLE_LIST *table,
|
|||
const char *db_name,
|
||||
const char *table_name)
|
||||
{
|
||||
return find_table_in_list(table, offsetof(TABLE_LIST, next_global),
|
||||
return find_table_in_list(table, &TABLE_LIST::next_global,
|
||||
db_name, table_name);
|
||||
}
|
||||
|
||||
|
@ -1032,7 +1033,7 @@ inline TABLE_LIST *find_table_in_local_list(TABLE_LIST *table,
|
|||
const char *db_name,
|
||||
const char *table_name)
|
||||
{
|
||||
return find_table_in_list(table, offsetof(TABLE_LIST, next_local),
|
||||
return find_table_in_list(table, &TABLE_LIST::next_local,
|
||||
db_name, table_name);
|
||||
}
|
||||
|
||||
|
|
|
@ -1495,6 +1495,8 @@ public:
|
|||
{ return (void*) alloc_root(mem_root, (uint) size); }
|
||||
static void operator delete(void *ptr,size_t size) { TRASH(ptr, size); }
|
||||
static void operator delete(void *ptr, MEM_ROOT *mem_root) { /* Never called */ }
|
||||
virtual ~TABLE_READ_PLAN() {} /* Remove gcc warning */
|
||||
|
||||
};
|
||||
|
||||
class TRP_ROR_INTERSECT;
|
||||
|
@ -1518,6 +1520,7 @@ public:
|
|||
TRP_RANGE(SEL_ARG *key_arg, uint idx_arg)
|
||||
: key(key_arg), key_idx(idx_arg)
|
||||
{}
|
||||
virtual ~TRP_RANGE() {} /* Remove gcc warning */
|
||||
|
||||
QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
|
||||
MEM_ROOT *parent_alloc)
|
||||
|
@ -1539,6 +1542,8 @@ public:
|
|||
class TRP_ROR_INTERSECT : public TABLE_READ_PLAN
|
||||
{
|
||||
public:
|
||||
TRP_ROR_INTERSECT() {} /* Remove gcc warning */
|
||||
virtual ~TRP_ROR_INTERSECT() {} /* Remove gcc warning */
|
||||
QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
|
||||
MEM_ROOT *parent_alloc);
|
||||
|
||||
|
@ -1560,6 +1565,8 @@ public:
|
|||
class TRP_ROR_UNION : public TABLE_READ_PLAN
|
||||
{
|
||||
public:
|
||||
TRP_ROR_UNION() {} /* Remove gcc warning */
|
||||
virtual ~TRP_ROR_UNION() {} /* Remove gcc warning */
|
||||
QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
|
||||
MEM_ROOT *parent_alloc);
|
||||
TABLE_READ_PLAN **first_ror; /* array of ptrs to plans for merged scans */
|
||||
|
@ -1576,6 +1583,8 @@ public:
|
|||
class TRP_INDEX_MERGE : public TABLE_READ_PLAN
|
||||
{
|
||||
public:
|
||||
TRP_INDEX_MERGE() {} /* Remove gcc warning */
|
||||
virtual ~TRP_INDEX_MERGE() {} /* Remove gcc warning */
|
||||
QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
|
||||
MEM_ROOT *parent_alloc);
|
||||
TRP_RANGE **range_scans; /* array of ptrs to plans of merged scans */
|
||||
|
@ -1625,6 +1634,7 @@ public:
|
|||
if (key_infix_len)
|
||||
memcpy(this->key_infix, key_infix_arg, key_infix_len);
|
||||
}
|
||||
virtual ~TRP_GROUP_MIN_MAX() {} /* Remove gcc warning */
|
||||
|
||||
QUICK_SELECT_I *make_quick(PARAM *param, bool retrieve_full_rows,
|
||||
MEM_ROOT *parent_alloc);
|
||||
|
|
|
@ -49,6 +49,8 @@ struct File_option
|
|||
class Unknown_key_hook
|
||||
{
|
||||
public:
|
||||
Unknown_key_hook() {} /* Remove gcc warning */
|
||||
virtual ~Unknown_key_hook() {} /* Remove gcc warning */
|
||||
virtual bool process_unknown_string(char *&unknown_key, gptr base,
|
||||
MEM_ROOT *mem_root, char *end)= 0;
|
||||
};
|
||||
|
@ -59,6 +61,7 @@ public:
|
|||
class File_parser_dummy_hook: public Unknown_key_hook
|
||||
{
|
||||
public:
|
||||
File_parser_dummy_hook() {} /* Remove gcc warning */
|
||||
virtual bool process_unknown_string(char *&unknown_key, gptr base,
|
||||
MEM_ROOT *mem_root, char *end);
|
||||
};
|
||||
|
|
|
@ -268,6 +268,7 @@ class Select_fetch_into_spvars: public select_result_interceptor
|
|||
List<struct sp_pvar> *spvar_list;
|
||||
uint field_count;
|
||||
public:
|
||||
Select_fetch_into_spvars() {} /* Remove gcc warning */
|
||||
uint get_field_count() { return field_count; }
|
||||
void set_spvar_list(List<struct sp_pvar> *vars) { spvar_list= vars; }
|
||||
|
||||
|
|
|
@ -165,6 +165,8 @@ struct Geometry_buffer;
|
|||
class Geometry
|
||||
{
|
||||
public:
|
||||
Geometry() {} /* Remove gcc warning */
|
||||
virtual ~Geometry() {} /* Remove gcc warning */
|
||||
static void *operator new(size_t size, void *buffer)
|
||||
{
|
||||
return buffer;
|
||||
|
@ -302,6 +304,8 @@ protected:
|
|||
class Gis_point: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_point() {} /* Remove gcc warning */
|
||||
virtual ~Gis_point() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -349,6 +353,8 @@ public:
|
|||
class Gis_line_string: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_line_string() {} /* Remove gcc warning */
|
||||
virtual ~Gis_line_string() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -375,6 +381,8 @@ public:
|
|||
class Gis_polygon: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_polygon() {} /* Remove gcc warning */
|
||||
virtual ~Gis_polygon() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -401,6 +409,8 @@ public:
|
|||
class Gis_multi_point: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_multi_point() {} /* Remove gcc warning */
|
||||
virtual ~Gis_multi_point() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -423,6 +433,8 @@ public:
|
|||
class Gis_multi_line_string: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_multi_line_string() {} /* Remove gcc warning */
|
||||
virtual ~Gis_multi_line_string() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -447,6 +459,8 @@ public:
|
|||
class Gis_multi_polygon: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_multi_polygon() {} /* Remove gcc warning */
|
||||
virtual ~Gis_multi_polygon() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
@ -471,6 +485,8 @@ public:
|
|||
class Gis_geometry_collection: public Geometry
|
||||
{
|
||||
public:
|
||||
Gis_geometry_collection() {} /* Remove gcc warning */
|
||||
virtual ~Gis_geometry_collection() {} /* Remove gcc warning */
|
||||
uint32 get_data_size() const;
|
||||
bool init_from_wkt(Gis_read_stream *trs, String *wkb);
|
||||
uint init_from_wkb(const char *wkb, uint len, wkbByteOrder bo, String *res);
|
||||
|
|
|
@ -687,11 +687,11 @@ void close_temporary_tables(THD *thd)
|
|||
*/
|
||||
|
||||
TABLE_LIST *find_table_in_list(TABLE_LIST *table,
|
||||
uint offset,
|
||||
st_table_list *TABLE_LIST::*link,
|
||||
const char *db_name,
|
||||
const char *table_name)
|
||||
{
|
||||
for (; table; table= *(TABLE_LIST **) ((char*) table + offset))
|
||||
for (; table; table= table->*link )
|
||||
{
|
||||
if ((table->table == 0 || table->table->s->tmp_table == NO_TMP_TABLE) &&
|
||||
strcmp(table->db, db_name) == 0 &&
|
||||
|
|
|
@ -69,6 +69,7 @@ class Query_cache;
|
|||
|
||||
struct Query_cache_block_table
|
||||
{
|
||||
Query_cache_block_table() {} /* Remove gcc warning */
|
||||
TABLE_COUNTER_TYPE n; // numbr in table (from 0)
|
||||
Query_cache_block_table *next, *prev;
|
||||
Query_cache_table *parent;
|
||||
|
@ -78,6 +79,7 @@ struct Query_cache_block_table
|
|||
|
||||
struct Query_cache_block
|
||||
{
|
||||
Query_cache_block() {} /* Remove gcc warning */
|
||||
enum block_type {FREE, QUERY, RESULT, RES_CONT, RES_BEG,
|
||||
RES_INCOMPLETE, TABLE, INCOMPLETE};
|
||||
|
||||
|
@ -143,6 +145,7 @@ struct Query_cache_query
|
|||
|
||||
struct Query_cache_table
|
||||
{
|
||||
Query_cache_table() {} /* Remove gcc warning */
|
||||
char *tbl;
|
||||
uint32 key_len;
|
||||
uint8 table_type;
|
||||
|
@ -171,6 +174,7 @@ struct Query_cache_table
|
|||
|
||||
struct Query_cache_result
|
||||
{
|
||||
Query_cache_result() {} /* Remove gcc warning */
|
||||
Query_cache_block *query;
|
||||
|
||||
inline gptr data()
|
||||
|
@ -197,6 +201,7 @@ extern "C" void query_cache_invalidate_by_MyISAM_filename(const char* filename);
|
|||
|
||||
struct Query_cache_memory_bin
|
||||
{
|
||||
Query_cache_memory_bin() {} /* Remove gcc warning */
|
||||
#ifndef DBUG_OFF
|
||||
ulong size;
|
||||
#endif
|
||||
|
@ -215,6 +220,7 @@ struct Query_cache_memory_bin
|
|||
|
||||
struct Query_cache_memory_bin_step
|
||||
{
|
||||
Query_cache_memory_bin_step() {} /* Remove gcc warning */
|
||||
ulong size;
|
||||
ulong increment;
|
||||
uint idx;
|
||||
|
|
|
@ -69,7 +69,8 @@ class TC_LOG
|
|||
|
||||
class TC_LOG_DUMMY: public TC_LOG // use it to disable the logging
|
||||
{
|
||||
public:
|
||||
public:
|
||||
TC_LOG_DUMMY() {} /* Remove gcc warning */
|
||||
int open(const char *opt_name) { return 0; }
|
||||
void close() { }
|
||||
int log(THD *thd, my_xid xid) { return 1; }
|
||||
|
@ -930,6 +931,7 @@ void xid_cache_delete(XID_STATE *xid_state);
|
|||
|
||||
class Security_context {
|
||||
public:
|
||||
Security_context() {} /* Remove gcc warning */
|
||||
/*
|
||||
host - host of the client
|
||||
user - user of the client, set to NULL until the user has been read from
|
||||
|
@ -1679,6 +1681,7 @@ public:
|
|||
class select_result_interceptor: public select_result
|
||||
{
|
||||
public:
|
||||
select_result_interceptor() {} /* Remove gcc warning */
|
||||
uint field_count(List<Item> &fields) const { return 0; }
|
||||
bool send_fields(List<Item> &fields, uint flag) { return FALSE; }
|
||||
};
|
||||
|
@ -1966,6 +1969,7 @@ class Table_ident :public Sql_alloc
|
|||
class user_var_entry
|
||||
{
|
||||
public:
|
||||
user_var_entry() {} /* Remove gcc warning */
|
||||
LEX_STRING name;
|
||||
char *value;
|
||||
ulong length;
|
||||
|
|
|
@ -1105,12 +1105,12 @@ bool mysql_change_db(THD *thd, const char *name, bool no_access_check)
|
|||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||
ulong db_access;
|
||||
Security_context *sctx= thd->security_ctx;
|
||||
LINT_INIT(db_access);
|
||||
#endif
|
||||
DBUG_ENTER("mysql_change_db");
|
||||
DBUG_PRINT("enter",("name: '%s'",name));
|
||||
|
||||
LINT_INIT(db_length);
|
||||
LINT_INIT(db_access);
|
||||
|
||||
/* dbname can only be NULL if malloc failed */
|
||||
if (!dbname || !(db_length= strlen(dbname)))
|
||||
|
@ -1179,6 +1179,7 @@ end:
|
|||
x_free(thd->db);
|
||||
if (dbname && dbname[0] == 0)
|
||||
{
|
||||
my_free(dbname, MYF(0));
|
||||
thd->db= NULL;
|
||||
thd->db_length= 0;
|
||||
}
|
||||
|
|
|
@ -5979,10 +5979,11 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
|
|||
/*
|
||||
table_list.next points to the last inserted TABLE_LIST->next_local'
|
||||
element
|
||||
We don't use the offsetof() macro here to avoid warnings from gcc
|
||||
*/
|
||||
previous_table_ref= (TABLE_LIST*) (table_list.next -
|
||||
offsetof(TABLE_LIST, next_local));
|
||||
DBUG_ASSERT(previous_table_ref);
|
||||
previous_table_ref= (TABLE_LIST*) ((char*) table_list.next -
|
||||
((char*) &(ptr->next_local) -
|
||||
(char*) ptr));
|
||||
/*
|
||||
Set next_name_resolution_table of the previous table reference to point
|
||||
to the current table reference. In effect the list
|
||||
|
|
|
@ -104,6 +104,7 @@ typedef int (*Read_record_func)(struct st_join_table *tab);
|
|||
Next_select_func setup_end_select_func(JOIN *join);
|
||||
|
||||
typedef struct st_join_table {
|
||||
st_join_table() {} /* Remove gcc warning */
|
||||
TABLE *table;
|
||||
KEYUSE *keyuse; /* pointer to first used key */
|
||||
SQL_SELECT *select;
|
||||
|
@ -287,7 +288,7 @@ class JOIN :public Sql_alloc
|
|||
}
|
||||
|
||||
JOIN(JOIN &join)
|
||||
:fields_list(join.fields_list)
|
||||
:Sql_alloc(), fields_list(join.fields_list)
|
||||
{
|
||||
init(join.thd, join.fields_list, join.select_options,
|
||||
join.result);
|
||||
|
|
|
@ -1303,7 +1303,7 @@ bool multi_update::send_data(List<Item> ¬_used_values)
|
|||
memcpy((char*) tmp_table->field[0]->ptr,
|
||||
(char*) table->file->ref, table->file->ref_length);
|
||||
/* Write row, ignoring duplicated updates to a row */
|
||||
if (error= tmp_table->file->write_row(tmp_table->record[0]))
|
||||
if ((error= tmp_table->file->write_row(tmp_table->record[0])))
|
||||
{
|
||||
if (error != HA_ERR_FOUND_DUPP_KEY &&
|
||||
error != HA_ERR_FOUND_DUPP_UNIQUE &&
|
||||
|
|
|
@ -187,6 +187,8 @@ typedef struct st_table_share
|
|||
/* Information for one open table */
|
||||
|
||||
struct st_table {
|
||||
st_table() {} /* Remove gcc warning */
|
||||
|
||||
TABLE_SHARE *s;
|
||||
handler *file;
|
||||
#ifdef NOT_YET
|
||||
|
@ -444,6 +446,7 @@ public:
|
|||
|
||||
typedef struct st_table_list
|
||||
{
|
||||
st_table_list() {} /* Remove gcc warning */
|
||||
/*
|
||||
List of tables local to a subquery (used by SQL_LIST). Considers
|
||||
views as leaves (unlike 'next_leaf' below). Created at parse time
|
||||
|
@ -675,6 +678,7 @@ class Item;
|
|||
class Field_iterator: public Sql_alloc
|
||||
{
|
||||
public:
|
||||
Field_iterator() {} /* Remove gcc warning */
|
||||
virtual ~Field_iterator() {}
|
||||
virtual void set(TABLE_LIST *)= 0;
|
||||
virtual void next()= 0;
|
||||
|
|
|
@ -961,6 +961,7 @@ static const String tz_SYSTEM_name("SYSTEM", 6, &my_charset_latin1);
|
|||
class Time_zone_system : public Time_zone
|
||||
{
|
||||
public:
|
||||
Time_zone_system() {} /* Remove gcc warning */
|
||||
virtual my_time_t TIME_to_gmt_sec(const TIME *t,
|
||||
my_bool *in_dst_time_gap) const;
|
||||
virtual void gmt_sec_to_TIME(TIME *tmp, my_time_t t) const;
|
||||
|
@ -1054,6 +1055,7 @@ Time_zone_system::get_name() const
|
|||
class Time_zone_utc : public Time_zone
|
||||
{
|
||||
public:
|
||||
Time_zone_utc() {} /* Remove gcc warning */
|
||||
virtual my_time_t TIME_to_gmt_sec(const TIME *t,
|
||||
my_bool *in_dst_time_gap) const;
|
||||
virtual void gmt_sec_to_TIME(TIME *tmp, my_time_t t) const;
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
class Time_zone: public Sql_alloc
|
||||
{
|
||||
public:
|
||||
Time_zone() {} /* Remove gcc warning */
|
||||
/*
|
||||
Converts local time in broken down TIME representation to
|
||||
my_time_t (UTC seconds since Epoch) represenation.
|
||||
|
|
Loading…
Reference in a new issue