× Heads up!

Aqua Data Studio / nhilam

Follow
IDE for Relational Databases
×
ivangron reported 2017-03-14T16:25:42Z  · tariqrahiman last modified 2017-03-25T02:32:32Z

Oracle -> Extraction and Scripting of index on column that is a virtual column incorrectly scripting index


customer request
Priority Low
Complexity Unknown
Component DB - Oracle
Version 17.0

  Creating a table with virtual columns & then creating an index on the table that is on the virtual column(s), causes scripting of the index DDL to incorrectly script the index.

Example:

CREATE TABLE "DB_LEFT"."TBL_A"  ( 
   PREV_RELATIONSHIP_ID   NUMBER NOT NULL,
   BE_PARENT_LIST         VARCHAR2(1 BYTE) NOT NULL,
   DELETED_FLAG           CHAR(1 CHAR) NOT NULL,
   VC_BE_LEFT_SIDE_ID     NUMBER GENERATED ALWAYS AS (TO_NUMBER( REGEXP_SUBSTR ( REGEXP_SUBSTR ("BE_PARENT_LIST",'[^,]+',1,1),'[^:]+',1,1))) VIRTUAL NULL,
   VC_BE_RIGHT_SIDE_ID    NUMBER GENERATED ALWAYS AS (TO_NUMBER( REGEXP_SUBSTR ( REGEXP_SUBSTR ("BE_PARENT_LIST",'[^,]+',1,2),'[^:]+',1,1))) VIRTUAL NULL,
   CONSTRAINT TBL_A_PK PRIMARY KEY(PREV_RELATIONSHIP_ID)
   NOT DEFERRABLE VALIDATE )
GO
CREATE INDEX "DB_LEFT"."TBL_A_BE_LS" 
    ON "DB_LEFT"."TBL_A" 
        ("VC_BE_LEFT_SIDE_ID", "DELETED_FLAG")
    PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
GO

Scripting this index will issue the following DDL:

CREATE INDEX DB_LEFT.TBL_A_BE_LS
   ON DB_LEFT.TBL_A
   (TO_NUMBER(REGEXP_SUBSTR(REGEXP_SUBSTR ("BE_PARENT_LIST",'[^,]+',1,1),'[^:]+',1,1)), DELETED_FLAG) VISIBLE
GO
3 attachments

Issue #15073

Closed
Fixed
Resolved 2017-03-14T17:36:06Z
 
 
Completion
No due date
Fixed Build v17.0.12-3, v18.0.3-8
No time estimate

About AquaClusters Privacy Policy Support Version - 19.0.2-4 AquaFold, Inc Copyright © 2007-2017