View Revisions: Issue #6998

Summary 0006998: Detect support for zero-based date and timestamp columns in MySQL and mark them as NULL-able
Revision 2025-07-23 02:38 by pbelov
Description In older versions of MySQL (before 5.7) it is possible to mark timestamp and date columns as both NOT NULL and insert an ISO-invalid ZERO-based value (also use it as DEFAULT expression).

Starting from MySQL 5.7 this is no longer allowed by default, unless the NO_ZERO_DATE (and STRICT mode) database setting is turned off manually.

SymmetricDS should:
1. Detect zero-based defaults for timestamp and date columns
2. Mark columns as NULL-able in the table model
3. Remove default value (since it is essentially NULL).
Revision 2025-07-18 20:21 by pbelov
Description In older versions of MySQL it is possible to mark timestamp and date columns as both NOT NULL and an ISO-invalid ZERO-based value as DEFAULT.
Starting from MySQL 8.x this is no longer allowed , unless the NO_ZERO_DATE database setting is turned off manually.

SymmetricDS should:
1. Detect zero-based defaults for timestamp and date columns
2. Mark columns as NULL-able in the table model
3. Remove default value (since it is essentially NULL).
Revision 2025-07-18 16:30 by pbelov
Description In older versions of MySQL it is possible to mark timestamp (and date) columns as NOT NULL yet default value is an invalid ZERO-based value:

SymmetricDS should:
1. Detect zero-based defaults for timestamp columns
2. Mark them as NULL-able in the table model