Hello,

Thanks for your input. I consulted PySqlite's docs :

They have something like Connection.text_factory, which is by default set to
Unicode. If it is set to str, that is.,

connection.text_factory = str, then it wont convert strings to Unicode.

I glanced thru SQLA code, but I couldn't find a place where I can pass this
option to SQLA so that it can in turn use the above option while obtaining
the connection from PySqlite.

Please let me know if there is a way of achieving this. Thank!

Regards,
Harish


On Tue, Nov 18, 2008 at 9:47 PM, Michael Bayer <[EMAIL PROTECTED]>wrote:

>
> pysqlite always returns Python unicode objects and this is outside of the
> realm of SQLAlchemy.   I'm not familiar with a pysqlite option to change
> this but you should consult their site for any options related to it.
>
> Harish Vishwanath wrote:
> > Hello All,
> >
> > I am using Elixir 0.6.1 over SQLA 0.5rc2. Consider the below :
> >
> >>>> from elixir import *
> >>>> class A(Entity):
> > *...     name = Field(String(40))*
> > ...
> >>>> class B(A):
> > *...     address = Field(String(40))*
> > ...
> >>>> engine = "sqlite:///c:\\temp\\2.sqlite"
> >>>> metadata.bind = engine
> >>>> setup_all(True)
> >>>> a = A(name="A")
> >>>> type(a.name)
> > <type 'str'>
> >>>> b = B(name="B",address="B'sAddress")
> >>>> type(b.name)
> > <type 'str'>
> >>>> type(b.address)
> > <type 'str'>
> >>>> type(a.row_type)
> > <type 'NoneType'>
> >>>> session.flush()
> >>>> session.commit()
> > *>>> d = session.query(A)[0]
> >>>> d.name
> > u'A'
> >>>> type(d.name)
> > <type 'unicode'>
> >>>> d.row_type
> > u'a'
> > *>>> from elixir import options
> > *>>> options.DEFAULT_POLYMORPHIC_COL_NAME
> > 'row_type'
> >>>> options.POLYMORPHIC_COL_TYPE
> > String(length=40, convert_unicode=False, assert_unicode=None)
> >>>> options.POLYMORPHIC_COL_SIZE
> > 40*
> >
> > Though I declare fields of Class A and B as strings, when I retrieve the
> > objects back from database, the are automatically getting converted to
> > Unicode. Also, the default polymorphic column type is String, but
> row_type
> > after retrieval is coming back as unicode. When I query SQLite, I see
> > normal
> > strings :
> >
> > sqlite> select * from __main___a;
> > 1|A|a|
> > 2|B|b|B'sAddress
> >
> > I donot want my strings to get converted to Unicode, since I am having
> > issues with marshalling and transmitting unicode objects over the
> network.
> > Is there any option I am missing? Kindly let me know.
> >
> >
> > --
> > Regards,
> > Harish
> >
> > >
> >
>
>
> >
>


-- 
Regards,
Harish

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
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