>
> OK, is “cancellation_obj” a column object with CLOB as the datatype ? 
>

Yes, that's how it's defined in the database.

Because of dynamic nature of the code, I was using append_column without 
specifying column type. I made changes to define column in 
table.c.<column_name> format rather than just using Column('column name'). 
This way, I can make sure column data types are included with column 
definitions, without me having to specify the data type explicitly with 
each column.

It's interesting that I used that one way (out of three possible ways) that 
wasn't 'right', but it's all good now :)

Now onto changing from fetchmany() to fetchone() - since LOBs are pretty 
much forcing me to use fetchone().

Thank you for your help!
GP

On Monday, March 16, 2015 at 5:54:54 PM UTC-4, Michael Bayer wrote:
>
>
>
> GP <[email protected] <javascript:>> wrote: 
>
> > So that's what was happening: 
> > 
> > This select construct fails: 
> > select_query = select() 
> > select_query.append_column(contract_id) 
> > select_query.append_column(cancel_dt) 
> > select_query.append_column(cancellation_obj) 
> > select_query.append_from(source_table_name) 
> > 
> > 
> > But this select construct works: 
> > select_query = select([source_table.c.contract_id, 
> source_table.c.cancel_dt, source_table.c.cancellation_quote_obj]) 
> > 
> > So it's just matter of rewriting select query in the 'right' way. 
> > 
> > Thanks for pointing in the right direction! 
>
> OK, is “cancellation_obj” a column object with CLOB as the datatype ? 
>
> even if you just made it this: 
>
>     from sqlalchemy.sql import column 
>     append_column(column(‘cancellation_obj’, CLOB)) 
>
> that should work. 
>
>
> otherwise, what’s interesting here is to add a “column” without a datatype 
> both bypasses the usual Table metadata feature, but also, bypasses if it 
> was totally a plain text SQL string there’s logic in place to intercept the 
> CLOB in that case also.    the recipe above managed to avoid both. 
>
>
>
> > GP 
> > 
> > On Monday, March 16, 2015 at 4:57:28 PM UTC-4, GP wrote: 
> > I think now I (probably) know where this may be coming from. 
> > 
> > You asked 
> > > is the original query a plain string and not a Core SQL expression 
> > 
> > The way I am forming the query is by using select , append_column, 
> append_whereclause and finally append_from('my_table'). I think this pretty 
> much generates a plain string query and not the one that's tied to a 
> sqlalchemy table type object. And this may be why sqlalchemy is not 
> applying necessary conversion because it doesn't really know the data types 
> of the columns I am selecting? 
> > 
> > Apologies if I am simplifying this too much and/or talking nonsense. 
> > 
> > Thanks 
> > GP 
> > 
> > On Monday, March 16, 2015 at 3:49:32 PM UTC-4, GP wrote: 
> > Thank you Michael. 
> > 
> > auto_covert_lobs : I ran with all three possible values: True, False, 
> and without supplying it. The results are the same. 
> > 
> > The original query is a bit more complicated than the example I gave, 
> and is built dynamically. But I am using sqlalchemy select, and not a plain 
> string. Query is of object type "sqlalchemy.select.sql.selectable.Select" 
> (Or "sqlalchemy.sql.expression.Select"?), if it helps. 
> > 
> > Here is what the query object value looks like: 
> > SELECT CAST(contract_id AS FLOAT) AS contract_id, cancel_dt AS 
> cancel_dt, cancellation_obj AS cancellation_obj FROM contract_cancellation 
> WHERE updated_ts BETWEEN :updated_ts_1 AND :updated_ts_2 
> > 
> > Let me try calling value(). 
> > 
> > 
> > Thanks 
> > GP 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > Visit this group at http://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to