mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fix for load data infile when no active database
Fix for Solaris and gethostbyname_r
This commit is contained in:
@ -46897,6 +46897,9 @@ not yet 100% confident in this code.
|
|||||||
@appendixsubsec Changes in release 3.23.50
|
@appendixsubsec Changes in release 3.23.50
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
|
Fixed core-dump bug when using @code{--log-bin} with @code{LOAD DATA
|
||||||
|
INFILE} without an active database.
|
||||||
|
@item
|
||||||
Fixed problem with @code{SHOW CREATE TABLE} and @code{PRIMARY KEY} when using
|
Fixed problem with @code{SHOW CREATE TABLE} and @code{PRIMARY KEY} when using
|
||||||
32 indexes.
|
32 indexes.
|
||||||
@item
|
@item
|
||||||
|
@ -764,17 +764,6 @@ static int get_options(int argc, char **argv)
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(OS2)
|
|
||||||
static char* readline( char* prompt)
|
|
||||||
{
|
|
||||||
#if defined(OS2)
|
|
||||||
static char linebuffer[254];
|
|
||||||
#endif
|
|
||||||
puts( prompt);
|
|
||||||
return gets( linebuffer);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int read_lines(bool execute_commands)
|
static int read_lines(bool execute_commands)
|
||||||
{
|
{
|
||||||
#if defined( __WIN__) || defined(OS2)
|
#if defined( __WIN__) || defined(OS2)
|
||||||
|
@ -647,9 +647,11 @@ AC_CHECK_HEADERS(fcntl.h float.h floatingpoint.h ieeefp.h limits.h \
|
|||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
|
|
||||||
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
|
AC_CHECK_LIB(m, floor, [], AC_CHECK_LIB(m, __infinity))
|
||||||
AC_CHECK_FUNC(gethostbyname_r, [], [
|
|
||||||
AC_CHECK_LIB(nsl_r, gethostbyname_r, [],
|
AC_CHECK_LIB(nsl_r, gethostbyname_r, [],
|
||||||
AC_CHECK_LIB(nsl, gethostbyname_r))])
|
AC_CHECK_LIB(nsl, gethostbyname_r))
|
||||||
|
AC_CHECK_FUNC(gethostbyname_r)
|
||||||
|
|
||||||
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
|
AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
|
||||||
AC_CHECK_FUNC(yp_get_default_domain, ,
|
AC_CHECK_FUNC(yp_get_default_domain, ,
|
||||||
AC_CHECK_LIB(nsl, yp_get_default_domain))
|
AC_CHECK_LIB(nsl, yp_get_default_domain))
|
||||||
|
@ -229,12 +229,13 @@ public:
|
|||||||
THD* thd;
|
THD* thd;
|
||||||
String field_lens_buf;
|
String field_lens_buf;
|
||||||
String fields_buf;
|
String fields_buf;
|
||||||
Load_log_event(THD* thd, sql_exchange* ex, const char* table_name_arg,
|
Load_log_event(THD* thd, sql_exchange* ex,
|
||||||
|
const char *db_arg, const char* table_name_arg,
|
||||||
List<Item>& fields_arg, enum enum_duplicates handle_dup ):
|
List<Item>& fields_arg, enum enum_duplicates handle_dup ):
|
||||||
Log_event(thd->start_time),data_buf(0),thread_id(thd->thread_id),
|
Log_event(thd->start_time),data_buf(0),thread_id(thd->thread_id),
|
||||||
num_fields(0),fields(0),field_lens(0),field_block_len(0),
|
num_fields(0),fields(0),field_lens(0),field_block_len(0),
|
||||||
table_name(table_name_arg),
|
table_name(table_name_arg),
|
||||||
db(thd->db),
|
db(db_arg),
|
||||||
fname(ex->file_name),
|
fname(ex->file_name),
|
||||||
thd(thd)
|
thd(thd)
|
||||||
{
|
{
|
||||||
|
@ -72,7 +72,6 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
|||||||
*enclosed=ex->enclosed;
|
*enclosed=ex->enclosed;
|
||||||
bool is_fifo=0;
|
bool is_fifo=0;
|
||||||
bool using_transactions;
|
bool using_transactions;
|
||||||
|
|
||||||
DBUG_ENTER("mysql_load");
|
DBUG_ENTER("mysql_load");
|
||||||
|
|
||||||
if (escaped->length() > 1 || enclosed->length() > 1)
|
if (escaped->length() > 1 || enclosed->length() > 1)
|
||||||
@ -260,8 +259,8 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
|||||||
if (!read_file_from_client && mysql_bin_log.is_open())
|
if (!read_file_from_client && mysql_bin_log.is_open())
|
||||||
{
|
{
|
||||||
ex->skip_lines = save_skip_lines;
|
ex->skip_lines = save_skip_lines;
|
||||||
Load_log_event qinfo(thd, ex, table->table_name, fields,
|
Load_log_event qinfo(thd, ex, table->table_cache_key, table->table_name,
|
||||||
handle_duplicates);
|
fields, handle_duplicates);
|
||||||
mysql_bin_log.write(&qinfo);
|
mysql_bin_log.write(&qinfo);
|
||||||
}
|
}
|
||||||
if (using_transactions)
|
if (using_transactions)
|
||||||
|
Reference in New Issue
Block a user