From 4242e3ce59493e13b3182fb3dec49b3e48de57cf Mon Sep 17 00:00:00 2001 From: Lawrin Novitsky Date: Tue, 22 Nov 2016 11:10:45 +0100 Subject: [PATCH] Changed max->MAX, min->MIN Added more data to generated DSN config in odbc.ini Added cmake macro to easier populate values(for ini generations so far). --- CMakeLists.txt | 28 ++++++++++++++++------------ cmake/SetValueMacro.cmake | 11 +++++++++++ ma_legacy_helpers.c | 4 ++-- ma_statement.c | 2 +- test/odbc.ini.in | 7 ++++++- 5 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 cmake/SetValueMacro.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index bbf329bb..36a79842 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,12 +56,11 @@ SET(DSN_DIALOG_FILES ${CMAKE_SOURCE_DIR}/dsn/odbc_dsn.c ma_error.c ma_common.c) -INCLUDE(${CMAKE_SOURCE_DIR}/cmake/SearchLibrary.cmake) - #Debug log is controlled by conenction option solely ADD_DEFINITIONS(-DMAODBC_DEBUG) INCLUDE(${CMAKE_SOURCE_DIR}/cmake/SearchLibrary.cmake) +INCLUDE(${CMAKE_SOURCE_DIR}/cmake/SetValueMacro.cmake) IF(WIN32) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/win) @@ -238,17 +237,16 @@ IF(WIN32) TARGET_LINK_LIBRARIES(dsn_test ${MARIADB_LIB}) ELSE() # Configuring ini files for testing with UnixODBC - SET(TEST_DRIVER "maodbc_test") - IF(DEFINED ENV{TEST_DRIVER}) - SET(TEST_DRIVER "$ENV{TEST_DRIVER}") - ENDIF() - - SET(TEST_DSN "maodbc_test") - IF(DEFINED ENV{TEST_DSN}) - SET(TEST_DSN "$ENV{TEST_DSN}") - ENDIF() + SET_VALUE(TEST_DRIVER "maodbc_test") + SET_VALUE(TEST_DSN "maodbc_test") + SET_VALUE(TEST_PORT "3306") + SET_VALUE(TEST_SERVER "localhost") + SET_VALUE(TEST_SOCKET "") + SET_VALUE(TEST_SCHEMA "test") + SET_VALUE(TEST_UID "root") + SET_VALUE(TEST_PASSWORD "") - MESSAGE(STATUS "Configurig Test Driver Name : ${TEST_DRIVER}, Test DSN Name: ${TEST_DSN}") + MESSAGE(STATUS "Configurig Test Driver: ${TEST_DRIVER}, Test DSN: ${TEST_DSN}, tcp://${TEST_UID}@${TEST_SERVER}:${TEST_PORT}/${TEST_SCHEMA} socket: ${TEST_SOCKET}") ADD_CUSTOM_COMMAND(TARGET maodbc POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -DDRIVER_LIB_LOCATION=$ @@ -261,6 +259,12 @@ ELSE() ADD_CUSTOM_COMMAND(TARGET maodbc POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -DTEST_DRIVER=${TEST_DRIVER} -DTEST_DSN=${TEST_DSN} + -DTEST_PORT=${TEST_PORT} + -DTEST_SERVER=${TEST_SERVER} + -DTEST_SOCKET=${TEST_SOCKET} + -DTEST_SCHEMA=${TEST_SCHEMA} + -DTEST_UID=${TEST_UID} + -DTEST_PASSWORD=${TEST_PASSWORD} -DFILE_IN=${CMAKE_SOURCE_DIR}/test/odbc.ini.in -DFILE_OUT=${CMAKE_SOURCE_DIR}/test/odbc.ini -P ${CMAKE_SOURCE_DIR}/cmake/ConfigureFile.cmake diff --git a/cmake/SetValueMacro.cmake b/cmake/SetValueMacro.cmake new file mode 100644 index 00000000..d65abdbe --- /dev/null +++ b/cmake/SetValueMacro.cmake @@ -0,0 +1,11 @@ +# Macro that checks if variable is defined, otherwise checks env for same name, otherwise uses default value +MACRO(SET_VALUE _variable _default_value) + IF (NOT ${_variable}) + IF(DEFINED ENV{${_variable}}) + SET(${_variable} $ENV{${_variable}}) + ELSE() + SET(${_variable} ${_default_value}) + ENDIF() + ENDIF() +ENDMACRO(SET_VALUE) + diff --git a/ma_legacy_helpers.c b/ma_legacy_helpers.c index e29dbdd3..fff4e1b6 100644 --- a/ma_legacy_helpers.c +++ b/ma_legacy_helpers.c @@ -253,7 +253,7 @@ my_bool MADB_InitDynamicArray(MADB_DynArray *array, unsigned int element_size, { if (!alloc_increment) { - alloc_increment=max((8192-MALLOC_OVERHEAD)/element_size,16); + alloc_increment=MAX((8192-MALLOC_OVERHEAD)/element_size,16); if (init_alloc > 8 && alloc_increment > init_alloc * 2) alloc_increment=init_alloc*2; } @@ -379,7 +379,7 @@ void MADB_DeleteDynamicElement(MADB_DynArray *array, unsigned int idx) void MADB_FreezeSizeDynamic(MADB_DynArray *array) { - unsigned int elements=max(array->elements,1); + unsigned int elements=MAX(array->elements,1); if (array->buffer && array->max_element != elements) { diff --git a/ma_statement.c b/ma_statement.c index 18ed0a62..0604eb3e 100644 --- a/ma_statement.c +++ b/ma_statement.c @@ -3961,7 +3961,7 @@ SQLRETURN MADB_StmtSetPos(MADB_Stmt *Stmt, SQLSETPOSIROW RowNumber, SQLUSMALLINT { Start= Stmt->Cursor.Position; /* TODO: if num_rows returns 1, End is 0? Start would be 1, no */ - End= min(mysql_stmt_num_rows(Stmt->stmt)-1, Start + Stmt->Ard->Header.ArraySize - 1); + End= MIN(mysql_stmt_num_rows(Stmt->stmt)-1, Start + Stmt->Ard->Header.ArraySize - 1); } /* Stmt->ArrayOffset will be incremented in StmtExecute() */ Start+= Stmt->ArrayOffset; diff --git a/test/odbc.ini.in b/test/odbc.ini.in index e4522d87..3302cd88 100644 --- a/test/odbc.ini.in +++ b/test/odbc.ini.in @@ -1,6 +1,11 @@ [@TEST_DSN@] Driver = @TEST_DRIVER@ -DESCRIPTION =MariaDB ODBC Connector Test +DESCRIPTION = MariaDB ODBC Connector Test +SERVER = @TEST_SERVER@ +PORT = @TEST_PORT@ +DATABASE = @TEST_SCHEMA@ +UID = @TEST_UID@ +PASSWORD = @TEST_PASSWORD@ # To turn off connectors log(slows execution significantly) #OPTIONS =4