On Wed, Jun 11, 2003 at 08:18:36AM -0700, Dean Arnold wrote: > > > > Taking a step back for a moment... The switch from column-wise > > arrays in execute_array() to row-wise arrays in ora_execute_array() > > is interesting. > > > > Perhaps there's scope for the DBI to add a new execute_* method to > > do what ora_execute_array is doing here. Take a simple set of tuples > > (as array of tuple arrays) plus a status array. > > > > Then I could change the default execute_for_fetch method in the DBI > > to call that one. Driver authors would then have more options in > > what they override. > > > > Comments anyone? > > > > > I'd certainly prefer to see row-wise arrays; that fits Teradata's model better. > > But I thought OCI worked with column-wise arrays ?
OCI works every-which-way-wise - if you you can understand the manual :) I think callbacks are the easiest though. > Is the ora_* API doing a transform ? The ora_execute_array I proposed (which could be the model for a new DBI method) would simply use OCIBindDynamic to register callbacks and then call OCIStmtExecute passing the number of rows in @$tuple_data. The callback code would be told it's on row N column C and would just navigate to the corresponding SV in the array ($tuple_data->[N][C]). > Also, if memory serves, ODBC permits either, depending on a config variable. Okay, thanks. Tim.
