Hello!  I was wondering if it would be possible to pass a reference to
an array or hashes to execute_for_fetch() in DBD::Oracle.  Right now,
a ref to array of arrays is passed.  My thought is to enable named
placeholders.  Right now, numeric/sequential placeholders are used.
With an array of hashes, you could pass in the placeholder names and
gain huge flexibility.  Named placeholders let me perform much more
complicated or less-redundant INSERTs and SELECTs.

In dbdimp.c, line 1954

            for(i = 0; i < param_count; i++) {
                if(!phs[i]) {
                    SV **phs_svp;

                    sprintf(namebuf, ":p%d", i+1);
                    ....
                    init_bind_for_array_exec(phs[i]);


Couldn't this be switched to key/value binding, for AoH, and the
current behavior be the default for AoA?  Obviously, the code would
need to be changed to also handle hashes, and extra checks thrown in
ora_st_execute_array() and ora_execute_array(), and
execute_for_fetch().  Those should be the only three routines that
would need to be modified.

Questions? Comments?  Good idea? Bad?  Am I missing something?  Thank
you for your time.

-- 
-Sir Woody Hackswell

Reply via email to