Wow, thanks! But that looks pretty complex. I believe a more valid way of fixing the issue is a patch for pymssql itself - since it's relatively simple and already available: https://bitbucket.org/PuPSSMaN/pymssql/changeset/ed48708effdb481a9695e58876e223eb I'll try to contact pymssql mantainer to get that merged to the trunk.
Thanks a lot =) 2012/11/24 Michael Bayer <mike...@zzzcomputing.com> > > ideally pymssql would know how (and are you saying that pyodbc does > already?), but sure, SQLA does all kinds of coercion. For now, your > options are to use the TypeDecorator recipe mentioned earlier around this > UNIQUEIDENTIFIER type, or send me a pull request with a pymssql-specific > type (assuming pyodbc does not need this coercion). An example of a > DBAPI-specific type would be such as this one: > https://bitbucket.org/sqlalchemy/sqlalchemy/src/0c8e0b613da3/lib/sqlalchemy/dialects/mssql/pyodbc.py?at=default#cl-120. > > > > > > On Nov 23, 2012, at 5:45 PM, Ivan Kalinin wrote: > > Wait. I mean that SA _already_ has implemented UNIQUEIDENTIFIER over here: > https://bitbucket.org/sqlalchemy/sqlalchemy/src/0c8e0b613da3b2bf6e965e1e5c15b6b3e540368a/lib/sqlalchemy/dialects/mssql/base.py?at=default#cl-478 > I believe that thing should be responsible for valid > marshalling/unmarshalling of the stuff. Please correct me if I'm wrong. > > On the other hand, could you please elaborate a bit concerning your > problems with UNIQUEID's? From my point of view, they appear to work pretty > much out of the box on pydobc+freetds, but have mentioned issue on pymssql. > > > 2012/11/24 Michael Bayer <mike...@zzzcomputing.com> > >> In my own MSSQL work, we use character fields for UUIDs as the DBAs were >> not in favor of trying to get UNIQUEIDENTIFIER to work. However, feel free >> to use UserDefinedType to implement UNIQUEIDENTIFIER including whatever >> coercion pymssql requires ( >> http://docs.sqlalchemy.org/en/rel_0_8/core/types.html#sqlalchemy.types.UserDefinedType). >> SQLAlchemy's type system is fully extensible here. >> >> >> On Nov 23, 2012, at 2:41 PM, Ivan Kalinin wrote: >> >> Thanks for the reply! >> >> However, I see that MSSQL dialect contains a UNIQUEIDENTIFIER type that >> is to represent similarly named column type. Looks like it should handle >> issues of marshalling the values, not some custom type. >> >> On Friday, November 23, 2012 7:39:50 PM UTC+4, Michael Bayer wrote: >>> >>> >>> >>> On Nov 21, 2012, at 4:42 PM, Ivan Kalinin wrote: >>> >>> Hellow, fellow developers! >>> >>> I have run into and issue trying to use SQLAlchemy (0.7.4) and recent >>> pymssql (2.0.0). >>> >>> Precisely, pymssql can not handle uuid.UUID objects as parameters (see >>> related post on their ML >>> here<https://groups.google.com/forum/?fromgroups=#!topic/pymssql/ah6f8cl2Va0>), >>> but SA uses them in generated queries for the object querying/deletion. >>> >>> Folks from the pymssql suggest that the convertion of uuid.UUID to the >>> string objects should be done in the corresponding SA dialect. >>> >>> If so, I would be glad to fix that with a patch if someone could give me >>> couple of pointers to writing these dialects. >>> >>> >>> >>> Take a look at the UUID recipe at http://docs.sqlalchemy.org/** >>> en/rel_0_8/core/types.html#**backend-agnostic-guid-type<http://docs.sqlalchemy.org/en/rel_0_8/core/types.html#backend-agnostic-guid-type>which >>> is provided for this purpose. >>> >>> >>> >>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/sqlalchemy/-/_76lRkLKwboJ. >> To post to this group, send email to sqlalchemy@googlegroups.com. >> To unsubscribe from this group, send email to >> sqlalchemy+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://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 sqlalchemy@googlegroups.com. >> To unsubscribe from this group, send email to >> sqlalchemy+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://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 sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://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 sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://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 sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.