On Wed, 7 Apr 2010 10:15:14 -0400
"Michael Bayer" <mike...@zzzcomputing.com> wrote:

> Kyle Schaffrick wrote:
> > Greetings,
> >
> > I'm looking into using PostgreSQL's hstore type in a SQLAlchemy
> > project, and before I possibly reinvent the wheel I was wondering if
> > anyone has/knows of an implementation of an hstore custom type for
> > SQLA?
> >
> > I'm basically just interested in simply mapping a stand-alone
> > attribute containing a python dict onto an hstore column, I don't
> > require auto-magic storage of extra attributes directly added to
> > the object a la examples/vertical.
> >
> > Mainly I want the hstore segregated into it's own attribute because
> > I'd like to be able to expose expression language support for
> > hstore's operators (?, ->, ||, and so forth) to manipulate them
> > server-side.
> >
> > Any pointers?
> 
> start with 0.6, as we've expanded the capability for types to directly
> affect how various operators are rendered, as well as to drive the
> return type of expressions, which in turn allows that expression to
> have a say in its own usage in another expression, as well as affects
> result row behavior.
> 

I had planned on using 0.6 just to get the benefit of the new
dialect+dbapi system.

I did see the @compiles() idiom in some example code, is this what
you're referring to? It looks like a great new feature.

Have there been any thoughts on user-extensible reflection? Some way
to say "when you reflect a DB column of type foo, use this custom type
class"? If I got the right impression from skimming, dispatching
reflected types is essentially a big cascade of if-statements at the
moment. I don't really know how many DBMS's in SA's arsenal have
extensible type systems, so not sure if it's worth the trouble. I
assume you can just override column information piecemeal without
having to give up reflection of columns with vanilla types.

> if hstore represents a python value that is "mutable" (which a dict
> would be), mixing in MutableType will cause the ORM to maintain a
> copy of the original version of the attribute in order to check for
> changes.
> 

Good information, thanks. I can see why this would need to be handled
specially.

-Kyle

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

Reply via email to