Thanks Anthony,   Wasn't aware of that one, and it looks quite useful.

On Monday, August 27, 2012 6:29:55 AM UTC+12, Anthony wrote:
>
> Often wondered about this too.  You would also have to call them with 
>> executesql.
>> So should the dal API support stored procedure , database macro 
>> definitions and execution? 
>>
>> Would require work in each database adapter, but could we come up with a 
>> single interface ?
>>
> Do you mean for creating stored procedures, or calling them? To call them, 
> you can use db.executesql(). If you want the returned data to be parsed 
> into a DAL Rows object like a regular select() would be, you can now 
> specify a "fields" argument to executesql(). Here's the docstring 
> explaining its usage:
>
> Added 2012-08-24 "fields" optional argument. If not None, the
> results cursor returned by the DB driver will be converted to a
> DAL Rows object using the db._adapter.parse() method. This requires
> specifying the "fields" argument as a list of DAL Field objects
> that match the fields returned from the DB. The Field objects should
> be part of one or more Table objects defined on the DAL object.
> The "fields" list can include one or more DAL Table objects in addition
> to or instead of including Field objects, or it can be just a single
> table (not in a list). In that case, the Field objects will be
> extracted from the table(s).
>
> The field names will be extracted from the Field objects, or optionally,
> a list of field names can be provided (in tablename.fieldname format)
> via the "colnames" argument. Note, the fields and colnames must be in
> the same order as the fields in the results cursor returned from the DB.
>  
> Anthony
>

-- 



Reply via email to