Below is the list of changes that have just been committed into a local
5.1 repository of istruewing. When istruewing does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2006-12-01 22:59:51+01:00, istruewing@stripped +6 -0
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into chilla.local:/home/mydev/mysql-5.1-axmrg
MERGE: 1.2353.3.10
configure.in@stripped, 2006-12-01 22:59:44+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.396.1.6
include/mysql.h@stripped, 2006-12-01 22:59:45+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.170.1.3
libmysqld/lib_sql.cc@stripped, 2006-12-01 22:59:45+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.122.1.3
sql/sql_insert.cc@stripped, 2006-12-01 22:59:45+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.234.1.1
sql/sql_plugin.cc@stripped, 2006-12-01 22:59:45+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.36.1.4
storage/myisam/mi_dynrec.c@stripped, 2006-12-01 22:59:45+01:00, istruewing@stripped +0 -0
Auto merged
MERGE: 1.49.1.1
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: istruewing
# Host: chilla.local
# Root: /home/mydev/mysql-5.1-axmrg/RESYNC
--- 1.50/storage/myisam/mi_dynrec.c 2006-12-01 22:59:58 +01:00
+++ 1.51/storage/myisam/mi_dynrec.c 2006-12-01 22:59:58 +01:00
@@ -1242,8 +1242,8 @@ ulong _mi_rec_unpack(register MI_INFO *i
err:
my_errno= HA_ERR_WRONG_IN_RECORD;
- DBUG_PRINT("error",("to_end: %lx -> %lx from_end: %lx -> %lx",
- to,to_end,from,from_end));
+ DBUG_PRINT("error",("to_end: 0x%lx -> 0x%lx from_end: 0x%lx -> 0x%lx",
+ (long) to, (long) to_end, (long) from, (long) from_end));
DBUG_DUMP("from",(byte*) info->rec_buff,info->s->base.min_pack_length);
DBUG_RETURN(MY_FILE_ERROR);
} /* _mi_rec_unpack */
--- 1.237/sql/sql_insert.cc 2006-12-01 22:59:58 +01:00
+++ 1.238/sql/sql_insert.cc 2006-12-01 22:59:58 +01:00
@@ -2039,7 +2039,9 @@ err:
*/
ha_rollback_stmt(thd);
+#ifndef __WIN__
end:
+#endif
/*
di should be unlinked from the thread handler list and have no active
clients
@@ -2695,7 +2697,7 @@ void select_insert::send_error(uint errc
bool select_insert::send_eof()
{
- int error,error2;
+ int error;
bool const trans_table= table->file->has_transactions();
ulonglong id;
DBUG_ENTER("select_insert::send_eof");
@@ -2747,9 +2749,9 @@ bool select_insert::send_eof()
*/
if (trans_table || thd->current_stmt_binlog_row_based)
{
- int const error2= ha_autocommit_or_rollback(thd, error);
+ int error2= ha_autocommit_or_rollback(thd, error);
if (error2 && !error)
- error=error2;
+ error= error2;
}
table->file->ha_release_auto_increment();
--- 1.38/sql/sql_plugin.cc 2006-12-01 22:59:58 +01:00
+++ 1.39/sql/sql_plugin.cc 2006-12-01 22:59:58 +01:00
@@ -23,21 +23,26 @@ extern struct st_mysql_plugin *mysqld_bu
char *opt_plugin_dir_ptr;
char opt_plugin_dir[FN_REFLEN];
+/*
+ When you ad a new plugin type, add both a string and make sure that the
+ init and deinit array are correctly updated.
+*/
const LEX_STRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]=
{
{ C_STRING_WITH_LEN("UDF") },
{ C_STRING_WITH_LEN("STORAGE ENGINE") },
- { C_STRING_WITH_LEN("FTPARSER") }
+ { C_STRING_WITH_LEN("FTPARSER") },
+ { C_STRING_WITH_LEN("DAEMON") }
};
plugin_type_init plugin_type_initialize[MYSQL_MAX_PLUGIN_TYPE_NUM]=
{
- 0,ha_initialize_handlerton,0
+ 0,ha_initialize_handlerton,0,0
};
plugin_type_init plugin_type_deinitialize[MYSQL_MAX_PLUGIN_TYPE_NUM]=
{
- 0,ha_finalize_handlerton,0
+ 0,ha_finalize_handlerton,0,0
};
static const char *plugin_interface_version_sym=
@@ -53,13 +58,15 @@ static int min_plugin_info_interface_ver
{
0x0000,
MYSQL_HANDLERTON_INTERFACE_VERSION,
- MYSQL_FTPARSER_INTERFACE_VERSION
+ MYSQL_FTPARSER_INTERFACE_VERSION,
+ MYSQL_DAEMON_INTERFACE_VERSION
};
static int cur_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]=
{
0x0000, /* UDF: not implemented */
MYSQL_HANDLERTON_INTERFACE_VERSION,
- MYSQL_FTPARSER_INTERFACE_VERSION
+ MYSQL_FTPARSER_INTERFACE_VERSION,
+ MYSQL_DAEMON_INTERFACE_VERSION
};
static DYNAMIC_ARRAY plugin_dl_array;
@@ -508,7 +515,7 @@ void plugin_deinitialize(struct st_plugi
else if (plugin->plugin->deinit)
{
DBUG_PRINT("info", ("Deinitializing plugin: '%s'", plugin->name.str));
- if (plugin->plugin->deinit(NULL))
+ if (plugin->plugin->deinit(plugin))
{
DBUG_PRINT("warning", ("Plugin '%s' deinit function returned error.",
plugin->name.str));
@@ -568,7 +575,7 @@ static int plugin_initialize(struct st_p
}
else if (plugin->plugin->init)
{
- if (plugin->plugin->init(NULL))
+ if (plugin->plugin->init(plugin))
{
sql_print_error("Plugin '%s' init function returned error.",
plugin->name.str);
@@ -727,7 +734,7 @@ void plugin_load(void)
TABLE_LIST tables;
TABLE *table;
READ_RECORD read_record_info;
- int error, i;
+ int error;
MEM_ROOT mem;
THD *new_thd;
DBUG_ENTER("plugin_load");
--- 1.123/libmysqld/lib_sql.cc 2006-12-01 22:59:58 +01:00
+++ 1.124/libmysqld/lib_sql.cc 2006-12-01 22:59:58 +01:00
@@ -100,6 +100,7 @@ emb_advanced_command(MYSQL *mysql, enum
mysql->affected_rows= ~(my_ulonglong) 0;
mysql->field_count= 0;
net->last_errno= 0;
+ thd->current_stmt= stmt;
thd->store_globals(); // Fix if more than one connect
/*
@@ -278,24 +279,26 @@ static int emb_stmt_execute(MYSQL_STMT *
DBUG_ENTER("emb_stmt_execute");
char header[5];
THD *thd;
+ my_bool res;
int4store(header, stmt->stmt_id);
header[4]= stmt->flags;
thd= (THD*)stmt->mysql->thd;
thd->client_param_count= stmt->param_count;
thd->client_params= stmt->params;
- if (emb_advanced_command(stmt->mysql, COM_STMT_EXECUTE,0,0,
- header, sizeof(header), 1, stmt) ||
- emb_read_query_result(stmt->mysql))
+
+ res= test(emb_advanced_command(stmt->mysql, COM_STMT_EXECUTE, 0, 0,
+ header, sizeof(header), 1, stmt) ||
+ emb_read_query_result(stmt->mysql));
+ stmt->affected_rows= stmt->mysql->affected_rows;
+ stmt->insert_id= stmt->mysql->insert_id;
+ stmt->server_status= stmt->mysql->server_status;
+ if (res)
{
NET *net= &stmt->mysql->net;
set_stmt_errmsg(stmt, net->last_error, net->last_errno, net->sqlstate);
DBUG_RETURN(1);
}
- stmt->affected_rows= stmt->mysql->affected_rows;
- stmt->insert_id= stmt->mysql->insert_id;
- stmt->server_status= stmt->mysql->server_status;
-
DBUG_RETURN(0);
}
| Thread |
|---|
| • bk commit into 5.1 tree (istruewing:1.2370) | ingo | 1 Dec |