Skip to content

Commit 4da97f8

Browse files
committed
Merge branch 'odbc-3.1'
Plus fix for previous commit - one test on Windows wasn't linked against dbghelp
2 parents 313f0aa + da0a1e4 commit 4da97f8

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

driver/ma_connection.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1975,8 +1975,11 @@ SQLRETURN MADB_Dbc::GetInfo(SQLUSMALLINT InfoType, SQLPOINTER InfoValuePtr,
19751975
break;
19761976
case SQL_SCROLL_CONCURRENCY:
19771977
MADB_SET_NUM_VAL(SQLINTEGER, InfoValuePtr, SQL_SCCO_READ_ONLY | SQL_SCCO_OPT_VALUES, StringLengthPtr);
1978-
break;
1979-
default:
1978+
break;
1979+
case SQL_POSITIONED_STATEMENTS:
1980+
MADB_SET_NUM_VAL(SQLINTEGER, InfoValuePtr, SQL_PS_POSITIONED_DELETE | SQL_PS_POSITIONED_UPDATE, StringLengthPtr);
1981+
break;
1982+
default:
19801983
MADB_SetError(&Error, MADB_ERR_HY096, nullptr, 0);
19811984
return Error.ReturnValue;
19821985
}

test/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,10 @@ FOREACH (ODBC_TEST ${ODBC_TESTS})
7878
ADD_EXECUTABLE(odbc_${ODBC_TEST} "${ODBC_TEST}.c" ${COMMON_TEST_SOURCES})
7979
SET_TARGET_PROPERTIES(odbc_${ODBC_TEST} PROPERTIES
8080
LANGUAGE C)
81-
TARGET_LINK_LIBRARIES(odbc_${ODBC_TEST} -rdynamic)
8281
IF (WIN32)
8382
TARGET_LINK_LIBRARIES(odbc_${ODBC_TEST} dbghelp)
83+
ELSE()
84+
TARGET_LINK_LIBRARIES(odbc_${ODBC_TEST} -rdynamic)
8485
ENDIF()
8586
IF (DIRECT_LINK_TESTS)
8687
TARGET_LINK_LIBRARIES(odbc_${ODBC_TEST} maodbc ${PLATFORM_DEPENDENCIES})
@@ -96,6 +97,10 @@ ENDFOREACH()
9697
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/driver)
9798
ADD_EXECUTABLE(odbc_connstring connstring.c ${CMAKE_SOURCE_DIR}/driver/ma_dsn.c ${COMMON_TEST_SOURCES})
9899
TARGET_LINK_LIBRARIES(odbc_connstring ${ODBC_LIBS} ${ODBC_INSTLIBS} mariadbclient ${PLATFORM_DEPENDENCIES})
100+
IF (WIN32)
101+
TARGET_LINK_LIBRARIES(odbc_connstring dbghelp)
102+
ENDIF()
103+
99104
ADD_TEST(odbc_connstring ${EXECUTABLE_OUTPUT_PATH}/odbc_connstring)
100105
SET_TESTS_PROPERTIES(odbc_connstring PROPERTIES TIMEOUT 120)
101106
SET_TESTS_PROPERTIES(odbc_basic odbc_catalog2 odbc_cursor odbc_multistatement PROPERTIES TIMEOUT 450)

test/info.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,6 +873,7 @@ ODBC_TEST(odbc313)
873873
return OK;
874874
}
875875

876+
/* We returned incorrect max size for SQL_VARCHAR/SQL_VARBINARY */
876877
ODBC_TEST(odbc430)
877878
{
878879
CHECK_STMT_RC(Stmt, SQLGetTypeInfo(Stmt, SQL_VARCHAR));
@@ -911,6 +912,16 @@ ODBC_TEST(driver_ver)
911912
}
912913

913914

915+
ODBC_TEST(odbc475)
916+
{
917+
SQLINTEGER info= 0;
918+
CHECK_DBC_RC(Connection, SQLGetInfo(Connection, SQL_POSITIONED_STATEMENTS, &info, 0, NULL));
919+
is_num(SQL_PS_POSITIONED_DELETE | SQL_PS_POSITIONED_UPDATE, info);
920+
921+
return OK;
922+
}
923+
924+
914925
MA_ODBC_TESTS my_tests[]=
915926
{
916927
{ t_gettypeinfo, "t_gettypeinfo", NORMAL },
@@ -938,6 +949,7 @@ MA_ODBC_TESTS my_tests[]=
938949
{ odbc313, "odbc313", NORMAL },
939950
{ odbc430, "odbc430", NORMAL },
940951
{ driver_ver, "driver_ver_not_trimmed", NORMAL },
952+
{ odbc475, "odbc476_SQL_POSITIONED_STATEMENTS", NORMAL },
941953
{ NULL, NULL }
942954
};
943955

0 commit comments

Comments
 (0)