-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Feature Add Oracle driver #2487
Conversation
ea45b93
to
0f3d3d8
Compare
Thanks so much for submitting this! You rock for that. I won't be able to get to this until after the next RC release, honestly. Besides reviewing this, we need to get Travis setup to be able to test it if possible. I'm honestly not familiar enough with Oracle to know if there's a simple to setup community version. Looks like there's Express Edition but would have to look deeper to see if we could integrate. |
@lonnieezell
Humm... Is there anything I can do to help with the this review? |
I tried using this driver with Oracle 18C, it works fine. Thank you @ytetsuro |
@ytetsuro @lonnieezell |
I was working on tests for this at some point and the main problem I had, was how to set an empty database because by default oracle comes with a lot of additional tables that break our tests. Also, I think we need at least Oracle 12 to support "auto-increment" values. Maybe this thing with a fresh database is trivial but my DevOps skills are low 😅 |
Any update on the availability of OCI8 driver support for CI4 ? |
I am really waiting for this Codeigniter 4 Oracle driver. Hopefully, it can be released soon. Thank you |
a410c77
to
478f47b
Compare
Very thanks. Using the same idea, I checked the containers used in version 12c and above and found that The following repositories use this container.
Changed GitHub Actions so that the OCI8 tests work with the above container. |
@ytetsuro @lonnieezell @michalsn @jkashwin @javawebmedia And we need to add about this driver in |
Thanks for the quick feedback.
I think
The driver I created this time doesn't seem to use any of the features that were deprecated in 18c, so I think 12.1+ is fine.
Thanks. |
Co-authored-by: kenjis <[email protected]>
Co-authored-by: kenjis <[email protected]>
I'm not sure CI4 aims to Database Driver abstraction. Personally I think abstraction is Query Builder (and CodeIgniter\Model) and Forge.
I don't get what you mean. What is original prepared statements ? |
4b0c62d
to
fb1fb00
Compare
Thanks for feedback. I'm learning a lot. Thank you.
Indeed, I don't think we should add it! I thought that inheriting from BaseConnection meant that I was abstracting the Database connection. However, the idea that you should use PDO if you want abstraction may also exist...
I don't know why there is a Thank you. I learned a lot and understand.
It's true that storedProcedure is not an ORACLE-specific feature. From the above, I feel that it would be better to implement it in 2.
I'm sorry. |
|
…/OCI8/Connection.php
I would like to release Oracle driver with functionality that can upgrade CI 3.1 code to 4.x as soon as possible. |
Thanks for feedback!
No. I can't offer much value in being able to run storedProcedure in the query method. https://www.php.net/manual/en/function.oci-bind-by-name.php#example-1789
It might be a good idea to try to release it at this point and make it possible to do it in query, and then gently remove unnecessary methods in the 4.3 release. |
@ytetsuro I don't fully understand your 2. plan, but it seems a good way to go. But this PR is too long living and I really want to finish it. Can you fix the coding style error? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you very much for supporting this PR for a very long time.
I understood. Thank you very much!! |
The one of the oldest, and most commented PR has been merged! |
Description
I wanted to use CodeIgniter4 in an Oracle environment.
Also, it was determined that support would be provided because ORACLE was described in the document.
Checklist:
The design of the program to get the insertId of this
PR
is not so good.Please good solution.