mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 22:34:18 +01:00
a8df3d3c90
In order to better support the usage of IBMDB2I tables from within RPG programs, the storage engine should ensure that the RCDFMT name is consistent and predictable for DB2 tables. This patch appends a "RCDFMT <name>" clause to the CREATE TABLE statement that is passed to DB2. <name> is generated from the original name of the table itself. This ensures a consistent and deterministic mapping from the original table. For the sake of simplicity only the alpha-numeric characters are preserved when generating the new name, and these are upper-cased; other characters are replaced with an underscore (_). Following DB2 system identifier rules, the name always begins with an alpha-character and has a maximum of ten characters. If no usable characters are found in the table name, the name X is used. mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result: Bug#44610 RCDFMT clause requested when creating DB2 table Result file for the test case. mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test: Bug#44610 RCDFMT clause requested when creating DB2 table Test case that confirms that the names that are being generated are valid. storage/ibmdb2i/ha_ibmdb2i.cc: Bug#44610 RCDFMT clause requested when creating DB2 table This patch appends a "RCDFMT <name>" clause to the CREATE TABLE statement that is passed to DB2. <name> is generated from the original name of the table itself. This ensures a consistent and deterministic mapping from the original table. storage/ibmdb2i/ha_ibmdb2i.h: Bug#44610 RCDFMT clause requested when creating DB2 table This patch appends a "RCDFMT <name>" clause to the CREATE TABLE statement that is passed to DB2. <name> is generated from the original name of the table itself. This ensures a consistent and deterministic mapping from the original table.
18 lines
562 B
Text
Executable file
18 lines
562 B
Text
Executable file
create table ABC (i int) engine=ibmdb2i;
|
|
drop table ABC;
|
|
create table `1234567890ABC` (i int) engine=ibmdb2i;
|
|
drop table `1234567890ABC`;
|
|
create table `!@#$%` (i int) engine=ibmdb2i;
|
|
drop table `!@#$%`;
|
|
create table `ABCD#########` (i int) engine=ibmdb2i;
|
|
drop table `ABCD#########`;
|
|
create table `_` (i int) engine=ibmdb2i;
|
|
drop table `_`;
|
|
create table `abc##def` (i int) engine=ibmdb2i;
|
|
drop table `abc##def`;
|
|
set names utf8;
|
|
create table İ (s1 int) engine=ibmdb2i;
|
|
drop table İ;
|
|
create table İİ (s1 int) engine=ibmdb2i;
|
|
drop table İİ;
|
|
set names latin1;
|