-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[TIBERO] TiberoDB Datatype 'TIBERO.BOOLEAN' is invalid #2226
Comments
Hi @ronnie-dba Thanks for creating this issue. We will add it to the list of issues to process. |
Hello @molivasdat do we have any workaround for this issue available? I understand it is a long list of issues and this tibero bug may be of very low priority, so if somebody could suggest a workaround is of great help to me. |
@ronnie-dba Thanks for understanding -- wanted to confirm since it has been a while since you initially reported the error that all of the above is still the same? Are you still using the same version? Getting same error? I am assuming you are, but wanted to verify first. Thanks! |
Hi @kataggart I recently tried on latest version 4.12.0, all remains the same, even specifying the databaseClass: liquibase.database.core.OracleDatabase in .properties file it is trying to create the databasechangelock table with locked field as boolean, I've tried to manually create it as int(1) as it does in oracle, however, during the insert liquibase tries to insert it as TRUE or FALSE. |
Hi @ronnie-dba - Oracle does have a boolean data type. So when you say that Tibero acts or respects the Oracle data types by looking like an Oracle database, booleans are accepted. You can build your own database class that is for Tibero that may help this situation. |
hey @molivasdat as far as I know oracle doesn't support boolean at least till 19c (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlqr/Data-Types.html#GUID-F5148A9D-3098-4067-935A-9F670991A541) I will conduct some tests on oracle newer versions, because on older versions the above mentioned tables is created with integer datatype and not boolean, thanks for the heads up I will double check this on Oracle and get back to you. |
Environment
RedHat 7.4
Liquibase Version:
4.6.1 - 4.12.0
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
CLI
Liquibase Extension(s) & Version:
Database Vendor & Version:
TmaxSoft TIBERO 6
Operating System Type & Version:
Description
trying liquibase 4.6.1 on TmaxSoft Tibero, it basically speaks ORACLE dialect.
In my property file I’m passing databaseClass: liquibase.database.core.OracleDatabase parameter, and I can confirm that on log:
[2021-11-22 11:20:15] DETALHADO [liquibase.configuration] Found ‘liquibase.databaseClass’ configuration of ‘class liquibase.database.core.OracleDatabase’
file /home/tibero/liquibase/liquibase.properties ‘databaseClass’ of ‘class liquibase.database.core.OracleDatabase’
However, after connecting on database the process fails due to the following error:
[2021-11-22 11:20:16] GRAVE [liquibase.integration] JDBC-7454:Datatype ‘TIBERO.BOOLEAN’ is invalid.
CREATE TABLE tibero.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]
Steps To Reproduce
Download and install tibero.
Try to connect liquibase to tibero.
Actual Behavior
For some reason liquibase is not using oracle dialect:
[tibero@legolas liquibase]$ liquibase update
####################################################
_ _ _ _
| | () () |
| | _ __ _ _ _ | |_ __ _ ___ ___
| | | |/ _
| | | | | '_ \ / _
/ __|/ _ \| || | (| | || | | |) | (| _ \ __/
_/|_, |_,||./ _,|/__|
| |
|_|
Get documentation at docs.liquibase.com
Get certified courses at learn.liquibase.com
Free schema change activity reports at
https://hub.liquibase.com
####################################################
Starting Liquibase at 11:20:15 (version 4.6.1 #98 built at 2021-11-04 20:16+0000)
Liquibase Version: 4.6.1
Liquibase Community 4.6.1 by Liquibase
Unexpected error running Liquibase: JDBC-7454:Datatype 'TIBERO.BOOLEAN' is invalid. [Failed SQL: (-7454) CREATE TABLE tibero.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED datetime, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]
Logs saved to /home/tibero/liquibase/liquibase.log
Expected/Desired Behavior
If liquibase.database.core.OracleDatabase is set, was suposed to execute all statements in oracle dialect, and oracle doesn't support boolean.
liquibase.log
liquibase_properties.txt
I need a way to make liquibase use oracle dialect or to don't use boolean when conected to Tibero database.
Screenshots (if appropriate)
If applicable, add screenshots to help explain your problem.
Additional Context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: