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
Create an Oracle dialect #2891
Create an Oracle dialect #2891
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2891 +/- ##
==========================================
+ Coverage 79.01% 79.50% +0.49%
==========================================
Files 24 25 +1
Lines 3540 3737 +197
==========================================
+ Hits 2797 2971 +174
- Misses 642 659 +17
- Partials 101 107 +6
Continue to review full report at Codecov.
|
…qlint and it will cause false postitive build errors
Getting close on the wercker builds. I had to run the code coverage test twice and merge it with github.com/wadey/gocovmerge since the default just runs the sqlite tests and reports 0% coverage on my new common ora dialect. At the moment, the mariadb container is failing to start, which isn't something I changed... hum. Re-running local tests, after deleting all my local docker containers/vols to see if I can reproduce the issue. BTW, running oracle in a container is a dumpster fire no doubt. I used the official docker repo for building it: https://github.com/oracle/docker-images. Wow, it's a big container and takes forever to start up. |
Panic will rollback case should use "transaction-3".
Fix TestTransactionWithBlock panic case
Hi @jimlambrt, this looks great! Is there any news on when this will be merged to master? |
@nlamot At this point, I think we're waiting for v2 before anything gets merged... and I'm not sure what that means for this new dialect. |
Well, looks like the latest mysql image (3 days ago) broke the automated wercker tests for mysql |
@@ -792,7 +792,12 @@ func TestRelated(t *testing.T) { | |||
|
|||
var creditcard CreditCard | |||
var user3 User | |||
DB.First(&creditcard, "number = ?", "1234567890") | |||
numberIs := "number = ?" | |||
if isOra(DB) { |
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.
I think that it is better to remove specific database judging. It should be implemented separately (I know oracle is very different).
The PR is closed due to it is developed based on V1, I’d really appreciate it if someone would like to develop it based on V2. |
@jimlambrt let me know if you would like to create a repo on https://github.com/go-gorm, thank you. |
Make sure these boxes checked before submitting your pull request.
For significant changes like big bug fixes, new features, please open an issue to make an agreement on an implementation design/plan first before starting it.
What did this pull request do?
Implement support for oracle and an oracle dialect: oci8.
Why add an oracle dialect directly to gorm, instead of just writing one in a separate repo?
There are several parts of scope.go that include incompatible SQL, and gorm currently doesn't support overriding those behaviors, so a few judicious changes were needed, which were all prefaced with a call to scope.IsOra() to isolate them from the rest of the implementation
This PR includes:
Thank you for you careful consideration of this PR. -Jim