#11487: Oracle encoding bug when saving more than 4000 characters
-------------------------------------+-------------------------------------
     Reporter:  mdpetry              |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  master
  (models, ORM)                      |               Resolution:
     Severity:  Normal               |             Triage Stage:  Accepted
     Keywords:  oracle database      |      Needs documentation:  0
  nclob clob                         |  Patch needs improvement:  0
    Has patch:  1                    |                    UI/UX:  0
  Needs tests:  0                    |
Easy pickings:  0                    |
-------------------------------------+-------------------------------------

Comment (by graham.boyle@…):

 We're seeing this when putting more than 4 message.success(..) on a page.
 It seems the success messages go onto the session, and the session_data
 gets too big.

 The len() of the string going into the SESSION_DATA field is 2120, but
 that's a unicode string, so I _strongly suspect_ the byte length of the
 data going into the django_session.session_data column is twice that.
 Looking at the HEX values of django_session.session_data already in the
 database, we're seeing 0x6C00 for "1", for example.
 We are using TextFields in our models with no problem, even with large
 chunks of text, and even when creating a new row. We see the sql being run
 to save the session is
 u'INSERT INTO "DJANGO_SESSION" ("SESSION_KEY", "SESSION_DATA",
 "EXPIRE_DATE") SELECT %s, %s, %s FROM DUAL'
 from a call to cursor.execute(sql, params)
 at line 937 of django\db\models\sql\compiler.py in execute_sql()

 We note that there's a bulk_insert_sql() in
 django.db.backends.oracle.base.py (line 411) that's doing inserts from
 selects off dual.

 We're using Oracle 11g, Django 1.5, Python 2.7.3, the python running under
 Windows 7 Professional (64 bit), Service Pack 1.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/11487#comment:33>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.dd2b2895c82fce22150dda703c8a7765%40djangoproject.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to