I am not using Unicode type anywhere, all the columns the warnings
originate from are String.

Here is one example when the warnings occur. The table is 'downloads':

downloads_table = Table('downloads', metadata,
    Column('download_id',   Integer,    primary_key=True),
    Column('title',         String(128)),
    Column('filename',      String(128)),
    Column('mimetype',      String(64)),
    Column('timestamp',     DateTime),
    Column('downloads',     Integer),
    mysql_charset='utf8'
)

And it has the corresponding Download class mapped to it.

Here is a code fragment that produces the warnings:

>>> from xyzzy.models import Download, session
>>> d = Download('file title', 'file_title.txt', 'text/plain')
>>> session.add(d)
>>> session.commit()
/xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
sqlalchemy/engine/default.py:472: SAWarning: Unicode type received non-
unicode bind param value 'file title'
  param.append(processors[key](compiled_params[key]))
/xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
sqlalchemy/engine/default.py:472: SAWarning: Unicode type received non-
unicode bind param value 'file_title.txt'
  param.append(processors[key](compiled_params[key]))
/xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
sqlalchemy/engine/default.py:472: SAWarning: Unicode type received non-
unicode bind param value 'text/plain'
  param.append(processors[key](compiled_params[key]))


I looked into it a bit more and noticed that I have "convert_unicode"
parameter for create_engine() set.

engine = create_engine(
    config['database_uri'],
    convert_unicode=True,
    echo=config['database_echo'],
    pool_recycle=3600
)

I removed "convert_unicode=True" and I don't get any warnings anymore.


Any comments?


Sincerely,
P.Krumins




On Apr 1, 5:35 am, Michael Bayer <[email protected]> wrote:
> would have to see how you've set things up in order for that to occur.   If 
> you use the Unicode type with default settings, the behavior is the same on 
> 0.5 and 0.6 - Python unicodes are expected and a warning is emitted 
> otherwise.  With String,VARCHAR, CHAR, etc., this is not the case and plain 
> strings can be passed without warning.
>
> On Mar 31, 2010, at 5:59 PM, Peteris Krumins wrote:
>
> > Hi all,
>
> > I upgraded to SA 0.6beta3 and suddenly I am getting a lot of
> > "SAWarning: Unicode type received non-unicode bind param value"
> > warnings for the code that worked OK on 0.5.x. The warnings occur even
> > for values that are plain ascii (no code points above 127).
>
> > Does it mean I'll have to make sure my code uses Python unicode
> > strings everywhere, even if it they are ascii?
>
> > Here are some of the warnings:
>
> > /xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
> > sqlalchemy/dialects/mysql/base.py:960: SAWarning: Unicode type
> > received non-unicode bind param value '1'
>
> > /xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
> > sqlalchemy/engine/default.py:472: SAWarning: Unicode type received non-
> > unicode bind param value 'application/pdf'
>
> > /xyzzy/lib/python2.5/site-packages/SQLAlchemy-0.6beta3-py2.5.egg/
> > sqlalchemy/engine/default.py:472: SAWarning: Unicode type received non-
> > unicode bind param value '1fd67ac4162561def609a4862677cdbc'
>
> > Sincerely,
> > P.Krumins
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "sqlalchemy" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/sqlalchemy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to