mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
merge fix
libmysql/libmysql.c: Auto merged libmysql/password.c: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged sql/password.c: Auto merged sql/sql_analyse.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql-bench/server-cfg.sh: Auto merged sql/sql_yacc.yy: Auto merged
This commit is contained in:
@@ -41,7 +41,8 @@ static void unlink_blobs(register TABLE *table);
|
||||
|
||||
/*
|
||||
Check if insert fields are correct
|
||||
Resets form->time_stamp if a timestamp value is set
|
||||
Updates table->time_stamp to point to timestamp field or 0, depending on
|
||||
if timestamp should be updated or not.
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -87,11 +88,12 @@ check_insert_fields(THD *thd,TABLE *table,List<Item> &fields,
|
||||
my_error(ER_FIELD_SPECIFIED_TWICE,MYF(0), thd->dupp_field->field_name);
|
||||
return -1;
|
||||
}
|
||||
table->time_stamp=0;
|
||||
if (table->timestamp_field && // Don't set timestamp if used
|
||||
table->timestamp_field->query_id == thd->query_id)
|
||||
table->time_stamp=0; // This should be saved
|
||||
table->timestamp_field->query_id != thd->query_id)
|
||||
table->time_stamp= table->timestamp_field->offset()+1;
|
||||
}
|
||||
// For the values we need select_priv
|
||||
// For the values we need select_priv
|
||||
table->grant.want_privilege=(SELECT_ACL & ~table->grant.privilege);
|
||||
return 0;
|
||||
}
|
||||
@@ -109,7 +111,6 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
|
||||
!(thd->master_access & SUPER_ACL));
|
||||
bool transactional_table, log_delayed, bulk_insert=0;
|
||||
uint value_count;
|
||||
uint save_time_stamp;
|
||||
ulong counter = 1;
|
||||
ulonglong id;
|
||||
COPY_INFO info;
|
||||
@@ -167,7 +168,6 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
|
||||
table= table_list->table;
|
||||
thd->proc_info="init";
|
||||
thd->used_tables=0;
|
||||
save_time_stamp=table->time_stamp;
|
||||
values= its++;
|
||||
if (check_insert_fields(thd,table,fields,*values,1) ||
|
||||
setup_tables(insert_table_list) ||
|
||||
@@ -175,10 +175,7 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
|
||||
(duplic == DUP_UPDATE &&
|
||||
(setup_fields(thd, insert_table_list, update_fields, 0, 0, 0) ||
|
||||
setup_fields(thd, insert_table_list, update_values, 0, 0, 0))))
|
||||
{
|
||||
table->time_stamp= save_time_stamp;
|
||||
goto abort;
|
||||
}
|
||||
if (find_real_table_in_list(table_list->next,
|
||||
table_list->db, table_list->real_name))
|
||||
{
|
||||
@@ -195,14 +192,10 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
|
||||
my_printf_error(ER_WRONG_VALUE_COUNT_ON_ROW,
|
||||
ER(ER_WRONG_VALUE_COUNT_ON_ROW),
|
||||
MYF(0),counter);
|
||||
table->time_stamp=save_time_stamp;
|
||||
goto abort;
|
||||
}
|
||||
if (setup_fields(thd,insert_table_list,*values,0,0,0))
|
||||
{
|
||||
table->time_stamp= save_time_stamp;
|
||||
goto abort;
|
||||
}
|
||||
}
|
||||
its.rewind ();
|
||||
/*
|
||||
@@ -364,7 +357,6 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
|
||||
}
|
||||
}
|
||||
thd->proc_info="end";
|
||||
table->time_stamp=save_time_stamp; // Restore auto timestamp ptr
|
||||
table->next_number_field=0;
|
||||
thd->count_cuted_fields=0;
|
||||
thd->next_insert_id=0; // Reset this if wrongly used
|
||||
@@ -1339,7 +1331,6 @@ select_insert::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
|
||||
DBUG_ENTER("select_insert::prepare");
|
||||
|
||||
unit= u;
|
||||
save_time_stamp=table->time_stamp;
|
||||
if (check_insert_fields(thd,table,*fields,values,1))
|
||||
DBUG_RETURN(1);
|
||||
|
||||
@@ -1360,8 +1351,6 @@ select_insert::~select_insert()
|
||||
{
|
||||
if (table)
|
||||
{
|
||||
if (save_time_stamp)
|
||||
table->time_stamp=save_time_stamp;
|
||||
table->next_number_field=0;
|
||||
table->file->extra(HA_EXTRA_RESET);
|
||||
}
|
||||
@@ -1467,7 +1456,6 @@ select_create::prepare(List<Item> &values, SELECT_LEX_UNIT *u)
|
||||
/* First field to copy */
|
||||
field=table->field+table->fields - values.elements;
|
||||
|
||||
save_time_stamp=table->time_stamp;
|
||||
if (table->timestamp_field) // Don't set timestamp if used
|
||||
{
|
||||
table->timestamp_field->set_time();
|
||||
|
||||
Reference in New Issue
Block a user