View Issue Details

IDProjectCategoryView StatusLast Update
0005280SymmetricDSImprovementpublic2022-07-27 18:59
Reporterelong Assigned Toelong  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.14.0 
Target Version3.14.0Fixed in Version3.14.0 
Summary0005280: Table DDL with timestamp and fractional second precision
DescriptionSupport fractional second precision (FSP) in the data definition language of SQL and XML. Also support FSP in related data types: timestamp with time zone, time, and time with time zone. For example:

create table myts (id integer primary key, created timestamp(6));

<table>
   <column name="id" type="numeric" size="18"/>
   <column name="created" type="timestamp" size="6"/>
</table>

When receiving XML table definition, the target platform should reduce the FSP, if it's greater than its maximum for the platform, and log a warning. If a data type is not supported by the platform, like timestamp with timezone, then it should use the closest related data type.
Steps To Reproduce<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="dbexport" encoding="UTF-8">
    <table name="MYDATES">
        <column name="ID" primaryKey="true" primaryKeySeq="1" required="true" type="NUMERIC" size="18">
        </column>
        <column name="TIMESTAMP0" type="TIMESTAMP" size="0">
        </column>
        <column name="TIMESTAMP3" type="TIMESTAMP" size="3">
        </column>
        <column name="TIMESTAMP9" type="TIMESTAMP" size="12">
        </column>
        <column name="timestamptz9" type="TIMESTAMPTZ" size="12">
        </column>
        <column name="timestampltz9" type="TIMESTAMPLTZ" size="12">
        </column>
        <column name="DATE0" type="DATE">
        </column>
        <column name="TIME0" type="TIME" size="0">
        </column>
        <column name="TIME3" type="TIME" size="3">
        </column>
        <column name="TIME9" type="TIME" size="12">
        </column>
        <column name="TIMETZ9" type="TIMETZ" size="12">
        </column>
    </table>
</database>
Tagsddl/schema

Relationships

related to 0003778 closedelong Send table fails when sending H2 Timestamp to MySQL 
related to 0002261 closedelong Schema from Postgres outputs TIMESTAMPTZ that is not compatible with other databases 
related to 0003962 closedelong Oracle's TIMESTAMP with Time Zone doesn't map to MariaDB 
related to 0004723 closedelong Send column with Oracle DATE type to PostgreSQL 
related to 0005122 closedelong Wrong conversion from mssql datetime(7) to mysql/mariadb 
related to 0004724 closedelong Send column with timestamp datatype from PostgreSQL to PostgreSQL 

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.14 8d36b7d9

2022-04-26 16:59:46

admin

Details Diff
0005280: Table DDL with timestamp and fractional second precision Affected Issues
0005280
mod - symmetric-db/src/main/java/org/jumpmind/db/io/DatabaseXmlUtil.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/ColumnTypes.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/PlatformColumn.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/TypeMap.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.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/DatabaseInfo.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/IDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/ase/AseDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/cassandra/CassandraDdlBuilder.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/derby/DerbyDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/h2/H2DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/hbase/HbaseDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/hsqldb/HsqlDbDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/hsqldb2/HsqlDb2DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/informix/InformixDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/ingres/IngresDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/interbase/InterbaseDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSql2000DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSql2005DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSql2008DdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/nuodb/NuoDbDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/raima/RaimaDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/redshift/RedshiftDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/sqlanywhere/SqlAnywhereDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/tibero/TiberoDdlBuilder.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/voltdb/VoltDbDdlBuilder.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/ase/AseDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/db2/Db2DdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/derby/DerbyDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/firebird/FirebirdDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/h2/H2DdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/hsqldb/HsqlDbDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/hsqldb2/HsqlDb2DdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/informix/InformixDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/interbase/InterbaseDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mysql/MySqlDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDdlReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/tibero/TiberoDdlReader.java Diff File

Issue History

Date Modified Username Field Change
2022-04-26 15:23 elong New Issue
2022-04-26 15:23 elong Status new => assigned
2022-04-26 15:23 elong Assigned To => elong
2022-04-26 15:23 elong Tag Attached: ddl/schema
2022-04-26 17:03 elong Status assigned => resolved
2022-04-26 17:03 elong Resolution open => fixed
2022-04-26 17:03 elong Fixed in Version => 3.14.0
2022-04-26 17:40 elong Relationship added related to 0003778
2022-04-26 17:41 elong Relationship added related to 0002261
2022-04-26 17:41 elong Relationship added related to 0003962
2022-04-26 17:41 elong Relationship added related to 0004723
2022-04-26 17:42 elong Relationship added related to 0005122
2022-04-26 17:48 elong Relationship added related to 0004724
2022-04-26 18:00 admin Changeset attached => SymmetricDS 3.14 8d36b7d9
2022-07-27 18:59 admin Status resolved => closed