diff --git a/configure.in b/configure.in index de0a9bbdeaa..b3b3fc3309d 100644 --- a/configure.in +++ b/configure.in @@ -71,14 +71,22 @@ AC_SUBST(AVAILABLE_LANGUAGES) # Canonicalize the configuration name. -SYSTEM_TYPE="$host_vendor-$host_os" -MACHINE_TYPE="$host_cpu" + +# Check whether --with-system-type or --without-system-type was given. +AC_ARG_WITH(system-type, + [ --with-system-type Set the system type, like "sun-solaris10"], + [SYSTEM_TYPE="$withval"], + [SYSTEM_TYPE="$host_vendor-$host_os"]) +AC_ARG_WITH(machine-type, + [ --with-machine-type Set the machine type, like "powerpc"], + [MACHINE_TYPE="$withval"], + [MACHINE_TYPE="$host_cpu"]) AC_SUBST(SYSTEM_TYPE) AC_DEFINE_UNQUOTED([SYSTEM_TYPE], ["$SYSTEM_TYPE"], - [Name of system, eg solaris]) + [Name of system, eg sun-solaris]) AC_SUBST(MACHINE_TYPE) AC_DEFINE_UNQUOTED([MACHINE_TYPE], ["$MACHINE_TYPE"], - [Machine type name, eg sun10]) + [Machine type name, eg sparc]) # Detect intel x86 like processor BASE_MACHINE_TYPE=$MACHINE_TYPE diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index e2ff1799ba3..ab9a18b1021 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -168,8 +168,23 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)), } +/* + Free all memory and resources used by the client library + + NOTES + When calling this there should not be any other threads using + the library. + + To make things simpler when used with windows dll's (which calls this + function automaticly), it's safe to call this function multiple times. +*/ + + void STDCALL mysql_server_end() { + if (!mysql_client_init) + return; + #ifdef EMBEDDED_LIBRARY end_embedded_server(); #endif diff --git a/sql/field.cc b/sql/field.cc index 55a93ed46d6..d06d94af3a7 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -6457,6 +6457,7 @@ Field *Field_string::new_field(MEM_ROOT *root, struct st_table *new_table, is 2. ****************************************************************************/ +const uint Field_varstring::MAX_SIZE= UINT_MAX16; int Field_varstring::store(const char *from,uint length,CHARSET_INFO *cs) { diff --git a/sql/field.h b/sql/field.h index a0fe0f2e57e..e67609dbcb2 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1183,7 +1183,7 @@ public: The maximum space available in a Field_varstring, in bytes. See length_bytes. */ - static const uint MAX_SIZE= UINT_MAX16; + static const uint MAX_SIZE; /* Store number of bytes used to store length (1 or 2) */ uint32 length_bytes; Field_varstring(uchar *ptr_arg,