You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Computed index columns are displayed as columns part of the table and the Sybase internal name for the computed column is used in the DDL generated for the index.
Use any table e.g.
`CREATE TABLE TEST..TEST(iden numeric(18), val varchar(16) )
GO'
After creation the table has 2 columns in the columns display in DBeaver
Create an index on the same table with a computed column: CREATE INDEX I_TEST on TEST..TEST (iden, upper(val)) GO
Now the table has 3 columns:
And the DDL generated for this table by DBeaver is: CREATE TABLE WORKPLANNING.dbo.TEST ( iden numeric(18,0) NOT NULL, val varchar(16) NOT NULL, sybfi2_1 varchar(16) NULL ); CREATE INDEX I_TEST ON WORKPLANNING.dbo.TEST (iden,sybfi2_1);
NB. For materialized functions, computed columns and similar Sybase will associate the function as an entry in the system table 'syscolumns' linked to the source table and also associate rows in 'syscomments' to that column that contain the code of the function.
Description
Computed index columns are displayed as columns part of the table and the Sybase internal name for the computed column is used in the DDL generated for the index.
DBeaver Version
Community Edition 24.0.1.202403241413
Operating System
Windows 11
Database and driver
Sybase ASE 15.x and 16
jConnect (TM) for JDBC(TM)/16.0 SP03 PL02 (Build 27403)/P/EBF27518/JDK 1.6.0/jdbcmain/OPT/Mon Aug 28 18:41:14 PDT 2017
https://mvnrepository.com/artifact/com.sap.jconnect/jconn4
Steps to reproduce
`CREATE TABLE TEST..TEST(iden numeric(18), val varchar(16) )
GO'
After creation the table has 2 columns in the columns display in DBeaver
CREATE INDEX I_TEST on TEST..TEST (iden, upper(val)) GO
Now the table has 3 columns:
And the DDL generated for this table by DBeaver is:
CREATE TABLE WORKPLANNING.dbo.TEST ( iden numeric(18,0) NOT NULL, val varchar(16) NOT NULL, sybfi2_1 varchar(16) NULL ); CREATE INDEX I_TEST ON WORKPLANNING.dbo.TEST (iden,sybfi2_1);
Additional context
You can setup a local Sybase DB quickly using this docker image:
https://hub.docker.com/r/superbeeeeeee/docker-sybase
https://github.com/cboudereau/docker-sybase
The text was updated successfully, but these errors were encountered: