Skip to content

Commit 4f6a2a4

Browse files
abmussekadler
andauthored
fix: Create table with character column issue (#6)
* fix: Create table with character column issue Suspect the failure occurs in `getNewTextDesc` during ILECALL to IBM i [QlgTextDescToDesc](https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/apis/QLGCVTTDD.htm) function. The `CRDIDesc` and `CRDODesc` ILEpointers were not being aligned properly along 16 byte boundary. Instead of just fixing the ILECALL we avoid calling QlgTextDescToDesc altogether by creating an encoding map. The map contains supported mariadb charset, iconv to and from converter tables, and Db2 CCSID. * fixup! fix: Create table with character column issue * fixup! fixup! fix: Create table with character column issue * fixup! fixup! fixup! fix: Create table with character column issue * fixup! fixup! fixup! fixup! fix: Create table with character column issue * Update db2i_charsetSupport.cc Co-authored-by: Kevin Adler <[email protected]> Co-authored-by: Kevin Adler <[email protected]>
1 parent 8a0ce2e commit 4f6a2a4

File tree

4 files changed

+197
-699
lines changed

4 files changed

+197
-699
lines changed

CMakeLists.txt

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,33 @@
11
cmake_minimum_required (VERSION 2.8.0)
22
project (ibmdb2i)
3-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-brtl,-lc,-blibpath:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib:/usr/lib,-bbigtoc,-lpthread,-liconv")
4-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-brtl,-lc,-blibpath:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib:/usr/lib,-bbigtoc,-lpthread,-liconv")
5-
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-brtl,-lc,-blibpath:/QOpenSys/pkgs/lib:/QOpenSys/usr/lib:/usr/lib,-bbigtoc,-lpthread,-liconv")
6-
# message("-- ibmdb2i CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}")
7-
# message("-- ibmdb2i CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}")
8-
# message("-- ibmdb2i CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}")
93
include_directories(BEFORE special/include)
104
include_directories (
115
../../include
12-
../../sql
6+
../../sql
137
../../pcre)
14-
SET(IBMDB2I_SOURCES db2i_blobCollection.cc
15-
db2i_misc.cc
16-
db2i_charsetSupport.cc
17-
db2i_collationSupport.cc
18-
db2i_constraints.cc
19-
db2i_conversion.cc
20-
db2i_errors.cc
21-
db2i_file.cc
22-
db2i_ileBridge.cc
23-
db2i_ioBuffers.cc
24-
db2i_myconv.cc
25-
db2i_rir.cc
26-
db2i_sqlStatementStream.cc
27-
db2i_global.cc
28-
db2i_safeString.cc
29-
ha_ibmdb2i.cc)
30-
# LINK_INTERFACE_LIBRARIES
31-
set(PASELIB_LIBRARIES
32-
-L/QOpenSys/usr/lib
33-
pthread
34-
c
35-
iconv)
36-
# STATIC_ONLY (MANDATORY)
37-
# (MANDATORY) -- affects sql/sql_builtin.c (gen file on cmake, build-xxx.sh)
38-
# -- links ibmdb2i into mysqld (daemon)
39-
# -- INSTALL SONAME 'ha_ibmdb2i'; (no longer required)
40-
# MYSQL_ADD_PLUGIN(ibmdb2i ${IBMDB2I_SOURCES}
41-
# STORAGE_ENGINE STATIC_ONLY MANDATORY
42-
# LINK_LIBRARIES ${PASELIB_LIBRARIES})
438

44-
# MODULE_ONLY
45-
# -- INSTALL SONAME 'ha_ibmdb2i';
46-
MYSQL_ADD_PLUGIN(ibmdb2i ${IBMDB2I_SOURCES}
47-
STORAGE_ENGINE MODULE_ONLY
48-
LINK_LIBRARIES ${PASELIB_LIBRARIES})
9+
SET(IBMDB2I_SOURCES
10+
db2i_blobCollection.cc
11+
db2i_misc.cc
12+
db2i_charsetSupport.cc
13+
db2i_collationSupport.cc
14+
db2i_constraints.cc
15+
db2i_conversion.cc
16+
db2i_errors.cc
17+
db2i_file.cc
18+
db2i_ileBridge.cc
19+
db2i_ioBuffers.cc
20+
db2i_myconv.cc
21+
db2i_rir.cc
22+
db2i_sqlStatementStream.cc
23+
db2i_global.cc
24+
db2i_safeString.cc
25+
ha_ibmdb2i.cc
26+
)
4927

50-
# Dave add -malign-power -malign-natural (below)
51-
# Our power engine will run better. Also fewer gcc odd boundary over runs.
52-
target_compile_options(ibmdb2i PRIVATE -malign-power -malign-natural -ggdb -O0)
28+
MYSQL_ADD_PLUGIN(ibmdb2i
29+
${IBMDB2I_SOURCES}
30+
STORAGE_ENGINE MODULE_ONLY
31+
LINK_LIBRARIES /QOpenSys/usr/lib/libiconv.a)
32+
33+
target_compile_options(ibmdb2i PRIVATE -O0)

0 commit comments

Comments
 (0)