[FRPythoneers] Oracle: call for testing

Matt Boersma matt at sprout.org
Fri Nov 17 09:20:12 MST 2006


Here's the email I sent to the django-developers list last night.

---------- Forwarded message ----------
From: ogghead <ogghead at gmail.com>
Date: Nov 17, 2006 12:42 AM
Subject: Oracle: call for testing
To: Django developers <django-developers at googlegroups.com>


The django source code in the boulder-oracle-sprint branch has had the
trunk HEAD merged in, and now passes all but 4 of the 65 tests in the
suite against my 10g and 9i database instances.

If you do Oracle, or if you're an Open Sourcerer who's willing to pinch
his or her nose for a bit, we could really use your help to pass these
last few tests and to review the code.

You can check out Oracle support for Django here:
http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint/
If you do, please post your feedback here on the django-developers
mailing list, preferably in reply to this message.

You can download Oracle Express Edition 10g here:
http://www.oracle.com/technology/software/products/database/xe/index.html
Oracle XE 10g is a fairly painless install now for Windows and most
Linux distros.  It's free for development, limited to 4GB of storage,
and has a .deb installer that works on Ubuntu.

Many of the Oracle-specific areas of code were refactored to refer to
more general backend properties. There are still some "if
settings.DATABASE_ENGINE == 'oracle'" conditionals in
django/db/models/fields/__init__.py, but there are also mysql tests
there and elsewhere.

One hackish bit that needs scrutiny is this: cx_Oracle always returns a
datetime.datetime, even for a DATE column, but Django expects a
datetime.date in that case.  Currently, if all the time components of a
datetime are 0, we infer that it's really a date and return a
datetime.date.

Another issue is that a couple of the tests return Unicode data, but
the current cx_Oracle 4.2.1 driver does not seem to have a mapping for
that data type and throws an exception.

Thanks for any help you can lend to finishing this important Django
feature!



More information about the FRPythoneers mailing list