Skip to content

DBD::Oracle implicit changes

jurgenei edited this page Aug 27, 2018 · 2 revisions

To implement driver changes some chanegs have to be made on source driver code:

  • dbdimp.h
    • imp_dbh_st
      • add implicit_prefetch
    • imp_sth_st
      • add implicit_stmhp
      • add implicit_result_count
  • ocitrace.h
    • add OCIStmtGetNextResult_log_stat
  • dbdimp.c
    • implement dbd_st_get_next_result
    • change dbd_st_execute
      • set imp_sth->implicit_result_count
      • call dbd_st_get_next_result if imp_dbh->implicit_prefetch is set
    • dbd_db_STORE_attrib
      • add set imp_dbh->implicit_prefetch
    • dbd_db_FETCH_attrib
      • add readimp_dbh->implicit_prefetch
    • dbd_st_FETCH_attrib
      • call dbd_st_get_next_result if attrib eq syb_more_results
  • oci8.c
    • dbd_st_fetch
      • add logic to switch between imp_sth->stmhp and imp_sth->implicit_stmhp
  • Oracle.h
    • add dbd_st_get_next_result
  • Oracle.xs
    • add method ora_next_result calling dbd_st_get_next_result
  • lib/DBD/Oracle.pm
    • DBD::Oracle::st->install_method new method ora_next_result
    • update POD documentation
  • t/90implict_result.t
    • add implicit result unit tests

Clone this wiki locally