July 2014 Archives

XS, Advanced XS Callback Patch For OCI, Part IX A little review

Well just another quick installment for my new chapter in XS Fun This time I am just going to review what we have gone over so far before we dive into the real fun stuff.

Now we are more than half way there at least in code changes and we have covered allot of varies subjects from general 'c' programming the very specific OCI programming and a little XS sprinkled about.

So I have shown you how to get your callback into and out of DBD::Oracle with the dbd_db_STORE_attrib and…

XS, Advanced XS Callback Patch For OCI, Part VIII Just a little 'c'

Just a quick one tonight's installment for my new chapter in XS Fun just looking at the next function from my patch.


Now just to continue on to the next logical step we will need a disable function as well so my patch is

 

++static void disable_ha( imp_dbh_t *imp_dbh) {

++ sword status;
++ ha_callback_t haevents;
++ haevents.function = NULL;
++ haevents.dbh_ref = NULL;
++ OCIAttrSet_log_stat(im…

XS, Advanced XS Callback Patch For OCI, Part VII Back into 'C' and a little XS

Tonight's installment for my new chapter in XS Fun I am heading back to the 'c' land again looking at the function that actuality sets up the callback.

So now that we have a place to store of callback we can have another quick look at the 'dbd_db_STORE_attrib' function and this little addtion

 
    if (SvTRUE(valuesv)) {
        enable_ha(dbh, imp_dbh);
    } 
   else {
       disable_ha(imp_dbh);
   }

Now these are simple functio…

XS, Advanced XS Callback Patch For OCI, Part VI Well Not Really Even 'C' but we will see if there is some XS or perl

Another in my seemingly endless posts for a new chapter in XS Fun. Today I am am going to look at just what and where my the functions from my last two posts store their data.

Now to do a little backtracking I hinted earlier on about a mythical 'c' struct called 'imp_dbh_t' and I had mentioned this is where we where storing the values that we where passing into the 'Store' function and getting from the 'Fetch' function.

No not to go all to 'c' on you what you really need to…

XS, Advanced XS Callback Patch For OCI, Part V Much More 'C' and just a little XS

Adding some more for the new chapter in XS Fun. Today I am just going to go carry on with the next part of the patch which is very similar overview of the next function that is going to be patched.

="window.open('https://blogs.perl.org/users/byterock/assets_c/2014/07/Thinking-Cap-no-wait-Hat-1994.html','popup','width=511,height=766,scrollbars=no,resizable=no,toolbar=no,directorie…

XS, Advanced XS Callback Patch For OCI, Part IV Finally Some Code but no Perl and just a little XS

Adding some more for the new chapter in XS Fun. Today I am just going to go carry on with the first part of the patch but like the title says I don't think there well be any Perl or XS today


So now that we have defined what our patch will fit into the DBI API lets look into how we get our values into our 'c' code.

Well DBD::Oracle, and most DBD for that matter, there is set pattern to get an value from the Perl attribute Hash-Ref and load it into our 'c' code. This is…

About byterock

user-pic Long time Perl guy, a few CPAN mods allot of work on DBD::Oracle and a few YAPC presentations