Commit 0e21e511 authored by unknown's avatar unknown
Browse files

Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1

into three.local.lan:/home/matthias/Arbeit/mysql-4.1/src

parents f6725e56 0a3590f6
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ use Sys::Hostname;
$opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env="";
$opt_dbd_options=$opt_perl_options=$opt_config_options=$opt_make_options=$opt_suffix="";
$opt_tmp=$opt_version_suffix="";
$opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0;
$opt_bundled_zlib=$opt_help=$opt_delete=$opt_debug=$opt_stage=$opt_no_test=$opt_no_perl=$opt_one_error=$opt_with_low_memory=$opt_fast_benchmark=$opt_static_client=$opt_static_server=$opt_static_perl=$opt_sur=$opt_with_small_disk=$opt_local_perl=$opt_tcpip=$opt_build_thread=$opt_use_old_distribution=$opt_enable_shared=$opt_no_crash_me=$opt_no_strip=$opt_with_archive=$opt_with_cluster=$opt_with_csv=$opt_with_example=$opt_with_debug=$opt_no_benchmark=$opt_no_mysqltest=$opt_without_embedded=$opt_readline=0;
$opt_embedded_test=$opt_ps_test=$opt_innodb=$opt_bdb=$opt_raid=$opt_libwrap=$opt_clearlogs=0;

GetOptions(
@@ -57,6 +57,8 @@ GetOptions(
	"version-suffix=s",
	"with-archive",
	"with-cluster",
        "with-csv",
        "with-example",
	"with-debug",
	"with-low-memory",
	"with-other-libc=s",
@@ -279,6 +281,8 @@ if ($opt_stage <= 1)
  $opt_embedded_test= 0 if ($opt_without_embedded);
  $opt_config_options.= " --with-archive-storage-engine" if ($opt_with_archive);
  $opt_config_options.= " --with-ndbcluster" if ($opt_with_cluster);
  $opt_config_options.= " --with-csv-storage-engine" if ($opt_with_csv);
  $opt_config_options.= " --with-example-storage-engine" if ($opt_with_example);

  # Only enable InnoDB when requested (required to be able to
  # build the "Classic" packages that do not include InnoDB)
@@ -637,11 +641,17 @@ If user is empty then no mail is sent.
Set name suffix (e.g. 'com' or '-max') for a distribution

--with archive
Enable the Archive storage Engine
Enable the Archive storage engine

--with cluster
Compile and test with NDB Cluster enabled

--with-csv
Enable the CSV storage engine

--with-example
Enable the Example storage engine

--with-debug
Build binaries with debug information (implies "--no-strip")

+3 −2
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/regex \
				$(openssl_includes)
LIBS =				@CLIENT_LIBS@
DEPLIB=				../libmysql/libmysqlclient.la
REGEXLIB=			../regex/libregex.a
LDADD =				@CLIENT_EXTRA_LDFLAGS@ $(DEPLIB)
bin_PROGRAMS =			mysql mysqladmin mysqlcheck mysqlshow \
 mysqldump mysqlimport mysqltest mysqlbinlog mysqlmanagerc mysqlmanager-pwgen
@@ -37,8 +38,8 @@ mysqlshow_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqldump_DEPENDENCIES=		$(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlimport_DEPENDENCIES=	$(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqltest_SOURCES=		mysqltest.c ../mysys/my_getsystime.c
mysqltest_DEPENDENCIES=   	$(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqltest_LDADD =		$(LDADD) $(top_builddir)/regex/libregex.a
mysqltest_DEPENDENCIES=   	$(LIBRARIES) $(pkglib_LTLIBRARIES) $(REGEXLIB) $(DEPLIB)
mysqltest_LDADD =		$(REGEXLIB) $(LDADD)
mysqlbinlog_SOURCES =   mysqlbinlog.cc ../mysys/mf_tempdir.c
mysqlbinlog_DEPENDENCIES=   	$(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlmanagerc_SOURCES =   mysqlmanagerc.c 
+4 −2
Original line number Diff line number Diff line
@@ -1825,8 +1825,6 @@ static void dumpTable(uint numFields, char *table)
err:
  if (query != query_buf)
    my_free(query, MYF(MY_ALLOW_ZERO_PTR));
  if (order_by)
    my_free(order_by, MYF(0));
  safe_exit(error);
  return;
} /* dumpTable */
@@ -1978,6 +1976,8 @@ static int dump_all_tables_in_db(char *database)
    numrows = getTableStructure(table, database);
    if (!dFlag && numrows > 0)
      dumpTable(numrows,table);
    my_free(order_by, MYF(MY_ALLOW_ZERO_PTR));
    order_by= 0;
  }
  if (opt_xml)
  {
@@ -2027,6 +2027,8 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
    numrows = getTableStructure(*table_names, db);
    if (!dFlag && numrows > 0)
      dumpTable(numrows, *table_names);
    my_free(order_by, MYF(MY_ALLOW_ZERO_PTR));
    order_by= 0;
  }
  if (opt_xml)
  {
+1 −0
Original line number Diff line number Diff line
@@ -291,6 +291,7 @@ enum ha_base_keytype {
#define HA_ERR_NO_SUCH_TABLE     155  /* The table does not exist in engine */
#define HA_ERR_TABLE_EXIST       156  /* The table existed in storage engine */
#define HA_ERR_NO_CONNECTION     157  /* Could not connect to storage engine */
#define HA_ERR_NULL_IN_SPATIAL   158  /* NULLs are not supported in spatial index */

	/* Other constants */

+26 −2
Original line number Diff line number Diff line
@@ -2364,6 +2364,8 @@ dict_scan_id(
	ulint		len	= 0;
	const char*	s;
	char*		d;
	ulint		id_len;
	byte*		b;

	*id = NULL;

@@ -2425,6 +2427,28 @@ dict_scan_id(
		*id = s;
	}

	if (heap && !quote) {
		/* EMS MySQL Manager sometimes adds characters 0xA0 (in
		latin1, a 'non-breakable space') to the end of a table name.
		But isspace(0xA0) is not true, which confuses our foreign key
		parser. After the UTF-8 conversion in ha_innodb.cc, bytes 0xC2
		and 0xA0 are at the end of the string.

		TODO: we should lex the string using thd->charset_info, and
		my_isspace(). Only after that, convert id names to UTF-8. */

		b = (byte*)(*id);
		id_len = strlen(b);
		
		if (id_len >= 3 && b[id_len - 1] == 0xA0
			       && b[id_len - 2] == 0xC2) {

			/* Strip the 2 last bytes */

			b[id_len - 2] = '\0';
		}
	}

	return(ptr);
}

@@ -2479,7 +2503,7 @@ dict_scan_col(
}

/*************************************************************************
Scans the referenced table name from an SQL string. */
Scans a table name from an SQL string. */
static
const char*
dict_scan_table_name(
@@ -2490,7 +2514,7 @@ dict_scan_table_name(
	const char*	name,	/* in: foreign key table name */
	ibool*		success,/* out: TRUE if ok name found */
	mem_heap_t*	heap,	/* in: heap where to allocate the id */
	const char**	ref_name)/* out,own: the referenced table name;
	const char**	ref_name)/* out,own: the table name;
				NULL if no name was scannable */
{
	const char*	database_name	= NULL;
Loading