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? > --

