1
0
mirror of https://github.com/django/django.git synced 2025-07-05 10:19:20 +00:00

[gsoc2009-testing] Merging from upstream

git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/test-improvements@11295 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Kevin Kubasik 2009-07-22 13:17:41 +00:00
commit bf5d010ba1
3 changed files with 32 additions and 7 deletions

View File

@ -345,7 +345,7 @@ class OracleParam(object):
""" """
Wrapper object for formatting parameters for Oracle. If the string Wrapper object for formatting parameters for Oracle. If the string
representation of the value is large enough (greater than 4000 characters) representation of the value is large enough (greater than 4000 characters)
the input size needs to be set as NCLOB. Alternatively, if the parameter the input size needs to be set as CLOB. Alternatively, if the parameter
has an `input_size` attribute, then the value of the `input_size` attribute has an `input_size` attribute, then the value of the `input_size` attribute
will be used instead. Otherwise, no input size will be set for the will be used instead. Otherwise, no input size will be set for the
parameter when executing the query. parameter when executing the query.
@ -360,8 +360,8 @@ class OracleParam(object):
# If parameter has `input_size` attribute, use that. # If parameter has `input_size` attribute, use that.
self.input_size = param.input_size self.input_size = param.input_size
elif isinstance(param, basestring) and len(param) > 4000: elif isinstance(param, basestring) and len(param) > 4000:
# Mark any string param greater than 4000 characters as an NCLOB. # Mark any string param greater than 4000 characters as a CLOB.
self.input_size = Database.NCLOB self.input_size = Database.CLOB
else: else:
self.input_size = None self.input_size = None

View File

@ -149,10 +149,20 @@ Joseph Kocherhans
.. _brian rosner: http://oebfare.com/ .. _brian rosner: http://oebfare.com/
.. _this week in django: http://thisweekindjango.com/ .. _this week in django: http://thisweekindjango.com/
Gary Wilson `Gary Wilson`_
In early 2007, Gary started contributing a lot of cleanup fixes and fixing Gary starting contributing patches to Django in 2006 while developing Web
broken windows. He's continued to do that necessary tidying up work applications for `The University of Texas`_ (UT). Since, he has made
throughout the code base since then. contributions to the e-mail and forms systems, as well as many other
improvements and code cleanups throughout the code base.
Gary is currently a developer and software engineering graduate student at
UT, where his dedication to spreading the ways of Python and Django never
ceases.
Gary lives in Austin, Texas, USA.
.. _Gary Wilson: http://gdub.wordpress.com/
.. _The University of Texas: http://www.utexas.edu/
Justin Bronn Justin Bronn
Justin Bronn is a computer scientist and attorney specializing Justin Bronn is a computer scientist and attorney specializing

View File

@ -17,6 +17,21 @@ class Callproc(unittest.TestCase):
return True return True
else: else:
return True return True
class LongString(unittest.TestCase):
def test_long_string(self):
# If the backend is Oracle, test that we can save a text longer
# than 4000 chars and read it properly
if settings.DATABASE_ENGINE == 'oracle':
c = connection.cursor()
c.execute('CREATE TABLE ltext ("TEXT" NCLOB)')
long_str = ''.join([unicode(x) for x in xrange(4000)])
c.execute('INSERT INTO ltext VALUES (%s)',[long_str])
c.execute('SELECT text FROM ltext')
row = c.fetchone()
c.execute('DROP TABLE ltext')
self.assertEquals(long_str, row[0].read())
def connection_created_test(sender, **kwargs): def connection_created_test(sender, **kwargs):
print 'connection_created signal' print 'connection_created signal'