BUG: Rowid by Index organized table is not long enough

Roeland

Member³
I have a Index organized Table that I wanted to edit in the grid.
So I wrote:

select t.*, t.rowid from Tst_Iot t;

Result was (for 1 record)

Code:
Tekst     OK      ROWID
-----------------------
HASPATH   F       *BAFDofwHSEFTUEFUSP

But the same query in SQLPLus generated this result

Code:
Tekst     OK      ROWID
-----------------------
HASPATH   F       *BAFDofwHSEFTUEFUSP4

Notice that in SQLPlus there was an extra character (eg: "4") added to the rowid? Can it be that you are stripping rowids for IOT's?

When I edited this record and tried to post it, I received an error with "Record is locked by another user".

But when I wrote an update statement that references the "tekst" and not the rowid everything was updated nicely.

I'm sure you can fix this.

Roeland
 
Version is 8.0.4.1514

Strange is that I had to change the structure of the table, and now the rowid is correct...

Old Structure:

Code:
-- Create table
create table CTX_TEST
(
  tekst     VARCHAR2(10) not null,
  op_zoeken VARCHAR2(1),
  constraint CTX_TEST_PK primary key (TEKST)
)
organization index;

If I change the structure a little, the problem was gone:

Code:
-- Create table
create table CTX_TEST
(
  tekst     VARCHAR2(10 CHAR) not null,
  op_zoeken VARCHAR2(1),
  constraint CTX_TEST_PK primary key (TEKST)
)
organization index;

I could repeat this consistently with the first structure and inserting

Code:
insert into ctx_test
  (tekst, op_zoeken)
values
  ('HASPATH', 'T');

Roeland
 
Is this been taking seriously? Could anyone reproduce this?
Will this be resolved in an update?

Roeland
 
Back
Top