summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorAlexander Nozdrin <alik@ibmvm>2009-10-08 11:42:38 +0400
committerAlexander Nozdrin <alik@ibmvm>2009-10-08 11:42:38 +0400
commit01b455d84e9f7ec5e315e1edf411aa4334d1a77f (patch)
tree5a035be5d323d409130cedc7e0421001dc409a40 /libmysqld
parent1733a974b4811f439806d5b6cfc388462b9bd675 (diff)
parent80f6940f07978bff7de4433a9bc3626b974698f0 (diff)
downloadmariadb-git-01b455d84e9f7ec5e315e1edf411aa4334d1a77f.tar.gz
Merge from mysql-next-mr.
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/CMakeLists.txt11
-rw-r--r--libmysqld/examples/CMakeLists.txt3
-rw-r--r--libmysqld/lib_sql.cc24
3 files changed, 25 insertions, 13 deletions
diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt
index b31082b438a..bce14b38338 100644
--- a/libmysqld/CMakeLists.txt
+++ b/libmysqld/CMakeLists.txt
@@ -13,15 +13,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
-SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
-
-# Need to set USE_TLS, since __declspec(thread) approach to thread local
-# storage does not work properly in DLLs.
-IF(WIN32)
- ADD_DEFINITIONS(-DUSE_TLS)
-ENDIF(WIN32)
-
ADD_DEFINITIONS(-DMYSQL_SERVER -DEMBEDDED_LIBRARY -DHAVE_DLOPEN)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
@@ -139,7 +130,7 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
../sql/partition_info.cc ../sql/sql_connect.cc
../sql/scheduler.cc ../sql/event_parse_data.cc
- ./sql/sql_signal.cc
+ ../sql/sql_signal.cc
${GEN_SOURCES}
${LIB_SOURCES})
diff --git a/libmysqld/examples/CMakeLists.txt b/libmysqld/examples/CMakeLists.txt
index 5194836a728..e4b6533f8a2 100644
--- a/libmysqld/examples/CMakeLists.txt
+++ b/libmysqld/examples/CMakeLists.txt
@@ -20,9 +20,6 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/extra/yassl/include)
# Currently does not work with DBUG, there are missing symbols reported.
-IF(WIN32)
- ADD_DEFINITIONS(-DUSE_TLS)
-ENDIF(WIN32)
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc
index 4b3822dd250..f01a6b3f3df 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -1175,3 +1175,27 @@ int vprint_msg_to_log(enum loglevel level __attribute__((unused)),
mysql_server_last_errno= CR_UNKNOWN_ERROR;
return 0;
}
+
+
+bool Protocol::net_store_data(const uchar *from, size_t length,
+ CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
+{
+ uint conv_length= to_cs->mbmaxlen * length / from_cs->mbminlen;
+ uint dummy_error;
+ char *field_buf;
+ if (!thd->mysql) // bootstrap file handling
+ return false;
+
+ if (!(field_buf= (char*) alloc_root(alloc, conv_length + sizeof(uint) + 1)))
+ return true;
+ *next_field= field_buf + sizeof(uint);
+ length= copy_and_convert(*next_field, conv_length, to_cs,
+ (const char*) from, length, from_cs, &dummy_error);
+ *(uint *) field_buf= length;
+ (*next_field)[length]= 0;
+ if (next_mysql_field->max_length < length)
+ next_mysql_field->max_length= length;
+ ++next_field;
+ ++next_mysql_field;
+ return false;
+}