Closed MichaelS11 closed 5 years ago
The Oracle rowid is 13 bytes but int64 is only 8 bits.
What do you mean? 64bit?
Meant to say 8 bytes. So the amount/size of the rowid data can not fit into int64 size of 8 bytes.
FWIW the newer UROWID could take up to 4000 bytes in the DB, and may need up to 5267 bytes in the Oracle Client.
Value of LastInsertId from go-oci8 is a pointer to string not real value of Oracle rowid. So it is possible to hold 4000 bytes rowid. I did not think that go-oci 8 could handle the rowid of Oracle because type of LastInsertId is typed to int64. go-oci8 need to call two APIs to get real LastInsertId
Ah, got it. Thank you
@mattn
The Oracle rowid is 13 bytes but int64 is only 8 bits. I think we should change LastInsertId to unsupported. What do you think?