View Issue Details

IDProjectCategoryView StatusLast Update
0006594SymmetricDSImprovementpublic2024-10-01 18:00
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.15.0 
Target Version3.15.9Fixed in Version3.15.9 
Summary0006594: Support DDL for automatic update of timestamp by database
DescriptionSupport data definition language (DDL) replication of a timestamp column with the option to update the timestamp automatically by the database when the row is updated. Add a "autoUpdate" boolean attribute to the "column" element in the XML.

On MySQL:

CREATE TABLE mytest (
    id INT NOT NULL,
    name VARCHAR(100) NULL,
    ts1 TIMESTAMP DEFAULT current_timestamp() on update current_timestamp() NOT NULL,
    ts2 TIMESTAMP DEFAULT current_timestamp() on update current_timestamp() NOT NULL,
    dt DATETIME DEFAULT current_timestamp() on update current_timestamp() NOT NULL,
    PRIMARY KEY (id)
);

On DB2:

CREATE TABLE mytest (
    id INT NOT NULL,
    name VARCHAR(100) NULL,
    ts1 TIMESTAMP DEFAULT current_timestamp() generated by default for each row on update as row change timestamp NOT NULL,
    PRIMARY KEY (id)
);

<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="dbexport" encoding="UTF-8">
    <table name="mytest2">
        <column name="id" primaryKey="true" primaryKeySeq="1" required="true" type="INTEGER" size="10">
            <platform-column name="mysql" type="INT" size="10"/>
        </column>
        <column name="name" type="VARCHAR" size="100">
            <platform-column name="mysql" type="VARCHAR" size="100"/>
        </column>
        <column name="ts1" required="true" type="TIMESTAMP" size="0" default="current_timestamp()" autoUpdate="true">
            <platform-column name="mysql" type="TIMESTAMP" default="current_timestamp()"/>
        </column>
    </table>
</database>
Tagsddl/schema, dialect: db2, dialect: mysql/mariadb

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.15 c107c51b

2024-09-25 16:11:38

admin

Details Diff
0006594: Support DDL for automatic update of timestamp by database Affected Issues
0006594
add - symmetric-db/src/main/java/org/jumpmind/db/alter/ColumnAutoUpdateChange.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/alter/ModelComparator.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/io/DatabaseXmlUtil.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/Column.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlBuilder.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlReader.java Diff File

SymmetricDS: 3.16 7fdeff66

2024-09-25 16:11:38

admin

Details Diff
0006594: Support DDL for automatic update of timestamp by database Affected Issues
0006594
add - symmetric-db/src/main/java/org/jumpmind/db/alter/ColumnAutoUpdateChange.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/alter/ModelComparator.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/io/DatabaseXmlUtil.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/Column.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlBuilder.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlReader.java Diff File

SymmetricDS: 3.15 f790d65e

2024-10-01 17:18:26

admin

Details Diff
0006594: Support DDL for automatic update of timestamp by database Affected Issues
0006594
mod - symmetric-assemble/database.dtd Diff File

SymmetricDS: 3.16 b321ca9a

2024-10-01 17:18:26

admin

Details Diff
0006594: Support DDL for automatic update of timestamp by database Affected Issues
0006594
mod - symmetric-assemble/database.dtd Diff File

Issue History

Date Modified Username Field Change
2024-09-20 17:09 elong New Issue
2024-09-20 17:09 elong Status new => assigned
2024-09-20 17:09 elong Assigned To => elong
2024-09-20 17:09 elong Tag Attached: ddl/schema
2024-09-20 17:09 elong Tag Attached: dialect: db2
2024-09-20 17:09 elong Tag Attached: dialect: mysql/mariadb
2024-09-25 16:15 elong Status assigned => resolved
2024-09-25 16:15 elong Resolution open => fixed
2024-09-25 16:15 elong Fixed in Version => 3.15.9
2024-09-25 17:00 admin Changeset attached => SymmetricDS 3.15 c107c51b
2024-09-25 17:00 admin Changeset attached => SymmetricDS 3.16 7fdeff66
2024-10-01 18:00 admin Changeset attached => SymmetricDS 3.15 f790d65e
2024-10-01 18:00 admin Changeset attached => SymmetricDS 3.16 b321ca9a
2024-10-01 19:48 admin Status resolved => closed