You are right that db.table.insert(**args) the order of the args in the 
INSERT is not specified. This should not be a problem.

If you want to a field to map to NUMBER instead of INT, you can make your 
own adapter:

from gluon import *
from gluon.dal import ADAPTERS, OracleAdapter
class MyOracleAdapter(OracleAdapter): pass
MyOracleAdapter.types['integre'] = 'number'
ADAPTERS['oracle'] = MyOracleAdapter



On Sunday, 27 January 2013 21:22:38 UTC-6, Bill Thayer wrote:
>
> Hello,
>
> I am borrowing code from the CategoryPlugin 
> slice<http://www.web2pyslices.com/slice/show/1354/hierarchical-category-tree>and
>  ran into a unique Oracle error but I suspect that the insert command is 
> not inserting by named fields. From my stack trace the argument below shows 
> the columns in the cellview table in a different order than the fields 
> array.
>
> table->id,name,description,left,right
> fields->description,right,name,left
> Function argument list
>
> (self=<gluon.dal.OracleAdapter object>, table=<Table cellview 
> (id,name,description,left,right)>, fields=[(<gluon.dal.Field object>, 'Top 
> Level'), (<gluon.dal.Field object>, 2), (<gluon.dal.Field object>, 
> '3mi25gan-on-sic'), (<gluon.dal.Field object>, 1)])
>
>
> I've combed through the OracleAdapter in the dal, changed the 'integer' 
> mapping from 'INT' to 'NUMBER' because that's what my SQL developer keeps 
> changing it to. 
>
> Anyone have a workaround?
>

-- 



Reply via email to