Skip to content

input binding with table of udt #169

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

Open
kumark92 opened this issue Jun 11, 2025 · 1 comment
Open

input binding with table of udt #169

kumark92 opened this issue Jun 11, 2025 · 1 comment
Assignees

Comments

@kumark92
Copy link

kumark92 commented Jun 11, 2025

I'm trying to bind the input parameters of table of udt using OracleR2dbcTypes.arrayType("ADDRESS_TABLE") but getting error ORA-17059: Failed to convert internal representation: {CITY=Newyork}.
Does this support binding the table of udt

and I have this in Db
CREATE OR REPLACE TYPE ADDRESS_TYPE AS OBJECT (
CITY VARCHAR2(60)
);

CREATE OR REPLACE TYPE ADDRESS_TABLE AS TABLE OF ADDRESS_TYPE;

databaseClient.sql("SELECT * FROM TABLE(GET_Persons(:address_in))")
.bind("address_in", Parameters.in(OracleR2dbcTypes.arrayType("ADDRESS_TABLE"), new Object[]{Map.of("CITY", "Newyork")}))
.map((row,meta)) -> {
//process the result
}
.all()
.collectList();

@Michael-A-McMahon Michael-A-McMahon self-assigned this Jun 12, 2025
@Michael-A-McMahon
Copy link
Member

Thanks for creating this issue @kumark92 !

I think there's a defect in Oracle R2DBC here, because it's not checking for an ARRAY type'd bind that has OBJECT type'd elements. I'm working on a fix, and also seeing if I can find you a workaround for the interim.

I'm hoping to have an update on this in the next few days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants