How can I fix that? I tried using session.connect(request, response,
db) instead of session.connect(request, response, db=db,
tablename='session_record'), but I still get the same thing...no
session info. I did a clean of my cookies, .table files, and restarted
the server. It did create a new table, web2y_session_office, but still
is not returning the session flashes.

On Nov 22, 1:56 am, mdipierro <[EMAIL PROTECTED]> wrote:
> Yes!
>
> That is the problem. Your session_data is 'text' while it should be
> 'bytea'. web2py is attempting a migration losing data and postgres
> does not allow copy text into a bytea.
>
> Massimo
>
> On Nov 22, 12:26 am, morningovermidnight <[EMAIL PROTECTED]>
> wrote:
>
> > Ok, with version 1.51 running I added the line to gluon/globals.py.
> > Here's the message returned:
>
> > Traceback (most recent call last):
> >   File "/home/basic/workbench/sites/newsite/gluon/restricted.py", line
> > 62, in restricted
> >     exec ccode in environment
> >   File "/home/basic/workbench/sites/newsite/applications/office/models/
> > db.py", line 7, in <module>
> >     session.connect(request, response, db=db,
> > tablename='session_record')
> >   File "/home/basic/workbench/sites/newsite/gluon/globals.py", line
> > 160, in connect
> >     db.Field('session_data','blob'),migrate=table_migrate)
> >   File "/home/basic/workbench/sites/newsite/gluon/sql.py", line 567,
> > in define_table
> >     raise e
> > ProgrammingError: column "session_data__tmp" is of type bytea but
> > expression is of type text
> > LINE 2: UPDATE session_record_office SET
> > session_data__tmp=session_d...
> >                                          ^
> > HINT:  You will need to rewrite or cast the expression.
>
> > Is this because I defined my own table name for sessions? Should I
> > just let web2py handle that?
>
> > On Nov 21, 8:46 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > I did a diff of 1.51 vs 1.47. As I remembered the only think that
> > > changed in session management is storing the pickle from 'text' to
> > > 'blob'. This actually fixed a problem with sessions in mysql, as
> > > pointed out by CJ.
>
> > > Please do a test for me. In gluon/globals.py
>
> > > replace these lines with:
>
> > >              except Exception, e:
> > >                  record_id,unique_key,session_data=None,str(uuid.uuid4
> > > ()),{}
>
> > > with
>
> > >              except Exception, e:
> > >                  print 'error:',e
> > >                  record_id,unique_key,session_data=None,str(uuid.uuid4
> > > ()),{}
>
> > > and tell me what it prints, if anything.
>
> > > Massimo
>
> > > On Nov 21, 4:25 pm, morningovermidnight <[EMAIL PROTECTED]>
> > > wrote:
>
> > > > Ok, I tried it out...removed the .table files, dropped the session
> > > > table, removed cookies, still same problem...nothing being returned
> > > > from sessions. Specifically, I have a login form. When the wrong
> > > > username is entered, there is a session flash that says "invalid
> > > > username". This doesn't show with web2py version 1.51. After doing
> > > > what you mentioned above and it still not working, I dropped the 1.47
> > > > source into my application folder to downgrade back to version 1.47,
> > > > started the server, and now my session flash works flawlessly.
>
> > > > On Nov 21, 4:57 pm, morningovermidnight <[EMAIL PROTECTED]>
> > > > wrote:
>
> > > > > I am using PostgreSQL, but I will try what you recommend and let you
> > > > > know how it works out.
>
> > > > > On Nov 21, 3:57 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > > > > Are you using mysql? The problem may be a bug in web2py 1.47 that 
> > > > > > has
> > > > > > been fixed in an non-backward incompatible way. In 1.47 a session 
> > > > > > was
> > > > > > picked in a text field. In mysql text fields cannot be longer than
> > > > > > 2**16 bytes. So since 1.48 they are pickled in a blob.
>
> > > > > > Try 1.51 again but please drop the web2py_session table and remove 
> > > > > > the
> > > > > > corresponding .table file from the databases folder. The clear
> > > > > > cookies. Let me know if this fixes the problem.
>
> > > > > > Massimo
>
> > > > > > On Nov 21, 2:48 pm, morningovermidnight <[EMAIL PROTECTED]>
> > > > > > wrote:
>
> > > > > > > Thanks for the reply. I tried deleting all sessions from the 
> > > > > > > database,
> > > > > > > still did not solve the problem for me. In doing some 
> > > > > > > investigation to
> > > > > > > solve the problem, I changed my web2py version from 1.51 to 
> > > > > > > version
> > > > > > > 1.47 (replaced files with the 1.47 source). Now, everything works
> > > > > > > perfectly. Not sure if some of my code is incompatible with 
> > > > > > > version
> > > > > > > 1.51 or not, but I'll be sticking with 1.47 for now at least...
>
> > > > > > > Thanks
>
> > > > > > > On Nov 21, 3:31 pm, kev <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > Try deleting all the session from the database.
>
> > > > > > > > On Nov 21, 2:51 pm, morningovermidnight <[EMAIL PROTECTED]>
> > > > > > > > wrote:
>
> > > > > > > > > I'm not sure what's happening. It was all working before. I 
> > > > > > > > > was
> > > > > > > > > storing sessions in the database and working with them 
> > > > > > > > > throughout my
> > > > > > > > > application with no problem. Now, it seems suddenly, sessions 
> > > > > > > > > have
> > > > > > > > > stopped working. I don't get a session.flash or any other 
> > > > > > > > > session
> > > > > > > > > objects returned. When I comment out the 
> > > > > > > > > session.connect(request,
> > > > > > > > > response, db=db, tablename='session_record') to store 
> > > > > > > > > sessions on the
> > > > > > > > > filesystem, everything then works perfectly. Once I uncomment 
> > > > > > > > > that
> > > > > > > > > line to store in the database again, I can no longer access my
> > > > > > > > > session. I checked the database...there are session records 
> > > > > > > > > being
> > > > > > > > > recorded in the database, but for whatever reason they are 
> > > > > > > > > not being
> > > > > > > > > returned to the application? Any thoughts?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to