diff options
Diffstat (limited to 'libmysql')
-rw-r--r-- | libmysql/CMakeLists.txt | 5 | ||||
-rw-r--r-- | libmysql/libmysql.c | 31 |
2 files changed, 33 insertions, 3 deletions
diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt index bb85b47f863..7dfc572b281 100644 --- a/libmysql/CMakeLists.txt +++ b/libmysql/CMakeLists.txt @@ -259,6 +259,9 @@ mariadb_dyncol_column_count mariadb_dyncol_prepare_decimal # mariadb_deinitialize_ssl +# low-level API to MySQL protocol +mysql_net_read_packet +mysql_net_field_length # Added in MariaDB-10.0 to stay compatible with MySQL-5.6, yuck! mysql_options4 ) @@ -378,7 +381,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux") CONFIGURE_FILE( ${VERSION_SCRIPT_TEMPLATE} ${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld - @ONLY@ + @ONLY ) SET(VERSION_SCRIPT_LINK_FLAGS "-Wl,${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld") diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index a0bfe4e0d4f..3af4a032e5b 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -1508,6 +1508,12 @@ my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt) memory */ +#ifdef EMBEDDED_LIBRARY +#define STMT_INIT_PREALLOC(S) 0 +#else +#define STMT_INIT_PREALLOC(S) S +#endif /*EMBEDDED_LIBRARY*/ + MYSQL_STMT * STDCALL mysql_stmt_init(MYSQL *mysql) { @@ -1526,8 +1532,10 @@ mysql_stmt_init(MYSQL *mysql) DBUG_RETURN(NULL); } - init_alloc_root(&stmt->mem_root, 2048, 2048, MYF(MY_THREAD_SPECIFIC)); - init_alloc_root(&stmt->result.alloc, 4096, 4096, MYF(MY_THREAD_SPECIFIC)); + init_alloc_root(&stmt->mem_root, 2048, STMT_INIT_PREALLOC(2048), + MYF(MY_THREAD_SPECIFIC)); + init_alloc_root(&stmt->result.alloc, 4096, STMT_INIT_PREALLOC(4096), + MYF(MY_THREAD_SPECIFIC)); stmt->result.alloc.min_malloc= sizeof(MYSQL_ROWS); mysql->stmts= list_add(mysql->stmts, &stmt->list); stmt->list.data= stmt; @@ -1544,6 +1552,8 @@ mysql_stmt_init(MYSQL *mysql) DBUG_RETURN(stmt); } +#undef STMT_INIT_PREALLOC + /* Prepare server side statement with query. @@ -4901,3 +4911,20 @@ my_bool STDCALL mysql_read_query_result(MYSQL *mysql) return (*mysql->methods->read_query_result)(mysql); } +/******************************************************************** + mysql_net_ functions - low-level API to MySQL protocol +*********************************************************************/ +#if MYSQL_VERSION_ID > 100100 +#error remove these wrappers in 10.1, rename functions instead +#endif + +ulong STDCALL mysql_net_read_packet(MYSQL *mysql) +{ + return cli_safe_read(mysql); +} + +ulong STDCALL mysql_net_field_length(uchar **packet) +{ + return net_field_length(packet); +} + |