Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set max fractional timestamp digits to 12 for all DB2 editions (fix #2880) #2892

Merged
merged 2 commits into from Jul 28, 2022
Merged

Set max fractional timestamp digits to 12 for all DB2 editions (fix #2880) #2892

merged 2 commits into from Jul 28, 2022

Conversation

ctgnz
Copy link
Contributor

@ctgnz ctgnz commented May 30, 2022

Environment

Liquibase Version:
4.11.0
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
Maven
Liquibase Extension(s) & Version:

Database Vendor & Version:
DB2 11
Operating System Type & Version:
Linux/Unix/Windows

Pull Request Type

  • Bug fix (non-breaking change which fixes an issue.)
  • Enhancement/New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Description

A clear and concise description of the issue being addressed. Additional guidance here.

  • Describe the actual problematic behavior.
  • Ensure private information is redacted.

Steps To Reproduce

  1. In an existing DB2 database, create a table with a TIMESTAMP(12) column
  2. Run generate-changelog

List the steps to reproduce the behavior.

  • Please be precise and ensure private information is redacted
  • Include things like
    • Files used - sql scripts, changelog file(s), property file(s), config files, POM Files
    • Exact commands used - CLI, maven, gradle, spring boot, servlet, etc.

Actual Behavior

A clear and concise description of what happens in the software before this pull request.

  • Include console output if relevant
  • Include log files if available.

The generate-changelog job fails with error saying that 12 digits is not supported by DB2:
[2022-05-30 16:07:50] SEVERE [liquibase.integration] Using a TIMESTAMP data type with a fractional precision of 12 is not supported on db2: A timestamp datatype with 12 fractional digits was requested, but DB2/LINUX X8664 only supports 9 digits.

Expected/Desired Behavior

A clear and concise description of what happens in the software after this pull request.

The generate-changelog job successfully creates the change log, because DB2 does support 12 digit precision in timestamps.

Screenshots (if appropriate)

If applicable, add screenshots to help explain your problem.

Additional Context

Add any other context about the problem here.

Fast Track PR Acceptance Checklist:

Need Help?

Come chat with us in the Liquibase Forum.

@kataggart kataggart changed the title #2880: Set max fractional timestamp digits to 12 for all DB2 editions Set max fractional timestamp digits to 12 for all DB2 editions (fix #2880) May 30, 2022
@kataggart kataggart linked an issue May 30, 2022 that may be closed by this pull request
@kataggart kataggart added this to To Do in Conditioning++ via automation May 30, 2022
@ctgnz
Copy link
Contributor Author

ctgnz commented Jun 30, 2022

Any progress on this?

@kataggart
Copy link
Contributor

@ctgnz sorry we haven't yet been able to move this forward as we have had to focus on some higher priority work with the resources we have; I will talk with the team during standup tomorrow and see if we can put some time on it. Thanks!

@ctgnz ctgnz requested a review from nvoxland as a code owner July 27, 2022 16:03
@nvoxland nvoxland changed the base branch from master to 1_9 July 27, 2022 16:03
@nvoxland nvoxland changed the base branch from 1_9 to master July 27, 2022 16:03
@nvoxland nvoxland added the SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions label Jul 27, 2022
@github-actions
Copy link

github-actions bot commented Jul 27, 2022

Unit Test Results

  4 620 files  ±  0    4 620 suites  ±0   32m 30s ⏱️ - 1m 40s
  4 596 tests +  2    4 381 ✔️ +  2     215 💤 ±0  0 ±0 
54 324 runs  +24  49 304 ✔️ +24  5 020 💤 ±0  0 ±0 

Results for commit f2c8128. ± Comparison against base commit 28631d9.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@nvoxland nvoxland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code review and test results:

Things to be aware of:

  • Only impacts db2 database types
  • Changes make sense to me and don't impact existing tests

Things to worry about:

  • Nothing

Copy link
Contributor

@XDelphiGrl XDelphiGrl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Fix removes a Liquibase limitation preventing DB2 timestamps greater than 9 from being snapshotted.
  • Integration test added.
  • No additional testing required.

APPROVED

Passing Functional Tests
Passing Test Harness Execution

@kataggart kataggart added this to the NEXT milestone Jul 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autocandidate daily_review DBDB2i DBDB2LUW DBDB2Z SafeToBuild Indicates that a particular PR contains changes which are safe to build using GitHub actions sprint2022-30 TypeBug ver4.11.0
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

DB2Database has incorrect fractional precision for TimestampType
5 participants