Re: [Django Code] #6161: Oracle support for queryset-refactor.

0 views
Skip to first unread message

Django Code

unread,
Mar 16, 2008, 6:35:08 PM3/16/08
to djang...@holovaty.com, ja...@jacobian.org, django-...@googlegroups.com
#6161: Oracle support for queryset-refactor.
----------------------------+-----------------------------------------------
Reporter: jbronn | Owner: mtredinnick
Status: new | Component: Database wrapper
Version: other branch | Resolution:
Keywords: qs-rf oracle | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 0
----------------------------+-----------------------------------------------
Changes (by ikelly):

* cc: ikelly (added)

--
Ticket URL: <http://code.djangoproject.com/ticket/6161#comment:2>
Django Code <http://code.djangoproject.com/>
The web framework for perfectionists with deadlines

Django Code

unread,
Mar 17, 2008, 5:06:48 PM3/17/08
to djang...@holovaty.com, ja...@jacobian.org, django-...@googlegroups.com
#6161: Oracle support for queryset-refactor.
----------------------------+-----------------------------------------------
Reporter: jbronn | Owner: mtredinnick
Status: new | Component: Database wrapper
Version: other branch | Resolution:
Keywords: qs-rf oracle | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 0
----------------------------+-----------------------------------------------
Comment (by ikelly):

[6905] fixed an NCLOB bug by adding calls to setinputsizes. qs-rf already
appears to have fixed this in a better way, so I've taken that back out in
the patch. I'm having problems testing this, though; I'm running
runtests.py basic, and it's just been sitting and spinning for 15 minutes
of CPU time.

--
Ticket URL: <http://code.djangoproject.com/ticket/6161#comment:3>

Django Code

unread,
Mar 18, 2008, 12:52:12 AM3/18/08
to djang...@holovaty.com, ja...@jacobian.org, django-...@googlegroups.com
#6161: Oracle support for queryset-refactor.
----------------------------+-----------------------------------------------
Reporter: jbronn | Owner: mtredinnick
Status: new | Component: Database wrapper
Version: other branch | Resolution:
Keywords: qs-rf oracle | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 0
----------------------------+-----------------------------------------------
Comment (by mtredinnick):

Thanks for look at this, Ian.

"Sitting and spinning" sadly isn't something I can debug, however. I'm
kind of awake during your mornings at the moment (and on IRC and IM), so
grab me if you get a chance and we can bounce some ideas around. I don't
have a functional Oracle install at the moment (vmware is disagreeing with
my kernel again), so if you do want to pick this up and see what happens,
I'm here to help.

One thing I just thought of: the save() path has changed to do less direct
SQL and instead go through the insert() method on QuerySet. That's a
little slower than the direct approach, but there's still optimisation
possibilities there. It's only a few percent slower, though, not 15
minutes slower. However, although it shouldn't be changing the
functionality, it's possible I'm doing something silly that doesn't port
well to Oracle. So might want to print out all the SQL that is generated
by, say, QuerySet.exeute_sql() to see if we're really sending queries to
the database -- that's the last point of call before we talk to the db ,so
it's a good chokepoint.

--
Ticket URL: <http://code.djangoproject.com/ticket/6161#comment:4>

Django Code

unread,
Mar 18, 2008, 2:17:33 AM3/18/08
to djang...@holovaty.com, ja...@jacobian.org, django-...@googlegroups.com
#6161: Oracle support for queryset-refactor.
----------------------------+-----------------------------------------------
Reporter: jbronn | Owner: mtredinnick
Status: new | Component: Database wrapper
Version: other branch | Resolution:
Keywords: qs-rf oracle | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 0
----------------------------+-----------------------------------------------
Comment (by mtredinnick):

Based on a chat with jbronn on IRC, it sounds like the endless spinning is
the same problem as #6807 (for MySQL). Serves me right for only testing on
SQLite and PostgreSQL. :-(

[7283] adds a `empty_fetchmany_value` to the `BaseDatabaseFeatures` class.
Overriding that to be `()` might solve the infinite loop problem.

--
Ticket URL: <http://code.djangoproject.com/ticket/6161#comment:5>

Django Code

unread,
Mar 19, 2008, 1:09:14 AM3/19/08
to djang...@holovaty.com, ja...@jacobian.org, django-...@googlegroups.com
#6161: Oracle support for queryset-refactor.
----------------------------+-----------------------------------------------
Reporter: jbronn | Owner: mtredinnick
Status: new | Component: Database wrapper
Version: other branch | Resolution:
Keywords: qs-rf oracle | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 0
----------------------------+-----------------------------------------------
Comment (by jbronn):

Setting the `empty_fetchmany_value` fixed it for me, and GIS tests pass.

--
Ticket URL: <http://code.djangoproject.com/ticket/6161#comment:6>
Reply all
Reply to author
Forward
0 new messages