Hi

There are still issues with the ODBC Driver for Aurora DB.

To reproduce, please add to the table OrderHeader an index 5 with 2 segments: Order_date DESC, Order_Number ASC
Then convert to Aurora DB

The table is created as Standard table:
Code:
CREATE TABLE `OrderHeader` (
    `Order_Number` INT(11) NOT NULL DEFAULT '0',
    `Customer_Number` INT(11) NOT NULL DEFAULT '0',
    `Order_Date` DATE NOT NULL DEFAULT '0001-01-01',
    `Terms` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Ship_Via` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Ordered_By` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `SalesPerson_ID` VARCHAR(4) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Order_Total` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `Last_Detail_Num` SMALLINT(6) NOT NULL DEFAULT '0',
    PRIMARY KEY (`Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader002` (`Customer_Number`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader003` (`Order_Date`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader004` (`SalesPerson_ID`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader005` (`Order_Date`, `Order_Number`) USING BTREE
)
COLLATE='latin1_bin'
ENGINE=InnoDB
;
or Recnum table
Code:
CREATE TABLE `OrderHeader` (
    `RECNUM` INT(11) NOT NULL,
    `Order_Number` INT(11) NOT NULL DEFAULT '0',
    `Customer_Number` INT(11) NOT NULL DEFAULT '0',
    `Order_Date` DATE NOT NULL DEFAULT '0001-01-01',
    `Terms` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Ship_Via` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Ordered_By` VARCHAR(12) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `SalesPerson_ID` VARCHAR(4) NOT NULL DEFAULT '' COLLATE 'latin1_bin',
    `Order_Total` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    `Last_Detail_Num` SMALLINT(6) NOT NULL DEFAULT '0',
    PRIMARY KEY (`Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader000` (`RECNUM`) USING BTREE,
    UNIQUE INDEX `OrderHeader002` (`Customer_Number`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader003` (`Order_Date`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader004` (`SalesPerson_ID`, `Order_Number`) USING BTREE,
    UNIQUE INDEX `OrderHeader005` (`Order_Date`, `Order_Number`) USING BTREE
)
COLLATE='latin1_bin'
ENGINE=InnoDB
;
Incident 1: Auto_increment is not defined.
Incident 2: Index OrderHeader005 does not show DESC, in fact it is duplicate with OrderHeader003.

This is not good and failing the promise of the connectivity kits.

The INT is resp

Code:
...
INDEX_NUMBER 1
INDEX_NAME PRIMARY


INDEX_NUMBER 2
INDEX_NAME OrderHeader002


INDEX_NUMBER 3
INDEX_NAME OrderHeader003


INDEX_NUMBER 4
INDEX_NAME OrderHeader004


INDEX_NUMBER 5
INDEX_NAME OrderHeader005
and

Code:
...
INDEX_NUMBER 0
INDEX_NAME OrderHeader000


INDEX_NUMBER 1
INDEX_NAME PRIMARY


INDEX_NUMBER 2
INDEX_NAME OrderHeader002


INDEX_NUMBER 3
INDEX_NAME OrderHeader003


INDEX_NUMBER 4
INDEX_NAME OrderHeader004


INDEX_NUMBER 5
INDEX_NAME OrderHeader005
Now need to manually do:
Code:
ALTER TABLE `OrderHeader`
    CHANGE COLUMN `RECNUM` `RECNUM` INT(11) NOT NULL AUTO_INCREMENT FIRST;
and the INT file to

Code:
INDEX_NUMBER 5
INDEX_NAME OrderHeader005
INDEX_NUMBER_SEGMENTS 2
INDEX_SEGMENT_FIELD 3
INDEX_SEGMENT_DIRECTION DESCENDING
INDEX_SEGMENT_FIELD 1
I think the driver should be updated to detect that the DECENDING did not 'stick' and process the fallback to setting in the INT.
Please note that the descending index segment is only supported since MySql 8, so its a common issue for a lot of developers.

Kind regards
Marco