WrenAI icon indicating copy to clipboard operation
WrenAI copied to clipboard

Support Oracle data source

Open andreashimin opened this issue 1 year ago • 25 comments

Is your feature request related to a problem? Please describe. Provides users with the ability to connect and set up Oracle as a data source, enabling integration with distributed data processing frameworks directly within Wren AI's connection setup.

Describe the solution you'd like

  • Add a Oracle connector in ibis-server
  • Implement Oracle connection handling between ibis-server and Wren UI backend.
  • Create a UI form for users to set up the Oracle data source (e.g., server address, port, authentication).

For more details, see Creating a New Data Source Connector in our CONTRIBUTING.md.

andreashimin avatar Oct 03 '24 06:10 andreashimin

Hi can I work on this issue?

druvikan avatar Oct 03 '24 10:10 druvikan

Hi @druvikan, of course! Thank you for your interest in the issues! We appreciate it.

However, for the Hacktoberfest events, we will only assign one ticket to the same person at a time.

Feel free to work on multiple issues simultaneously, but we will only assign one issue to a person at a time. This means you can submit two pull requests simultaneously, but we won't assign more than one issue to you at once.

Looking forward to your contribution!

chilijung avatar Oct 03 '24 10:10 chilijung

Okay that's great.Thank you

druvikan avatar Oct 03 '24 10:10 druvikan

Hey there! I wanted work on this open issue. Kindly assign it to me

Satwikloka avatar Oct 04 '24 10:10 Satwikloka

@Satwikloka assigned!

andreashimin avatar Oct 04 '24 11:10 andreashimin

Hi @Satwikloka, This issue has been inactive for a while. Are you still working on it? If not, I will reassign it to others.. cc/ @Prototype4988

chilijung avatar Oct 29 '24 01:10 chilijung

@chilijung I would like to work on this. can you please assign it to me.

gagan-bhullar-tech avatar Oct 29 '24 05:10 gagan-bhullar-tech

Yes please! Assign to someother person

Satwikloka avatar Oct 29 '24 05:10 Satwikloka

@Satwikloka, thanks for the follow-up. @Prototype4988, would you like to take over this issue? @gagan-bhullar-tech, since @Prototype4988 first reached out to me, I'll assign it to him first if he accepts the ticket.

@gagan-bhullar-tech I can reassign to you if the original assignee is not working on Druid https://github.com/Canner/WrenAI/issues/711#issuecomment-2443266523

chilijung avatar Oct 29 '24 05:10 chilijung

@chilijung Yes ill take it up

Prototype4988 avatar Oct 29 '24 05:10 Prototype4988

@Prototype4988 assigned.

chilijung avatar Oct 29 '24 06:10 chilijung

Any progress?

sanketrk avatar Apr 07 '25 11:04 sanketrk

Not actively working on it at the moment. If anybody is interested they can take over this issue

Prototype4988 avatar Apr 07 '25 11:04 Prototype4988

Not actively working on it at the moment. If anybody is interested they can take over this issue

Folks any update regarding this issue? If no one has picked up, I'd like to

narsik123 avatar Apr 15 '25 21:04 narsik123

@chilijung @wwwy3y3 any updates on Oracle? Is that still on the roadmap

narsik123 avatar Apr 18 '25 13:04 narsik123

@narsik123 assigned to you

wwwy3y3 avatar Apr 18 '25 13:04 wwwy3y3

@narsik123 The Oracle connector has been supported by the engine side https://github.com/Canner/wren-engine/pull/1067 The remaining work is supporting it in the Wren AI UI / Backend.

goldmedal avatar Apr 21 '25 04:04 goldmedal

@goldmedal are the Oracle DB drivers, present and updated in the engine. Are there tests that have been executed by the engine to validate connectivity? Is Oracle connectivity part of the Java impl or the new Rust impl.

narsik123 avatar Apr 22 '25 00:04 narsik123

@goldmedal are the Oracle DB drivers, present and updated in the engine. Are there tests that have been executed by the engine to validate connectivity?

The connector is tested in the wren engine CI flow. We use the testcontainer gvenzl/oracle-free:23.6-slim-faststart image to test it.

https://github.com/Canner/wren-engine/blob/05fc52aaac5c12a8701de4e0b66081630cd0e0d7/ibis-server/tests/routers/v2/connector/test_oracle.py#L121

Is Oracle connectivity part of the Java impl or the new Rust impl.

It's part of the Python impl. It can be used by both v2 (java) and v3 (rust) API.

To see more API details, you can see wren_engine_api

goldmedal avatar Apr 22 '25 02:04 goldmedal

@goldmedal I implemented all the steps as illustrated in

For more details, see Creating a New Data Source Connector in our CONTRIBUTING.md.

Still seeing only the standard 8 connectors, even though i inserted oracle in between MySQL and SQL Server. Before I head into debugging, do you have pointers to watch for

narsik123 avatar Apr 23 '25 00:04 narsik123

Still seeing only the standard 8 connectors, even though i inserted oracle in between MySQL and SQL Server. Before I head into debugging, do you have pointers to watch for

I'm not so familiar with the frontend/backend codebase of the Wren AI. @wwwy3y3 or @onlyjackfrost, do you have any idea about it?

goldmedal avatar Apr 23 '25 11:04 goldmedal

@narsik123 I'm not sure what you mean by all the steps. If you can't see the icon after following BE and FE, maybe you can raise a draft PR so that we can find out what's going on.

onlyjackfrost avatar Apr 23 '25 14:04 onlyjackfrost

Got it @onlyjackfrost. and thank you @goldmedal https://github.com/Canner/WrenAI/blob/main/CONTRIBUTING.md needs to have an update

wren-ui\src\components\pages\setup\utils.tsx needs to be added as an addition page to update. Testing on going.

narsik123 avatar Apr 23 '25 17:04 narsik123

@narsik123 thanks! I'll update it.

onlyjackfrost avatar Apr 24 '25 02:04 onlyjackfrost

@onlyjackfrost please add wren-ui\src\apollo\server\schema.ts to be updated too. The DataSourceName enum should contain the new database, in this instance, ORACLE.

narsik123 avatar Apr 24 '25 02:04 narsik123