﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
13082	Oracle-specific test_long_string backends regression test has a bug	stvsmth	nobody	"In the process of tracking down an Oracle CLOB encoding issue (to be created in another ticket once I get my head around it), I think I've found a bug in the test_long_string regression test. Since this is an Oracle-specific test I am guessing it doesn't get exercised that often.

The test writes a long string to the database then reads it to ensure there are no round-trip encoding issues. The test appears to drop the table before the read happens. You can see this bug by changing the xrange(4000) portion of the test to xrange(40).
{{{
======================================================================
ERROR: test_long_string (regressiontests.backends.tests.LongString)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ""/Users/stvsmth/code/workspaces/django-trunk/tests/regressiontests/backends/tests.py"", line 38, in test_long_string
    self.assertEquals(long_str, row[0].read())
DatabaseError: ORA-00942: table or view does not exist
}}}
It looks like the read is lazy, so the drop table command needs to happen after the read:
{{{
36             row = c.fetchone()
37             c.execute('DROP TABLE ltext')
38             self.assertEquals(long_str, row[0].read())
}}}

The attached patch makes this simple change.
{{{
----------------------------------------------------------------------
Ran 6 tests in 0.245s
}}}"		closed	Database layer (models, ORM)	1.1		fixed	regression backends oracle clob nclob		Accepted	1	0	0	0	0	0
