#19198 closed Bug (fixed)
Oracle specific failures
Reported by: | Anssi Kääriäinen | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.5-alpha-1 |
Severity: | Normal | Keywords: | oracle |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Two Oracle specific failures have been introduced lately:
- Inability to deal with "%" in table or other identifier names (present in 1.5a1)
- Oracle not working correctly for select_related cases where the related model is null but contains character fields (master only)
The first of the failures happens because Oracle backend does querystr % args formatting and if a table name contains '%' then the formatting will fail.
The second one happens because we check for if all fetched columns are None then set related object to None in models/query.py when creating the related objects. Due to a recent change we correctly convert the row values in compiler.py for related select fields, too. This means that None values will be converted to "" and the check in models/query.py fails.
Draft patches available from: https://github.com/akaariai/django/compare/fix_oracle2
Change History (5)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
Aand... Actually marking as RFC.
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 by , 12 years ago
After little confusion I managed to backpatch the patches... I imagined I could cherry-pick the merge, but it seems that isn't possible... So, I cherry picked the individual commits instead.
Two more failures:
I have implemented as-simple-as-possible fixes for the above cases. The fixes are:
I am marking this as ready for commit. The patch-series is available from https://github.com/akaariai/django/compare/fix_oracle2
All patches need to be backported. The only severe issue is the select_related case, but this isn't present in 1.5a1.