Branch Coverage

DBI.xs
Criterion Covered Total %
branch 2484 4390 56.5


line true false branch
146 292 292 if strEQ(name,"DESTROY")
150 292 584 if strEQ(name,"FETCH")
154 292 2044 if strEQ(name,"can")
158 2044 925 if strnEQ(name,"fetch", 5) /* fetch* */
162 292 3749 if strEQ(name,"set_err")
363 18383 17847 if (first > second)
365 17791 56 if (first < second)
394 8 3309 if (!hv_len)
397 0 3309 Newz(0, keys, hv_len, char *);
398 0 3309 Newz(0, numbers, hv_len, str_uv_sort_pair_t);
400 30928 3309 while ((entry = hv_iternext(hash))) {
404 26512 4416 if (grok_number(*(keys+idx), key_len, &(numbers+idx)->numeric) != IS_NUMBER_IN_UV) {
413 3309 0 if (total_length)
416 42 3267 if (num_sort < 0)
417 16 26 num_sort = (has_non_numerics) ? 0 : 1;
419 3267 42 if (!num_sort) {
424 4388 42 for (idx = 0; idx < hv_len; ++idx)
444 8 3309 if (!keys)
447 0 3309 if (!kv_sep_len)
449 0 3309 if (!pair_sep_len)
458 30928 3309 for (i=0; i
464 0 30928 if (!hash_svp) { /* should never happen */
470 4412 26516 if (use_neat) {
474 6759 19757 if (SvOK(*hash_svp)) {
6759 0 if (SvOK(*hash_svp)) {
0 6759 if (SvOK(*hash_svp)) {
476 6609 13148 char *hv_val = SvPV(*hash_svp, hv_val_len);
484 27619 3309 if (i < hv_len-1)
512 0 0 if (dbis_cv != DBISTATE_VERSION || dbis_cs != sizeof(*DBIS))
0 0 if (dbis_cv != DBISTATE_VERSION || dbis_cs != sizeof(*DBIS))
517 0 0 if (drc_s != sizeof(dbih_drc_t) || dbc_s != sizeof(dbih_dbc_t) ||
0 0 if (drc_s != sizeof(dbih_drc_t) || dbc_s != sizeof(dbih_dbc_t) ||
0 0 if (drc_s != sizeof(dbih_drc_t) || dbc_s != sizeof(dbih_dbc_t) ||
518 0 0 stc_s != sizeof(dbih_stc_t) || fdc_s != sizeof(dbih_fdc_t) )
548 0 292 DBIS->debug = (parent_dbis) ? parent_dbis->debug
292 0 DBIS->debug = (parent_dbis) ? parent_dbis->debug
551 0 292 : get_sv("DBI::neat_maxlen", GV_ADDMULTI);
589 292 0 if (!parent_dbis && getenv("PERL_DBI_XSBYPASS"))
0 292 if (!parent_dbis && getenv("PERL_DBI_XSBYPASS"))
625 3 6002 if (!sv)
629 96 5906 if (SvMAGICAL(sv)) {
630 33 63 if (DBIS_TRACE_LEVEL >= 5) { /* add magic details to help debugging */
633 0 33 if (SvSMAGICAL(sv)) sv_catpvn(infosv,"s",1);
634 0 33 if (SvGMAGICAL(sv)) sv_catpvn(infosv,"g",1);
635 33 0 if (SvRMAGICAL(sv)) sv_catpvn(infosv,"r",1);
637 33 33 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic)
641 36 60 if (SvGMAGICAL(sv) && !PL_dirty)
36 0 if (SvGMAGICAL(sv) && !PL_dirty)
645 4463 1539 if (!SvOK(sv)) {
4463 0 if (!SvOK(sv)) {
4463 0 if (!SvOK(sv)) {
646 12 4451 if (SvTYPE(sv) >= SVt_PVAV)
648 4442 9 if (!infosv)
654 365 1174 if (SvNIOK(sv)) { /* is a numeric value - so no surrounding quotes */
655 150 215 if (SvPOK(sv)) { /* already has string version of the value, so use it */
656 150 0 v = SvPV(sv,len);
657 43 107 if (len == 0) { v="''"; len=2; } /* catch &sv_no style special case */
658 150 0 if (!infosv)
664 0 215 if (SvUOK(sv))
666 202 13 else if (SvIOK(sv))
669 6 209 if (infosv)
677 439 735 if (SvROK(sv)) {
678 439 0 if (!SvAMAGIC(sv)) /* (un-amagic'd) refs get no special treatment */
320 119 if (!SvAMAGIC(sv)) /* (un-amagic'd) refs get no special treatment */
319 1 if (!SvAMAGIC(sv)) /* (un-amagic'd) refs get no special treatment */
679 0 438 v = SvPV(sv,len);
683 0 1 v = SvPV(sv,len); /* XXX how does this relate to SvGMAGIC? */
687 3 436 if (infosv)
689 439 0 return SvPV(nsv, len);
692 735 0 if (SvPOK(sv)) /* usual simple string case */
693 735 0 v = SvPV(sv,len);
695 0 0 v = SvPV(sv,len); /* XXX how does this relate to SvGMAGIC? */
698 632 103 if (maxlen == 0)
699 632 0 maxlen = SvIV(DBIS->neatsvpvlen);
700 0 735 if (maxlen < 6) /* handle daft values */
704 0 735 quote = (SvUTF8(sv)) ? "\"" : "'";
705 6 729 if (len > maxlen) {
706 6 0 SvGROW(nsv, (1+maxlen+1+1));
6 0 SvGROW(nsv, (1+maxlen+1+1));
711 729 0 SvGROW(nsv, (1+len+1+1));
729 0 SvGROW(nsv, (1+len+1+1));
716 6 729 if (infosv)
718 735 0 v = SvPV(nsv, len);
719 735 0 if (!SvUTF8(sv)) {
720 8050 735 while(len-- > 0) { /* cleanup string (map control chars to ascii etc) */
722 9 8041 if (!isPRINT(c) && !isSPACE(c))
2 7 if (!isPRINT(c) && !isSPACE(c))
734 0 11319 if (PL_dirty)
737 11319 0 if (parent && SvROK(parent)) {
11285 34 if (parent && SvROK(parent)) {
739 1555 9730 if (SvOK(tmp_sv))
1555 0 if (SvOK(tmp_sv))
0 1555 if (SvOK(tmp_sv))
751 0 16 if (!err_c) {
755 0 16 err_sv = (strEQ(err_c,"1")) ? &PL_sv_yes : sv_2mortal(newSVpvn(err_c, strlen(err_c)));
757 0 16 state_sv = (state && *state) ? sv_2mortal(newSVpvn(state, strlen(state))) : &PL_sv_undef;
0 0 state_sv = (state && *state) ? sv_2mortal(newSVpvn(state, strlen(state))) : &PL_sv_undef;
758 12 4 method_sv = (method && *method) ? sv_2mortal(newSVpvn(method, strlen(method))) : &PL_sv_undef;
12 0 method_sv = (method && *method) ? sv_2mortal(newSVpvn(method, strlen(method))) : &PL_sv_undef;
773 38 9343 if ( DBIc_has(imp_xxh, DBIcf_HandleSetErr)
774 38 0 && (hook_svp = hv_fetch((HV*)SvRV(h),"HandleSetErr",12,0))
775 38 0 && hook_svp
776 0 38 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
0 0 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
0 38 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
0 0 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
0 0 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
38 0 && ((void)(SvGMAGICAL(*hook_svp) && mg_get(*hook_svp)), SvOK(*hook_svp))
781 36 2 if (SvREADONLY(err)) err = sv_mortalcopy(err);
782 36 2 if (SvREADONLY(errstr)) errstr = sv_mortalcopy(errstr);
783 38 0 if (SvREADONLY(state)) state = sv_mortalcopy(state);
784 0 38 if (SvREADONLY(method)) method = sv_mortalcopy(method);
785 0 38 if (DBIc_TRACE_LEVEL(imp_xxh) >= 2)
790 0 38 PUSHMARK(SP);
791 0 38 XPUSHs(sv_2mortal(newRV_inc((SV*)DBIc_MY_H(imp_xxh))));
792 0 38 XPUSHs(err);
793 0 38 XPUSHs(errstr);
794 0 38 XPUSHs(state);
795 0 38 XPUSHs(method);
799 38 0 response_sv = (items) ? POPs : &PL_sv_undef;
801 0 38 if (DBIc_TRACE_LEVEL(imp_xxh) >= 1)
806 38 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 38 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 38 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 38 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
38 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
38 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
36 2 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 36 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
0 0 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
2 36 if (SvTRUE(response_sv)) /* handler says it has handled it, so... */
810 4 9339 if (DBIc_TRACE_LEVEL(imp_xxh) >= 2)
816 6048 3331 if (!SvOK(err)) { /* clear err / errstr / state */
6048 0 if (!SvOK(err)) { /* clear err / errstr / state */
6048 0 if (!SvOK(err)) { /* clear err / errstr / state */
817 0 6048 DBIh_CLEAR_ERROR(imp_xxh);
0 6048 DBIh_CLEAR_ERROR(imp_xxh);
0 6048 DBIh_CLEAR_ERROR(imp_xxh);
826 3331 0 if (SvTRUE(h_errstr)) {
0 3331 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
3303 28 if (SvTRUE(h_errstr)) {
3303 0 if (SvTRUE(h_errstr)) {
0 3303 if (SvTRUE(h_errstr)) {
28 0 if (SvTRUE(h_errstr)) {
28 0 if (SvTRUE(h_errstr)) {
1 27 if (SvTRUE(h_errstr)) {
0 1 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
27 1 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
0 0 if (SvTRUE(h_errstr)) {
828 27 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 27 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 27 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
23 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
23 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
14 9 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
12 2 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
8 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
4 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
4 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
21 6 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
21 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 21 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 21 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
9 12 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
9 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
5 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
2 3 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 2 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
12 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
12 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
2 10 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 2 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
0 0 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
14 7 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
4 10 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
10 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
10 4 if (SvTRUE(h_err) && SvTRUE(err) && strNE(SvPV_nolen(h_err), SvPV_nolen(err)))
829 10 0 sv_catpvf(h_errstr, " [err was %s now %s]", SvPV_nolen(h_err), SvPV_nolen(err));
10 0 sv_catpvf(h_errstr, " [err was %s now %s]", SvPV_nolen(h_err), SvPV_nolen(err));
830 27 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 27 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
13 14 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
13 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 13 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
14 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
14 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 14 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
14 13 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
14 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 14 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
8 6 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
8 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 8 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
6 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
6 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 6 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
0 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
6 8 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
6 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
6 0 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
4 2 if (SvTRUE(h_state) && SvTRUE(state) && strNE(SvPV_nolen(h_state), SvPV_nolen(state)))
831 4 0 sv_catpvf(h_errstr, " [state was %s now %s]", SvPV_nolen(h_state), SvPV_nolen(state));
4 0 sv_catpvf(h_errstr, " [state was %s now %s]", SvPV_nolen(h_state), SvPV_nolen(state));
832 27 0 if (strNE(SvPV_nolen(h_errstr), SvPV_nolen(errstr))) {
27 0 if (strNE(SvPV_nolen(h_errstr), SvPV_nolen(errstr))) {
25 2 if (strNE(SvPV_nolen(h_errstr), SvPV_nolen(errstr))) {
841 3331 0 if (SvTRUE(err) /* new error: so assign */
0 3331 if (SvTRUE(err) /* new error: so assign */
0 0 if (SvTRUE(err) /* new error: so assign */
0 3331 if (SvTRUE(err) /* new error: so assign */
0 0 if (SvTRUE(err) /* new error: so assign */
0 0 if (SvTRUE(err) /* new error: so assign */
53 3278 if (SvTRUE(err) /* new error: so assign */
53 0 if (SvTRUE(err) /* new error: so assign */
43 10 if (SvTRUE(err) /* new error: so assign */
33 10 if (SvTRUE(err) /* new error: so assign */
26 7 if (SvTRUE(err) /* new error: so assign */
17 36 if (SvTRUE(err) /* new error: so assign */
3278 0 if (SvTRUE(err) /* new error: so assign */
3278 0 if (SvTRUE(err) /* new error: so assign */
4 3274 if (SvTRUE(err) /* new error: so assign */
0 4 if (SvTRUE(err) /* new error: so assign */
0 0 if (SvTRUE(err) /* new error: so assign */
4 3274 if (SvTRUE(err) /* new error: so assign */
0 0 if (SvTRUE(err) /* new error: so assign */
842 9 12 || !SvOK(h_err) /* no existing warn/info: so assign */
9 0 || !SvOK(h_err) /* no existing warn/info: so assign */
0 9 || !SvOK(h_err) /* no existing warn/info: so assign */
844 0 12 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
0 0 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
0 0 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
8 4 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
12 0 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
3 9 || (SvOK(err) && strlen(SvPV_nolen(err)) > strlen(SvPV_nolen(h_err)))
848 3322 0 if (SvTRUE(h_err)) /* new error */
0 3322 if (SvTRUE(h_err)) /* new error */
0 3322 if (SvTRUE(h_err)) /* new error */
0 0 if (SvTRUE(h_err)) /* new error */
0 0 if (SvTRUE(h_err)) /* new error */
48 3274 if (SvTRUE(h_err)) /* new error */
48 0 if (SvTRUE(h_err)) /* new error */
38 10 if (SvTRUE(h_err)) /* new error */
33 5 if (SvTRUE(h_err)) /* new error */
26 7 if (SvTRUE(h_err)) /* new error */
3274 0 if (SvTRUE(h_err)) /* new error */
3274 0 if (SvTRUE(h_err)) /* new error */
0 3274 if (SvTRUE(h_err)) /* new error */
0 0 if (SvTRUE(h_err)) /* new error */
0 0 if (SvTRUE(h_err)) /* new error */
3310 12 if (SvTRUE(h_err)) /* new error */
852 3322 9 if (err_changed) {
853 3322 0 if (SvTRUE(state)) {
0 3322 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
1823 1499 if (SvTRUE(state)) {
1823 0 if (SvTRUE(state)) {
0 1823 if (SvTRUE(state)) {
1499 0 if (SvTRUE(state)) {
1499 0 if (SvTRUE(state)) {
1 1498 if (SvTRUE(state)) {
0 1 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
1498 1 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
0 0 if (SvTRUE(state)) {
854 1498 0 if (strlen(SvPV_nolen(state)) != 5) {
0 1498 if (strlen(SvPV_nolen(state)) != 5) {
862 0 1824 (void)SvOK_off(h_state); /* see DBIc_STATE_adjust */
888 508447 4506 if (SvOK(err_sv)) {
508447 0 if (SvOK(err_sv)) {
0 508447 if (SvOK(err_sv)) {
890 0 4506 if (SvOK(errstr_sv))
0 0 if (SvOK(errstr_sv))
0 0 if (SvOK(errstr_sv))
891 4506 0 hash = -dbi_hash(SvPV_nolen(errstr_sv), 0); /* make positive */
894 0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
411 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
91 320 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
65 26 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
29 36 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
55 356 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
4095 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 4095 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 4095 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
0 0 hash |= (SvTRUE(err_sv)) ? 0x80000000 /* err */
895 4506 0 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
0 4506 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
0 4506 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
411 4095 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
4095 0 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
55 0 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
26 29 : (SvPOK(err_sv) && !SvCUR(err_sv)) ? 0x20000000 /* '' = info */
906 29563 0 sv_setpv(sv, HvNAME(stash));
29563 0 sv_setpv(sv, HvNAME(stash));
0 29563 sv_setpv(sv, HvNAME(stash));
0 0 sv_setpv(sv, HvNAME(stash));
29563 0 sv_setpv(sv, HvNAME(stash));
0 29563 sv_setpv(sv, HvNAME(stash));
907 0 29563 if(uplevel) {
908 0 0 while(SvCUR(sv) && *SvEND(sv)!=':')
0 0 while(SvCUR(sv) && *SvEND(sv)!=':')
910 0 0 if (SvCUR(sv))
915 29563 0 return SvPV_nolen(sv);
924 4512 4 if (type == 0) {
927 349956 4512 while (klen--)
933 4 0 else if (type == 1) { /* Fowler/Noll/Vo hash */
937 16 4 while (*s) {
970 24 14 if (DBILOGFP == PerlIO_stderr() || DBILOGFP == PerlIO_stdout())
6 18 if (DBILOGFP == PerlIO_stderr() || DBILOGFP == PerlIO_stdout())
973 8 10 if (DBIS->logfp_ref == NULL)
991 152 38 if (!file) /* no arg == no change */
995 8 30 if (SvROK(file)) {
997 8 0 if (!io || !(fp = IoOFP(io))) {
0 8 if (!io || !(fp = IoOFP(io))) {
1005 4 26 else if (isGV_with_GP(file)) {
0 4 else if (isGV_with_GP(file)) {
0 0 else if (isGV_with_GP(file)) {
1006 4 0 io = GvIO(file);
0 4 io = GvIO(file);
0 0 io = GvIO(file);
4 0 io = GvIO(file);
1007 4 0 if (!io || !(fp = IoOFP(io))) {
0 4 if (!io || !(fp = IoOFP(io))) {
1016 4 22 filename = (SvOK(file)) ? SvPV_nolen(file) : Nullch;
4 0 filename = (SvOK(file)) ? SvPV_nolen(file) : Nullch;
0 4 filename = (SvOK(file)) ? SvPV_nolen(file) : Nullch;
22 0 filename = (SvOK(file)) ? SvPV_nolen(file) : Nullch;
1018 22 4 if (!filename || strEQ(filename,"STDERR")
20 2 if (!filename || strEQ(filename,"STDERR")
1019 0 20 || strEQ(filename,"*main::STDERR")) {
1024 12 8 if (strEQ(filename,"STDOUT")) {
1030 0 8 if (fp == Nullfp) {
1048 190 0 if (!level_sv || !SvOK(level_sv))
46 144 if (!level_sv || !SvOK(level_sv))
46 0 if (!level_sv || !SvOK(level_sv))
46 0 if (!level_sv || !SvOK(level_sv))
1051 144 0 if (SvTRUE(level_sv)) {
0 144 if (SvTRUE(level_sv)) {
0 0 if (SvTRUE(level_sv)) {
0 144 if (SvTRUE(level_sv)) {
0 0 if (SvTRUE(level_sv)) {
0 0 if (SvTRUE(level_sv)) {
29 115 if (SvTRUE(level_sv)) {
29 0 if (SvTRUE(level_sv)) {
3 26 if (SvTRUE(level_sv)) {
3 0 if (SvTRUE(level_sv)) {
0 3 if (SvTRUE(level_sv)) {
26 3 if (SvTRUE(level_sv)) {
115 0 if (SvTRUE(level_sv)) {
115 0 if (SvTRUE(level_sv)) {
57 58 if (SvTRUE(level_sv)) {
0 57 if (SvTRUE(level_sv)) {
0 0 if (SvTRUE(level_sv)) {
58 57 if (SvTRUE(level_sv)) {
0 0 if (SvTRUE(level_sv)) {
1052 58 26 if (looks_like_number(level_sv))
1053 58 0 level = SvIV(level_sv); /* number: number */
1056 0 26 PUSHMARK(sp);
1057 0 26 XPUSHs(h);
1058 0 26 XPUSHs(level_sv);
1060 0 26 if (call_method("parse_trace_flags", G_SCALAR) != 1)
1063 26 0 level = POPi;
1081 80 86 if (level != RETVAL) { /* set value */
1082 8 72 if ((level & DBIc_TRACE_LEVEL_MASK) > 0) {
1090 0 8 if (!PL_dowarn)
1109 108040 359 ohv = SvROK(orv) ? SvRV(orv) : orv;
1111 108399 0 if (!ohv || SvTYPE(ohv) != SVt_PVHV) {
330 108069 if (!ohv || SvTYPE(ohv) != SVt_PVHV) {
1112 330 0 if (!what)
1116 0 0 if (DBIS_TRACE_LEVEL)
1119 0 0 if (!SvOK(orv))
0 0 if (!SvOK(orv))
0 0 if (!SvOK(orv))
1124 2 108067 if (!SvMAGICAL(ohv)) {
1125 2 0 if (!what)
1132 45990 62077 if ( (mg=mg_find(ohv,'P')) == NULL) { /* hash tie magic */
1134 0 45990 if (mg_find(ohv, DBI_MAGIC) == NULL) {
1135 0 0 if (!what)
1162 0 0 if ( SvROK(hrv)
1163 0 0 && (sv = SvRV(hrv))
1164 0 0 && SvRMAGICAL(sv)
1165 0 0 && (mg = SvMAGIC(sv))
1166 0 0 && mg->mg_type == DBI_MAGIC
1167 0 0 && mg->mg_ptr
1174 0 0 if (!imp_xxh) /* eg after take_imp_data */
1187 995890 19503 if (SvROK(hrv)) /* must at least be a ref */
1191 19497 6 if (hrv == DBI_LAST_HANDLE) /* special for var::FETCH */
1193 6 0 else if (sv_derived_from(hrv, "DBI::common")) {
1206 1015387 0 if (SvRMAGICAL(sv) && (mg=SvMAGIC(sv))->mg_type == DBI_MAGIC) {
982937 32450 if (SvRMAGICAL(sv) && (mg=SvMAGIC(sv))->mg_type == DBI_MAGIC) {
1214 1 1015386 if (mgp) /* let caller pickup magic struct for this handle */
1217 0 1015387 if (!mg) /* may happen during global destruction */
1230 147815 116932 asvp = hv_fetch((HV*)SvRV(h), attrib, len, !optional);
1233 147815 116932 if (!(asvp && SvOK(*asvp))) { /* attribute doesn't already exists (the common case) */
136265 11550 if (!(asvp && SvOK(*asvp))) { /* attribute doesn't already exists (the common case) */
136265 0 if (!(asvp && SvOK(*asvp))) { /* attribute doesn't already exists (the common case) */
136265 0 if (!(asvp && SvOK(*asvp))) { /* attribute doesn't already exists (the common case) */
1235 253197 0 if ((!parent || !SvROK(parent)) && !optional) {
0 253197 if ((!parent || !SvROK(parent)) && !optional) {
0 0 if ((!parent || !SvROK(parent)) && !optional) {
1240 136950 116247 if (psvp) {
1241 685 136265 if (!asvp)
1246 0 116247 if (!optional)
1251 27 264720 if (DBIc_TRACE_LEVEL(imp_xxh) >= 5) {
1255 12 15 if (!asvp)
1258 0 15 if (SvOK(*asvp))
0 0 if (SvOK(*asvp))
0 0 if (SvOK(*asvp))
1262 88689 176058 if (read_only && asvp)
88689 0 if (read_only && asvp)
1264 148500 116247 return asvp ? *asvp : &PL_sv_undef;
1276 0 0 if (imp_size < sizeof(imp_fdh_t) || cn_len<10 || strNE("::fd",&col_name[cn_len-4]))
0 0 if (imp_size < sizeof(imp_fdh_t) || cn_len<10 || strNE("::fd",&col_name[cn_len-4]))
0 0 if (imp_size < sizeof(imp_fdh_t) || cn_len<10 || strNE("::fd",&col_name[cn_len-4]))
1279 0 0 if (DBIc_TRACE_LEVEL(imp_sth) >= 5)
1301 0 29563 if ( (imp_stash = gv_stashpv(imp_class, FALSE)) == NULL)
1304 29563 0 if (imp_size == 0) {
1307 29563 0 imp_size = SvIV(get_sv(imp_size_name, 0x05));
1308 29563 0 if (imp_size == 0) {
1310 0 29563 if (sizeof(imp_dbh_t) > imp_size)
1312 0 29563 if (sizeof(imp_drh_t) > imp_size)
1318 29233 330 if (p_imp_xxh) {
1325 3 29560 if (trace_level >= 5) {
1331 0 29563 if (imp_templ && SvOK(imp_templ)) {
0 0 if (imp_templ && SvOK(imp_templ)) {
0 0 if (imp_templ && SvOK(imp_templ)) {
0 0 if (imp_templ && SvOK(imp_templ)) {
1334 0 0 if (SvCUR(imp_templ) != imp_size)
1343 0 0 if (DBIc_TYPE(imp) != ((p_imp_xxh) ? DBIc_TYPE(p_imp_xxh)+1 :1) )
0 0 if (DBIc_TYPE(imp) != ((p_imp_xxh) ? DBIc_TYPE(p_imp_xxh)+1 :1) )
1345 0 0 if (!DBIc_has(imp, DBIcf_IMPSET))
1350 0 0 switch ( (p_imp_xxh) ? DBIc_TYPE(p_imp_xxh)+1 : DBIt_DR ) {
1370 29233 330 if (p_imp_xxh) {
1379 330 29233 if (!p_h) { /* only a driver (drh) has no parent */
1402 25933 3630 if (DBIc_TYPE(imp) == DBIt_ST) {
1433 29233 330 if (parent) {
1443 3 29560 if (trace_level >= 5) {
1449 0 29563 if (mg_find(SvRV(h), DBI_MAGIC) != NULL)
1454 0 29563 if ( (imp_mem_stash = gv_stashpv(imp_mem_name, FALSE)) == NULL)
1457 0 29563 if ((svp = hv_fetch((HV*)SvRV(h), "dbi_imp_data", 12, 0))) {
1459 0 0 if (SvGMAGICAL(dbi_imp_data)) /* call FETCH via magic */
1473 4641 24922 DBIc_IMP_DATA(imp) = (imp_datasv) ? newSVsv(imp_datasv) : &PL_sv_undef;
1476 29563 0 if (DBIc_TYPE(imp) <= DBIt_ST) {
1490 29233 330 if (parent) {
1497 1415 27818 if (DBIc_has(parent_imp, DBIcf_Callbacks)
1498 1415 0 && (tmp_svp = hv_fetch((HV*)SvRV(parent), "Callbacks", 9, 0))
1499 1415 0 && SvROK(*tmp_svp) && SvTYPE(SvRV(*tmp_svp)) == SVt_PVHV
1415 0 && SvROK(*tmp_svp) && SvTYPE(SvRV(*tmp_svp)) == SVt_PVHV
1500 2 1413 && (tmp_svp = hv_fetch((HV*)SvRV(*tmp_svp), "ChildCallbacks", 14, 0))
1501 2 0 && SvROK(*tmp_svp) && SvTYPE(SvRV(*tmp_svp)) == SVt_PVHV
2 0 && SvROK(*tmp_svp) && SvTYPE(SvRV(*tmp_svp)) == SVt_PVHV
1514 3054 26179 if (!SvROK(*tmp_svp)) {
1521 3257 25976 if (av_len(av) % 120 == 0) {
1524 27617 3257 while (i-- >= 0) {
1526 24190 3427 if (SvOK(sv))
24190 0 if (SvOK(sv))
0 24190 if (SvOK(sv))
1580 29563 0 if (tie_mg && first->mg_moremagic == tie_mg && !tie_mg->mg_moremagic) {
0 29563 if (tie_mg && first->mg_moremagic == tie_mg && !tie_mg->mg_moremagic) {
0 0 if (tie_mg && first->mg_moremagic == tie_mg && !tie_mg->mg_moremagic) {
1596 0 4 if (level >= 9) {
1609 0 7 if (!msg)
1611 7 0 PerlIO_printf(DBILOGFP," %s (%sh 0x%lx, com 0x%lx, imp %s):\n",
1614 7 0 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
7 0 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
0 7 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
0 0 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
7 0 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
0 7 (PL_dirty) ? "global destruction" : HvNAME(DBIc_IMP_STASH(imp_xxh)));
1615 7 0 if (DBIc_COMSET(imp_xxh)) sv_catpv(flags,"COMSET ");
1616 0 7 if (DBIc_IMPSET(imp_xxh)) sv_catpv(flags,"IMPSET ");
1617 4 3 if (DBIc_ACTIVE(imp_xxh)) sv_catpv(flags,"Active ");
1618 7 0 if (DBIc_WARN(imp_xxh)) sv_catpv(flags,"Warn ");
1619 0 7 if (DBIc_COMPAT(imp_xxh)) sv_catpv(flags,"CompatMode ");
1620 0 7 if (DBIc_is(imp_xxh, DBIcf_ChopBlanks)) sv_catpv(flags,"ChopBlanks ");
1621 0 7 if (DBIc_is(imp_xxh, DBIcf_HandleSetErr)) sv_catpv(flags,"HandleSetErr ");
1622 0 7 if (DBIc_is(imp_xxh, DBIcf_HandleError)) sv_catpv(flags,"HandleError ");
1623 3 4 if (DBIc_is(imp_xxh, DBIcf_RaiseError)) sv_catpv(flags,"RaiseError ");
1624 4 3 if (DBIc_is(imp_xxh, DBIcf_PrintError)) sv_catpv(flags,"PrintError ");
1625 4 3 if (DBIc_is(imp_xxh, DBIcf_PrintWarn)) sv_catpv(flags,"PrintWarn ");
1626 0 7 if (DBIc_is(imp_xxh, DBIcf_ShowErrorStatement)) sv_catpv(flags,"ShowErrorStatement ");
1627 7 0 if (DBIc_is(imp_xxh, DBIcf_AutoCommit)) sv_catpv(flags,"AutoCommit ");
1628 0 7 if (DBIc_is(imp_xxh, DBIcf_BegunWork)) sv_catpv(flags,"BegunWork ");
1629 0 7 if (DBIc_is(imp_xxh, DBIcf_LongTruncOk)) sv_catpv(flags,"LongTruncOk ");
1630 0 7 if (DBIc_is(imp_xxh, DBIcf_MultiThread)) sv_catpv(flags,"MultiThread ");
1631 0 7 if (DBIc_is(imp_xxh, DBIcf_TaintIn)) sv_catpv(flags,"TaintIn ");
1632 0 7 if (DBIc_is(imp_xxh, DBIcf_TaintOut)) sv_catpv(flags,"TaintOut ");
1633 0 7 if (DBIc_is(imp_xxh, DBIcf_Profile)) sv_catpv(flags,"Profile ");
1634 0 7 if (DBIc_is(imp_xxh, DBIcf_Callbacks)) sv_catpv(flags,"Callbacks ");
1635 7 0 PerlIO_printf(DBILOGFP,"%s FLAGS 0x%lx: %s\n", pad, (long)DBIc_FLAGS(imp_xxh), SvPV_nolen(flags));
1636 7 0 if (SvOK(DBIc_ERR(imp_xxh)))
7 0 if (SvOK(DBIc_ERR(imp_xxh)))
0 7 if (SvOK(DBIc_ERR(imp_xxh)))
1638 7 0 if (SvOK(DBIc_ERR(imp_xxh)))
7 0 if (SvOK(DBIc_ERR(imp_xxh)))
0 7 if (SvOK(DBIc_ERR(imp_xxh)))
1643 7 0 if (DBIc_IMP_DATA(imp_xxh) && SvOK(DBIc_IMP_DATA(imp_xxh)))
7 0 if (DBIc_IMP_DATA(imp_xxh) && SvOK(DBIc_IMP_DATA(imp_xxh)))
7 0 if (DBIc_IMP_DATA(imp_xxh) && SvOK(DBIc_IMP_DATA(imp_xxh)))
0 7 if (DBIc_IMP_DATA(imp_xxh) && SvOK(DBIc_IMP_DATA(imp_xxh)))
1645 0 7 if (DBIc_LongReadLen(imp_xxh) != DBIc_LongReadLen_init)
1648 0 7 if (DBIc_TYPE(imp_xxh) == DBIt_ST) {
1654 7 0 if (!inner || !SvROK(inner))
3 4 if (!inner || !SvROK(inner))
1656 4 0 if (DBIc_TYPE(imp_xxh) <= DBIt_DB) {
1658 0 4 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
0 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
0 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
1660 0 0 PerlIO_printf(DBILOGFP,"%s CachedKids %d\n", pad, (int)HvKEYS(hv));
1663 4 0 if (level > 0) {
1668 78 4 while ( (value = hv_iternextsv((HV*)SvRV(inner), &key, &keylen)) ) {
1672 0 0 else if (DBIc_TYPE(imp_xxh) == DBIt_DB) {
1674 0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
1677 0 0 else if (DBIc_TYPE(imp_xxh) == DBIt_ST) {
1679 0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
0 0 if (svp && SvOK(*svp))
1711 0 29560 if (!DBIc_COMSET(imp_xxh)) { /* should never happen */
1716 3 29557 if (auto_dump)
1719 28700 860 if (!PL_dirty) {
1721 315 28385 if (DBIc_ACTIVE(imp_xxh)) { /* bad news, potentially */
1723 315 0 if (DBIc_TYPE(imp_xxh) >= DBIt_ST
1724 315 0 || (DBIc_ACTIVE_KIDS(imp_xxh) || !DBIc_has(imp_xxh, DBIcf_AutoCommit))
0 315 || (DBIc_ACTIVE_KIDS(imp_xxh) || !DBIc_has(imp_xxh, DBIcf_AutoCommit))
1733 0 28700 if (DBIc_IMPSET(imp_xxh)) {
1739 0 28700 if (DBIc_KIDS(imp_xxh)) {
1747 0 29560 if (dump && !auto_dump) /* else was already dumped above */
0 0 if (dump && !auto_dump) /* else was already dumped above */
1752 28700 860 if (!PL_dirty) {
1753 28700 0 if (parent_xxh) {
1754 315 28385 if (DBIc_ACTIVE(imp_xxh)) /* see also DBIc_ACTIVE_off */
1762 25933 3627 if (DBIc_TYPE(imp_xxh) == DBIt_ST) {
1768 29560 0 if (DBIc_TYPE(imp_xxh) <= DBIt_ST) { /* DBIt_FD doesn't have attr */
1781 3 29557 if (debug >= 4)
1800 0 4020 if (i < 0)
1803 1845 2175 if (av) {
1804 1841 4 if (av_len(av)+1 == i) /* is existing array the right size? */
1807 0 4 if (DBIc_TRACE_LEVEL(imp_sth) >= 2)
1810 2 2 if (i < av_len(av)+1) /* trim to size if too big */
1814 0 2175 if (DBIc_TRACE_LEVEL(imp_sth) >= 5)
1826 6351 2179 while(i--) /* field 1 stored at index 0 */
1828 0 2179 if (DBIc_TRACE_LEVEL(imp_sth) >= 6)
1840 2117 101745 if ( (av = DBIc_FIELDS_AV(imp_sth)) == Nullav) {
1846 0 101745 if (i != DBIc_NUM_FIELDS(imp_sth)) {
1859 302450 101745 while(i--) /* field 1 stored at index 0 */
1863 1 103861 if (DBIc_is(imp_sth, DBIcf_TaintOut)) {
1881 162 0 int idx = SvIV(col);
1884 0 162 if (fields <= 0) {
1886 0 0 croak("Statement has no result columns to bind%s",
1891 58 104 if ( (av = DBIc_FIELDS_AV(imp_sth)) == Nullav)
1894 0 162 if (DBIc_TRACE_LEVEL(imp_sth) >= 5)
1898 160 2 if (idx < 1 || idx > fields)
4 156 if (idx < 1 || idx > fields)
1902 2 154 if (!SvOK(ref) && SvREADONLY(ref)) { /* binding to literal undef */
2 0 if (!SvOK(ref) && SvREADONLY(ref)) { /* binding to literal undef */
2 0 if (!SvOK(ref) && SvREADONLY(ref)) { /* binding to literal undef */
2 0 if (!SvOK(ref) && SvREADONLY(ref)) { /* binding to literal undef */
1910 154 0 if (!SvROK(ref) || SvTYPE(SvRV(ref)) > SVt_PVMG) /* XXX LV */
0 154 if (!SvROK(ref) || SvTYPE(SvRV(ref)) > SVt_PVMG) /* XXX LV */
1974 40 0 if (!sv || !SvOK(sv))
2 38 if (!sv || !SvOK(sv))
2 0 if (!sv || !SvOK(sv))
2 0 if (!sv || !SvOK(sv))
1989 14 12 cast_ok = (SvIOK(sv) && !SvNOK(sv));
14 0 cast_ok = (SvIOK(sv) && !SvNOK(sv));
2007 0 4 if (grok_flags == IS_NUMBER_IN_UV) { /* +ve int */
2008 0 0 if (uv <= IV_MAX) /* prefer IV over UV */
2012 0 4 else if (grok_flags == (IS_NUMBER_IN_UV | IS_NUMBER_NEG)
2013 0 0 && uv <= IV_MAX
2017 0 4 else if (grok_flags) { /* is numeric */
2029 16 20 if (cast_ok) {
2031 2 14 if (flags & DBIstcf_DISCARD_STRING
2032 2 0 && SvNIOK(sv) /* we set a numeric value */
2033 2 0 && SvPVX(sv) /* we have a buffer to discard */
2035 0 2 SvOOK_off(sv);
2037 2 0 if (SvLEN(sv))
2046 16 20 if (cast_ok)
2048 10 10 else if (flags & DBIstcf_STRICT)
2064 79050 0 const char *key = SvPV(keysv, keylen);
2066 79050 0 int on = (SvTRUE(valuesv));
0 79050 int on = (SvTRUE(valuesv));
0 0 int on = (SvTRUE(valuesv));
13293 65757 int on = (SvTRUE(valuesv));
13293 0 int on = (SvTRUE(valuesv));
0 13293 int on = (SvTRUE(valuesv));
20580 45177 int on = (SvTRUE(valuesv));
20580 0 int on = (SvTRUE(valuesv));
12219 8361 int on = (SvTRUE(valuesv));
9987 2232 int on = (SvTRUE(valuesv));
3763 6224 int on = (SvTRUE(valuesv));
12124 8456 int on = (SvTRUE(valuesv));
39562 5615 int on = (SvTRUE(valuesv));
39562 0 int on = (SvTRUE(valuesv));
13088 26474 int on = (SvTRUE(valuesv));
0 13088 int on = (SvTRUE(valuesv));
0 0 int on = (SvTRUE(valuesv));
26474 13088 int on = (SvTRUE(valuesv));
5615 0 int on = (SvTRUE(valuesv));
2072 51 78999 if (DBIc_TRACE_LEVEL(imp_xxh) >= 3)
2076 79050 0 if (internal && strEQ(key, "Active")) {
14079 64971 if (internal && strEQ(key, "Active")) {
2077 9210 4869 if (on) {
2079 9207 3 DBIc_ACTIVE_on(imp_xxh);
9207 0 DBIc_ACTIVE_on(imp_xxh);
9207 0 DBIc_ACTIVE_on(imp_xxh);
0 9207 DBIc_ACTIVE_on(imp_xxh);
2082 5965 3245 if (htype==DBIt_ST && DBIc_FIELDS_AV(imp_sth))
3684 2281 if (htype==DBIt_ST && DBIc_FIELDS_AV(imp_sth))
2086 3024 1845 DBIc_ACTIVE_off(imp_xxh);
3024 0 DBIc_ACTIVE_off(imp_xxh);
2540 484 DBIc_ACTIVE_off(imp_xxh);
2540 0 DBIc_ACTIVE_off(imp_xxh);
0 2540 DBIc_ACTIVE_off(imp_xxh);
2089 18 64953 else if (strEQ(key, "FetchHashKeyName")) {
2090 0 18 if (htype >= DBIt_ST)
2094 12 64941 else if (strEQ(key, "CompatMode")) {
2095 10 2 (on) ? DBIc_COMPAT_on(imp_xxh) : DBIc_COMPAT_off(imp_xxh);
2097 6 64935 else if (strEQ(key, "Warn")) {
2098 4 2 (on) ? DBIc_WARN_on(imp_xxh) : DBIc_WARN_off(imp_xxh);
2100 12 64923 else if (strEQ(key, "AutoInactiveDestroy")) {
2101 8 4 (on) ? DBIc_AIADESTROY_on(imp_xxh) : DBIc_AIADESTROY_off(imp_xxh);
2103 8 64915 else if (strEQ(key, "InactiveDestroy")) {
2104 4 4 (on) ? DBIc_IADESTROY_on(imp_xxh) : DBIc_IADESTROY_off(imp_xxh);
2106 14 64901 else if (strEQ(key, "RootClass")) {
2109 0 64901 else if (strEQ(key, "RowCacheSize")) {
2112 6036 58865 else if (strEQ(key, "Executed")) {
2113 0 6036 DBIc_set(imp_xxh, DBIcf_Executed, on);
2115 10 58855 else if (strEQ(key, "ChopBlanks")) {
2116 6 4 DBIc_set(imp_xxh, DBIcf_ChopBlanks, on);
2118 2 58853 else if (strEQ(key, "ErrCount")) {
2119 0 2 DBIc_ErrCount(imp_xxh) = SvUV(valuesv);
2121 0 58853 else if (strEQ(key, "LongReadLen")) {
2122 0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
0 0 if (SvNV(valuesv) < 0 || SvNV(valuesv) > MAX_LongReadLen)
2124 0 0 DBIc_LongReadLen(imp_xxh) = SvIV(valuesv);
2127 4 58849 else if (strEQ(key, "LongTruncOk")) {
2128 0 4 DBIc_set(imp_xxh,DBIcf_LongTruncOk, on);
2130 6307 52542 else if (strEQ(key, "RaiseError")) {
2131 6234 73 DBIc_set(imp_xxh,DBIcf_RaiseError, on);
2133 6409 46133 else if (strEQ(key, "PrintError")) {
2134 184 6225 DBIc_set(imp_xxh,DBIcf_PrintError, on);
2136 6038 40095 else if (strEQ(key, "PrintWarn")) {
2137 10 6028 DBIc_set(imp_xxh,DBIcf_PrintWarn, on);
2139 4 40091 else if (strEQ(key, "HandleError")) {
2140 2 2 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
2 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
0 2 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
2143 2 2 DBIc_set(imp_xxh,DBIcf_HandleError, on);
2146 2 40089 else if (strEQ(key, "HandleSetErr")) {
2147 2 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
2 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
0 2 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVCV)) ) {
2150 2 0 DBIc_set(imp_xxh,DBIcf_HandleSetErr, on);
2153 0 40089 else if (strEQ(key, "ChildHandles")) {
2154 0 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVAV)) ) {
0 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVAV)) ) {
0 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVAV)) ) {
2159 41 40048 else if (strEQ(key, "Profile")) {
2161 37 4 if (on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) ) {
17 20 if (on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) ) {
0 17 if (on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) ) {
2168 20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
0 20 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
0 20 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
20 0 if (SvTRUE(ERRSV)) {
0 20 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 20 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
0 0 if (SvTRUE(ERRSV)) {
2169 0 0 warn("Can't load %s: %s", profile_class, SvPV_nolen(ERRSV));
0 0 warn("Can't load %s: %s", profile_class, SvPV_nolen(ERRSV));
0 0 warn("Can't load %s: %s", profile_class, SvPV_nolen(ERRSV));
0 0 warn("Can't load %s: %s", profile_class, SvPV_nolen(ERRSV));
2173 0 20 PUSHMARK(SP);
2174 0 20 XPUSHs(sv_2mortal(newSVpv(profile_class,0)));
2175 0 20 XPUSHs(valuesv);
2178 0 20 if (returns != 1)
2184 20 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 20 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 20 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 20 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 20 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
0 0 on = SvTRUE(valuesv); /* in case it returns undef */
20 0 on = SvTRUE(valuesv); /* in case it returns undef */
2186 37 4 if (on && !sv_isobject(valuesv)) {
16 21 if (on && !sv_isobject(valuesv)) {
2193 37 4 DBIc_set(imp_xxh,DBIcf_Profile, on);
2196 1083 38965 else if (strEQ(key, "ShowErrorStatement")) {
2197 1077 6 DBIc_set(imp_xxh,DBIcf_ShowErrorStatement, on);
2199 0 38965 else if (strEQ(key, "MultiThread") && internal) {
0 0 else if (strEQ(key, "MultiThread") && internal) {
2201 0 0 DBIc_set(imp_xxh,DBIcf_MultiThread, on);
2202 0 0 if (on && DBIc_WARN(imp_xxh)) {
0 0 if (on && DBIc_WARN(imp_xxh)) {
2206 22 38943 else if (strEQ(key, "Taint")) {
2208 3 19 DBIc_set(imp_xxh,DBIcf_TaintIn|DBIcf_TaintOut, on);
2210 8 38935 else if (strEQ(key, "TaintIn")) {
2211 2 6 DBIc_set(imp_xxh,DBIcf_TaintIn, on);
2213 7 38928 else if (strEQ(key, "TaintOut")) {
2214 2 5 DBIc_set(imp_xxh,DBIcf_TaintOut, on);
2216 26079 12849 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "CachedKids")
5632 20447 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "CachedKids")
9 5623 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "CachedKids")
2218 9 0 && SvROK(valuesv) && SvTYPE(SvRV(valuesv))==SVt_PVHV
9 0 && SvROK(valuesv) && SvTYPE(SvRV(valuesv))==SVt_PVHV
2223 37 38882 else if (keylen==9 && strEQ(key, "Callbacks")) {
27 10 else if (keylen==9 && strEQ(key, "Callbacks")) {
2224 23 4 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) )
23 0 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) )
0 23 if ( on && (!SvROK(valuesv) || (SvTYPE(SvRV(valuesv)) != SVt_PVHV)) )
2227 23 4 DBIc_set(imp_xxh, DBIcf_Callbacks, on);
2230 26045 12847 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "AutoCommit")) {
5623 20422 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "AutoCommit")) {
5519 104 else if (htype<=DBIt_DB && keylen==10 && strEQ(key, "AutoCommit")) {
2233 5519 0 if (SvIV(valuesv) != -900 && SvIV(valuesv) != -901)
5517 2 if (SvIV(valuesv) != -900 && SvIV(valuesv) != -901)
5517 0 if (SvIV(valuesv) != -900 && SvIV(valuesv) != -901)
0 5517 if (SvIV(valuesv) != -900 && SvIV(valuesv) != -901)
2235 5519 0 DBIc_set(imp_xxh,DBIcf_AutoCommit, (SvIV(valuesv)==-901));
5517 2 DBIc_set(imp_xxh,DBIcf_AutoCommit, (SvIV(valuesv)==-901));
2237 20521 12852 else if (htype==DBIt_DB && keylen==9 && strEQ(key, "BegunWork")) {
9 20512 else if (htype==DBIt_DB && keylen==9 && strEQ(key, "BegunWork")) {
2 7 else if (htype==DBIt_DB && keylen==9 && strEQ(key, "BegunWork")) {
2238 2 0 DBIc_set(imp_xxh,DBIcf_BegunWork, on);
2240 104 33267 else if (keylen==10 && strEQ(key, "TraceLevel")) {
98 6 else if (keylen==10 && strEQ(key, "TraceLevel")) {
2243 8 33265 else if (keylen==9 && strEQ(key, "TraceFile")) { /* XXX undocumented and readonly */
0 8 else if (keylen==9 && strEQ(key, "TraceFile")) { /* XXX undocumented and readonly */
2246 12847 20426 else if (htype==DBIt_ST && strEQ(key, "NUM_OF_FIELDS")) {
7682 5165 else if (htype==DBIt_ST && strEQ(key, "NUM_OF_FIELDS")) {
2248 50 7632 int new_num_fields = (SvOK(valuesv)) ? SvIV(valuesv) : -1;
50 0 int new_num_fields = (SvOK(valuesv)) ? SvIV(valuesv) : -1;
0 50 int new_num_fields = (SvOK(valuesv)) ? SvIV(valuesv) : -1;
7632 0 int new_num_fields = (SvOK(valuesv)) ? SvIV(valuesv) : -1;
2250 1845 5837 if (DBIc_FIELDS_AV(imp_sth)) { /* modify existing fbav */
2255 5165 20426 else if (htype==DBIt_ST && strEQ(key, "NUM_OF_PARAMS")) {
5156 9 else if (htype==DBIt_ST && strEQ(key, "NUM_OF_PARAMS")) {
2257 5156 0 DBIc_NUM_PARAMS(imp_sth) = SvIV(valuesv);
2261 20426 9 else if (htype<=DBIt_DB && (strEQ(key, "Name")
20422 4 else if (htype<=DBIt_DB && (strEQ(key, "Name")
2262 20418 4 || strEQ(key,"ImplementorClass")
2263 20139 279 || strEQ(key,"ReadOnly")
2264 20135 4 || strEQ(key,"Statement")
2265 13828 6307 || strEQ(key,"Username")
2267 13828 0 || strEQ(key,"USER") || strEQ(key,"CURRENT_USER")
0 13828 || strEQ(key,"USER") || strEQ(key,"CURRENT_USER")
2272 13825 12 else if ((keylen==7 || keylen==9 || keylen==12)
13821 4 else if ((keylen==7 || keylen==9 || keylen==12)
4 13817 else if ((keylen==7 || keylen==9 || keylen==12)
2273 5 15 && strnEQ(key, "NAME_", 5)
2274 1 4 && ( (keylen==9 && strEQ(key, "NAME_hash"))
0 1 && ( (keylen==9 && strEQ(key, "NAME_hash"))
2275 2 2 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
2 0 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
4 0 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
2276 2 2 && (!key[7] || strnEQ(&key[7], "_hash", 5)))
2 0 && (!key[7] || strnEQ(&key[7], "_hash", 5)))
2282 2 13830 if (isUPPER(*key)) {
2285 0 2 if (strEQ(key, "NUM_FIELDS"))
2293 13819 11 if (strnNE(key,"private_",8) && strnNE(key,"dbd_",4) && strnNE(key,"dbi_",4)) {
13815 4 if (strnNE(key,"private_",8) && strnNE(key,"dbd_",4) && strnNE(key,"dbi_",4)) {
44 13771 if (strnNE(key,"private_",8) && strnNE(key,"dbd_",4) && strnNE(key,"dbi_",4)) {
2294 0 44 if (DBIc_TRACE_LEVEL(imp_xxh)) { /* change to DBIc_WARN(imp_xxh) once we can validate prefix against registry */
2302 33342 45662 if (cacheit) {
2305 9 33333 if (weakenit) {
2322 44691 0 char *key = SvPV(keysv, keylen);
2334 6044 38647 if (htype == DBIt_ST) {
2338 18 0 if (keylen==8 && strEQ(key, "Database")) {
18 0 if (keylen==8 && strEQ(key, "Database")) {
2346 52 2252 if (keylen==8 && strEQ(key, "NULLABLE")) {
52 0 if (keylen==8 && strEQ(key, "NULLABLE")) {
2351 56 2196 if (keylen==4 && strEQ(key, "NAME")) {
56 0 if (keylen==4 && strEQ(key, "NAME")) {
2357 174 2022 if ((keylen==7 || keylen==9 || keylen==12)
126 48 if ((keylen==7 || keylen==9 || keylen==12)
18 108 if ((keylen==7 || keylen==9 || keylen==12)
2358 2088 0 && strnEQ(key, "NAME_", 5)
2359 48 2040 && ( (keylen==9 && strEQ(key, "NAME_hash"))
0 48 && ( (keylen==9 && strEQ(key, "NAME_hash"))
2360 2017 23 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
2017 0 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
2040 0 || ((key[5]=='u' || key[5]=='l') && key[6] == 'c'
2361 18 2022 && (!key[7] || strnEQ(&key[7], "_hash", 5)))
18 0 && (!key[7] || strnEQ(&key[7], "_hash", 5)))
2369 2088 0 sv = (svp) ? *svp : &PL_sv_undef;
2370 2088 0 if (SvGMAGICAL(sv)) /* call FETCH via magic */
2373 2078 10 if (SvROK(sv)) {
2381 60 2018 if (strEQ(&key[strlen(key)-5], "_hash"))
2387 0 2078 if (i != AvFILL(name_av)+1) {
0 2078 if (i != AvFILL(name_av)+1) {
2389 0 0 if ( ! (i == -1 && 0 == AvFILL(name_av)+1) )
0 0 if ( ! (i == -1 && 0 == AvFILL(name_av)+1) )
0 0 if ( ! (i == -1 && 0 == AvFILL(name_av)+1) )
0 0 if ( ! (i == -1 && 0 == AvFILL(name_av)+1) )
2391 0 0 i = AvFILL(name_av)+1; /* limit for safe iteration over array */
2394 2078 0 if (DBIc_TRACE_LEVEL(imp_sth) >= 10 || (num_fields_mismatch && DBIc_WARN(imp_xxh))) {
0 2078 if (DBIc_TRACE_LEVEL(imp_sth) >= 10 || (num_fields_mismatch && DBIc_WARN(imp_xxh))) {
0 0 if (DBIc_TRACE_LEVEL(imp_sth) >= 10 || (num_fields_mismatch && DBIc_WARN(imp_xxh))) {
2395 0 0 PerlIO_printf(DBIc_LOGPIO(imp_sth)," FETCH $h->{%s} from $h->{NAME} with $h->{NUM_OF_FIELDS} = %d"
0 0 PerlIO_printf(DBIc_LOGPIO(imp_sth)," FETCH $h->{%s} from $h->{NAME} with $h->{NUM_OF_FIELDS} = %d"
2401 6084 2078 while (--i >= 0) {
2403 6084 0 name = SvPV_nolen(sv);
2404 5984 100 if (key[5] != 'h') { /* "NAME_hash" */
2405 29981 0 for (p = name; p && *p; ++p) {
23997 5984 for (p = name; p && *p; ++p) {
2407 251 23746 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
251 0 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
0 0 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
0 0 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
0 0 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
0 23746 *p = (upcase) ? toUPPER_LC(*p) : toLOWER_LC(*p);
2413 5946 138 if (av)
2420 2018 60 valuesv = newRV_noinc( (av ? (SV*)av : (SV*)hv) );
2424 108 0 else if (keylen==13 && strEQ(key, "NUM_OF_FIELDS")) {
51 57 else if (keylen==13 && strEQ(key, "NUM_OF_FIELDS")) {
2427 0 51 valuesv = (num_fields < 0) ? &PL_sv_undef : newSViv(num_fields);
2428 0 51 if (num_fields > 0)
2431 57 0 else if (keylen==13 && strEQ(key, "NUM_OF_PARAMS")) {
57 0 else if (keylen==13 && strEQ(key, "NUM_OF_PARAMS")) {
2439 52 96 if (strEQ(key, "PRECISION"))
2441 82 14 else if (strEQ(key, "ParamValues"))
2443 0 14 else if (strEQ(key, "ParamTypes"))
2448 4 5 if (strEQ(key, "RowsInCache"))
2453 356 4 if (strEQ(key, "SCALE"))
2458 52 70 if (strEQ(key, "TYPE"))
2465 38528 119 if (htype == DBIt_DB) {
2470 12992 25536 if (keylen==6 && strEQ(key, "Driver")) {
2511 10481 if (keylen==6 && strEQ(key, "Driver")) {
2477 39312 5379 if (valuesv == Nullsv && htype <= DBIt_DB) {
36136 3176 if (valuesv == Nullsv && htype <= DBIt_DB) {
2478 8994 27142 if (keylen==10 && strEQ(key, "AutoCommit")) {
12 8982 if (keylen==10 && strEQ(key, "AutoCommit")) {
2479 11 1 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_AutoCommit));
2483 39300 5391 if (valuesv == Nullsv) {
2486 11155 47 if (keylen==6 && strEQ(key, "Active")) {
11155 0 if (keylen==6 && strEQ(key, "Active")) {
2487 10003 1152 valuesv = boolSV(DBIc_ACTIVE(imp_xxh));
2489 29 18 else if (keylen==10 && strEQ(key, "ActiveKids")) {
29 0 else if (keylen==10 && strEQ(key, "ActiveKids")) {
2492 18 0 else if (strEQ(key, "AutoInactiveDestroy")) {
2493 8 10 valuesv = boolSV(DBIc_AIADESTROY(imp_xxh));
2498 4 2 if (keylen==9 && strEQ(key, "BegunWork")) {
4 0 if (keylen==9 && strEQ(key, "BegunWork")) {
2499 1 3 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_BegunWork));
2504 42 9034 if (strEQ(key, "ChildHandles")) {
2509 0 42 if (svp) {
2519 2967 6067 else if (strEQ(key, "ChopBlanks")) {
2520 2 2965 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_ChopBlanks));
2522 6036 31 else if (strEQ(key, "CachedKids")) {
2525 18 13 else if (strEQ(key, "CompatMode")) {
2526 10 8 valuesv = boolSV(DBIc_COMPAT(imp_xxh));
2531 6048 14 if (strEQ(key, "Executed")) {
2532 3853 2195 valuesv = boolSV(DBIc_is(imp_xxh, DBIcf_Executed));
2534 14 0 else if (strEQ(key, "ErrCount")) {
2540 14 0 if (strEQ(key, "InactiveDestroy")) {
2541 4 10 valuesv = boolSV(DBIc_IADESTROY(imp_xxh));
2546 56 0 if (keylen==4 && strEQ(key, "Kids")) {
56 0 if (keylen==4 && strEQ(key, "Kids")) {
2552 5563 0 if (keylen==11 && strEQ(key, "LongReadLen")) {
2780 2783 if (keylen==11 && strEQ(key, "LongReadLen")) {
2555 2783 0 else if (keylen==11 && strEQ(key, "LongTruncOk")) {
2783 0 else if (keylen==11 && strEQ(key, "LongTruncOk")) {
2556 0 2783 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_LongTruncOk));
2561 0 0 if (keylen==10 && strEQ(key, "MultiThread")) {
0 0 if (keylen==10 && strEQ(key, "MultiThread")) {
2562 0 0 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_MultiThread));
2567 38 78 if (keylen==10 && strEQ(key, "PrintError")) {
38 0 if (keylen==10 && strEQ(key, "PrintError")) {
2568 18 20 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_PrintError));
2570 10 68 else if (keylen==9 && strEQ(key, "PrintWarn")) {
10 0 else if (keylen==9 && strEQ(key, "PrintWarn")) {
2571 10 0 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_PrintWarn));
2576 100 2766 if (keylen==10 && strEQ(key, "RaiseError")) {
100 0 if (keylen==10 && strEQ(key, "RaiseError")) {
2577 84 16 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_RaiseError));
2579 2 2764 else if (keylen==12 && strEQ(key, "RowCacheSize")) {
2 0 else if (keylen==12 && strEQ(key, "RowCacheSize")) {
2585 16 0 if (keylen==18 && strEQ(key, "ShowErrorStatement")) {
16 0 if (keylen==18 && strEQ(key, "ShowErrorStatement")) {
2586 4 12 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_ShowErrorStatement));
2591 49 61 if (keylen==4 && strEQ(key, "Type")) {
49 0 if (keylen==4 && strEQ(key, "Type")) {
2596 0 61 else if (keylen==10 && strEQ(key, "TraceLevel")) {
0 0 else if (keylen==10 && strEQ(key, "TraceLevel")) {
2597 0 0 valuesv = newSViv( DBIc_DEBUGIV(imp_xxh) );
2599 30 31 else if (keylen==5 && strEQ(key, "Taint")) {
30 0 else if (keylen==5 && strEQ(key, "Taint")) {
2600 5 25 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_TaintIn) &&
3 2 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_TaintIn) &&
2603 16 15 else if (keylen==7 && strEQ(key, "TaintIn")) {
16 0 else if (keylen==7 && strEQ(key, "TaintIn")) {
2604 4 12 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_TaintIn));
2606 15 0 else if (keylen==8 && strEQ(key, "TaintOut")) {
15 0 else if (keylen==8 && strEQ(key, "TaintOut")) {
2607 2 13 valuesv = boolSV(DBIc_has(imp_xxh,DBIcf_TaintOut));
2612 16 0 if (keylen==4 && strEQ(key, "Warn")) {
16 0 if (keylen==4 && strEQ(key, "Warn")) {
2613 16 0 valuesv = boolSV(DBIc_WARN(imp_xxh));
2620 7044 37647 if (valuesv == Nullsv) {
2624 5 7039 if (svp)
2627 8 7031 if ( !( (*key=='H' && strEQ(key, "HandleError"))
0 8 if ( !( (*key=='H' && strEQ(key, "HandleError"))
2 4181 if ( !( (*key=='H' && strEQ(key, "HandleError"))
2628 0 7031 || (*key=='H' && strEQ(key, "HandleSetErr"))
0 0 || (*key=='H' && strEQ(key, "HandleSetErr"))
2629 0 7031 || (*key=='S' && strEQ(key, "Statement"))
0 0 || (*key=='S' && strEQ(key, "Statement"))
2630 66 6965 || (*key=='P' && strEQ(key, "ParamArrays"))
66 0 || (*key=='P' && strEQ(key, "ParamArrays"))
2631 66 6965 || (*key=='P' && strEQ(key, "ParamValues"))
10 56 || (*key=='P' && strEQ(key, "ParamValues"))
2632 10 6965 || (*key=='P' && strEQ(key, "Profile"))
0 10 || (*key=='P' && strEQ(key, "Profile"))
2633 2763 4202 || (*key=='R' && strEQ(key, "ReadOnly"))
0 2763 || (*key=='R' && strEQ(key, "ReadOnly"))
2634 13 4189 || (*key=='C' && strEQ(key, "CursorName"))
11 2 || (*key=='C' && strEQ(key, "CursorName"))
2635 11 4189 || (*key=='C' && strEQ(key, "Callbacks"))
0 11 || (*key=='C' && strEQ(key, "Callbacks"))
2636 6 4183 || (*key=='U' && strEQ(key, "Username"))
0 6 || (*key=='U' && strEQ(key, "Username"))
2642 2184 42507 if (cacheit) {
2645 34 44657 if (DBIc_TRACE_LEVEL(imp_xxh) >= 3)
2646 0 34 PerlIO_printf(DBIc_LOGPIO(imp_xxh)," .. FETCH %s %s = %s%s\n", neatsvpv(h,0),
2648 30658 14033 if (valuesv == &PL_sv_yes || valuesv == &PL_sv_no || valuesv == &PL_sv_undef)
21431 9227 if (valuesv == &PL_sv_yes || valuesv == &PL_sv_no || valuesv == &PL_sv_undef)
13792 7639 if (valuesv == &PL_sv_yes || valuesv == &PL_sv_no || valuesv == &PL_sv_undef)
2684 4251 329 for (i = startingblock; i >= 0; i--) {
2686 1123 3128 switch (CxTYPE(cx)) {
2714 304 1725 while (cxix < 0 && top_si->si_type != PERLSI_MAIN) {
122 182 while (cxix < 0 && top_si->si_type != PERLSI_MAIN) {
2719 182 1725 if (cxix < 0) {
2722 1725 0 if (PL_DBsub && cxix >= 0 && ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
1725 0 if (PL_DBsub && cxix >= 0 && ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
169 1556 if (PL_DBsub && cxix >= 0 && ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
2725 1556 0 stashname = CopSTASHPV(cx->blk_oldcop);
1556 0 stashname = CopSTASHPV(cx->blk_oldcop);
1556 0 stashname = CopSTASHPV(cx->blk_oldcop);
0 1556 stashname = CopSTASHPV(cx->blk_oldcop);
0 0 stashname = CopSTASHPV(cx->blk_oldcop);
1556 0 stashname = CopSTASHPV(cx->blk_oldcop);
0 1556 stashname = CopSTASHPV(cx->blk_oldcop);
2726 0 1556 if (!stashname)
2728 1428 128 if (!(stashname[0] == 'D' && stashname[1] == 'B'
1428 0 if (!(stashname[0] == 'D' && stashname[1] == 'B'
1312 116 if (!(stashname[0] == 'D' && stashname[1] == 'B'
2729 1428 0 && strchr("DI", stashname[2])
2730 1312 0 && (!stashname[3] || (stashname[3] == ':' && stashname[4] == ':'))))
0 1312 && (!stashname[3] || (stashname[3] == ':' && stashname[4] == ':'))))
2745 492 0 char *file = SvPV(GvSV(CopFILEGV(cop)), len);
2746 155 337 if (!show_path) {
2748 0 155 if ( (sep=strrchr(file,'/')) || (sep=strrchr(file,'\\')))
0 0 if ( (sep=strrchr(file,'/')) || (sep=strrchr(file,'\\')))
2751 481 11 if (show_line) {
2752 481 0 sv_catpvf(buf, "%s%s line %ld", (prefix) ? prefix : "", file, line);
2755 11 0 sv_catpvf(buf, "%s%s", (prefix) ? prefix : "", file);
2764 366 0 if (!buf)
2766 0 0 else if (!append)
2768 364 2 if (CopLINE(PL_curcop)) {
2771 310 54 if (show_caller && (cop = dbi_caller_cop())) {
128 182 if (show_caller && (cop = dbi_caller_cop())) {
2774 128 0 sv_catpvf(buf, " via %s", SvPV_nolen(via));
2777 3 363 if (PL_dirty)
2779 366 0 if (suffix)
2788 7203 25933 if (DBIc_TYPE(imp_xxh) <= DBIt_DB) {
2790 269 6934 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
260 9 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
260 0 if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
2792 0 260 if (HvKEYS(hv)) {
132 128 if (HvKEYS(hv)) {
2793 0 132 if (DBIc_TRACE_LEVEL(imp_xxh) > trace_level)
2795 0 132 if (trace_level >= 2) {
2796 0 0 PerlIO_printf(DBIc_LOGPIO(imp_xxh)," >> %s %s clearing %d CachedKids\n",
2840 44618 249 if (SvROK(node))
2842 249 44618 if (SvTYPE(node) != SVt_PVHV) {
2844 249 0 if (SvOK(node)) {
249 0 if (SvOK(node)) {
0 249 if (SvOK(node)) {
2884 60649 14 const int parent_call_depth = DBIc_PARENT_COM(imp_xxh) ? DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) : 0;
2886 17131 43532 if (call_depth > 1 || parent_call_depth > 0)
380 16751 if (call_depth > 1 || parent_call_depth > 0)
2889 1 16750 if (!DBIc_has(imp_xxh, DBIcf_Profile))
2893 15 16735 : isGV(method) ? GvNAME(method)
2894 16729 6 : SvOK(method) ? SvPV_nolen(method)
0 0 : SvOK(method) ? SvPV_nolen(method)
0 0 : SvOK(method) ? SvPV_nolen(method)
6 0 : SvOK(method) ? SvPV_nolen(method)
2895 0 6 : "";
2898 5 16745 if (PL_dirty && instr(method_pv, "DESTROY"))
4 1 if (PL_dirty && instr(method_pv, "DESTROY"))
2904 16746 0 if (profile && SvMAGICAL(profile))
0 16746 if (profile && SvMAGICAL(profile))
2906 16746 0 if (!profile || !SvROK(profile)) {
1 16745 if (!profile || !SvROK(profile)) {
2908 1 0 if (SvOK(profile) && !PL_dirty)
1 0 if (SvOK(profile) && !PL_dirty)
0 1 if (SvOK(profile) && !PL_dirty)
0 0 if (SvOK(profile) && !PL_dirty)
2915 16481 264 if (!SvOK(statement_sv)) {
16481 0 if (!SvOK(statement_sv)) {
16481 0 if (!SvOK(statement_sv)) {
2917 16481 0 statement_sv = (psv && SvOK(*psv)) ? *psv : &PL_sv_no;
54 16427 statement_sv = (psv && SvOK(*psv)) ? *psv : &PL_sv_no;
54 0 statement_sv = (psv && SvOK(*psv)) ? *psv : &PL_sv_no;
0 54 statement_sv = (psv && SvOK(*psv)) ? *psv : &PL_sv_no;
2919 16745 0 statement_pv = SvPV_nolen(statement_sv);
2921 0 16745 if (DBIc_TRACE_LEVEL(imp_xxh) >= 4)
2928 16745 0 if (SvROK(tmp) && SvTYPE(SvRV(tmp))==SVt_PVAV) {
16745 0 if (SvROK(tmp) && SvTYPE(SvRV(tmp))==SVt_PVAV) {
2933 28150 16680 while ( src_idx <= len ) {
2936 186 27964 if (SvROK(pathsv) && SvTYPE(SvRV(pathsv))==SVt_PVCV) {
164 22 if (SvROK(pathsv) && SvTYPE(SvRV(pathsv))==SVt_PVCV) {
2944 0 164 EXTEND(SP, 4);
2945 0 164 PUSHMARK(SP);
2955 201 99 for (item_idx=0; item_idx < items; ++item_idx) {
2957 65 136 if (SvROK(item_sv)) {
2958 65 0 if (!SvOK(SvRV(item_sv)))
65 0 if (!SvOK(SvRV(item_sv)))
65 0 if (!SvOK(SvRV(item_sv)))
2964 0 136 dest_node = _profile_next_node(dest_node, (SvOK(item_sv) ? SvPV_nolen(item_sv) : "undef"));
0 0 dest_node = _profile_next_node(dest_node, (SvOK(item_sv) ? SvPV_nolen(item_sv) : "undef"));
0 0 dest_node = _profile_next_node(dest_node, (SvOK(item_sv) ? SvPV_nolen(item_sv) : "undef"));
136 0 dest_node = _profile_next_node(dest_node, (SvOK(item_sv) ? SvPV_nolen(item_sv) : "undef"));
2967 65 99 if (items == -2) /* this profile data was vetoed */
2970 22 27964 else if (SvROK(pathsv)) {
2972 22 0 const char *p = SvPV_nolen(SvRV(pathsv));
2975 0 27964 else if (SvOK(pathsv)) {
0 0 else if (SvOK(pathsv)) {
0 0 else if (SvOK(pathsv)) {
2977 27964 0 const char *p = SvPV(pathsv,len);
2978 27794 170 if (p[0] == '!') { /* special cases */
2979 16537 11257 if (p[1] == 'S' && strEQ(p, "!Statement")) {
16537 0 if (p[1] == 'S' && strEQ(p, "!Statement")) {
2982 11227 30 else if (p[1] == 'M' && strEQ(p, "!MethodName")) {
11227 0 else if (p[1] == 'M' && strEQ(p, "!MethodName")) {
2985 0 30 else if (p[1] == 'M' && strEQ(p, "!MethodClass")) {
0 0 else if (p[1] == 'M' && strEQ(p, "!MethodClass")) {
2986 0 0 if (SvTYPE(method) == SVt_PVCV) {
2987 0 0 p = SvPV_nolen((SV*)CvGV(method));
2989 0 0 else if (isGV(method)) {
2998 0 0 p = SvPV_nolen(tmpsv);
2999 0 0 if (*p == '*') ++p; /* skip past leading '*' glob sigil */
3006 8 22 else if (p[1] == 'F' && strEQ(p, "!File")) {
4 4 else if (p[1] == 'F' && strEQ(p, "!File")) {
3009 4 22 else if (p[1] == 'F' && strEQ(p, "!File2")) {
4 0 else if (p[1] == 'F' && strEQ(p, "!File2")) {
3012 14 8 else if (p[1] == 'C' && strEQ(p, "!Caller")) {
4 10 else if (p[1] == 'C' && strEQ(p, "!Caller")) {
3015 10 8 else if (p[1] == 'C' && strEQ(p, "!Caller2")) {
10 0 else if (p[1] == 'C' && strEQ(p, "!Caller2")) {
3018 8 0 else if (p[1] == 'T' && (strEQ(p, "!Time") || strnEQ(p, "!Time~", 6))) {
4 4 else if (p[1] == 'T' && (strEQ(p, "!Time") || strnEQ(p, "!Time~", 6))) {
4 0 else if (p[1] == 'T' && (strEQ(p, "!Time") || strnEQ(p, "!Time~", 6))) {
3021 4 4 if (p[5] == '~') {
3023 0 4 if (factor == 0) /* sanity check to avoid div by zero error */
3034 22 148 else if (p[0] == '{' && p[len-1] == '}') { /* treat as name of dbh attribute to use */
22 0 else if (p[0] == '{' && p[len-1] == '}') { /* treat as name of dbh attribute to use */
3036 22 0 if (!dbh_inner_hv) { /* cache dbh handles the first time we need them */
3037 8 14 imp_dbh_t *imp_dbh = (DBIc_TYPE(imp_xxh) <= DBIt_DB) ? (imp_dbh_t*)imp_xxh : (imp_dbh_t*)DBIc_PARENT_COM(imp_xxh);
3039 0 22 if (SvTYPE(dbh_outer_hv) != SVt_PVHV)
3042 0 22 if (SvTYPE(dbh_inner_hv) != SVt_PVHV)
3048 6 16 if ((attr_svp = hv_fetch(dbh_inner_hv, p, len, 0)) == NULL) {
3051 6 0 if ((attr_svp = hv_fetch(dbh_outer_hv, p, len, 0))) {
3052 6 0 if (SvGMAGICAL(*attr_svp))
3056 0 22 if (!attr_svp)
3058 6 16 else if (!SvOK(*attr_svp))
6 0 else if (!SvOK(*attr_svp))
6 0 else if (!SvOK(*attr_svp))
3060 16 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 16 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 16 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
16 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
16 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 16 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 16 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
0 0 else if (!SvTRUE(*attr_svp) && SvPOK(*attr_svp) && SvNIOK(*attr_svp))
3063 16 0 p = SvPV_nolen(*attr_svp);
3078 410 16270 if (!SvOK(dest_node)) {
410 0 if (!SvOK(dest_node)) {
410 0 if (!SvOK(dest_node)) {
3091 16270 0 if (SvROK(tmp))
3093 0 16270 if (SvTYPE(tmp) != SVt_PVAV)
3099 16263 7 sv_setnv(tmp, SvNV(tmp) + ti);
3101 16263 7 if (ti < SvNV(tmp)) sv_setnv(tmp, ti);
617 15653 if (ti < SvNV(tmp)) sv_setnv(tmp, ti);
3103 16263 7 if (ti > SvNV(tmp)) sv_setnv(tmp, ti);
416 15854 if (ti > SvNV(tmp)) sv_setnv(tmp, ti);
3120 372 0 if (!SvROK(dest) || SvTYPE(SvRV(dest)) != SVt_PVAV)
0 372 if (!SvROK(dest) || SvTYPE(SvRV(dest)) != SVt_PVAV)
3124 46 326 if (av_len(d_av) < DBIprof_max_index) {
3127 322 46 for(idx=0; idx<=DBIprof_max_index; ++idx) {
3129 322 0 if (!SvOK(tmp) && idx != DBIprof_MIN_TIME && idx != DBIprof_FIRST_CALLED)
322 0 if (!SvOK(tmp) && idx != DBIprof_MIN_TIME && idx != DBIprof_FIRST_CALLED)
322 0 if (!SvOK(tmp) && idx != DBIprof_MIN_TIME && idx != DBIprof_FIRST_CALLED)
276 46 if (!SvOK(tmp) && idx != DBIprof_MIN_TIME && idx != DBIprof_FIRST_CALLED)
230 46 if (!SvOK(tmp) && idx != DBIprof_MIN_TIME && idx != DBIprof_FIRST_CALLED)
3134 0 372 if (!SvOK(increment))
0 0 if (!SvOK(increment))
0 0 if (!SvOK(increment))
3137 372 0 if (SvROK(increment) && SvTYPE(SvRV(increment)) == SVt_PVHV) {
2 370 if (SvROK(increment) && SvTYPE(SvRV(increment)) == SVt_PVHV) {
3142 4 2 while ( (tmp = hv_iternextsv(hv, &key, &keylen)) != NULL ) {
3148 370 0 if (!SvROK(increment) || SvTYPE(SvRV(increment)) != SVt_PVAV)
0 370 if (!SvROK(increment) || SvTYPE(SvRV(increment)) != SVt_PVAV)
3154 0 370 if (SvIOK(tmp) && SvIOK(tmp2))
0 0 if (SvIOK(tmp) && SvIOK(tmp2))
3155 0 0 sv_setiv( tmp, SvIV(tmp) + SvIV(tmp2) );
0 0 sv_setiv( tmp, SvIV(tmp) + SvIV(tmp2) );
3157 356 14 sv_setnv( tmp, SvNV(tmp) + SvNV(tmp2) );
19 351 sv_setnv( tmp, SvNV(tmp) + SvNV(tmp2) );
3160 356 14 sv_setnv( tmp, SvNV(tmp) + SvNV( *av_fetch(i_av, DBIprof_TOTAL_TIME, 1)) );
109 261 sv_setnv( tmp, SvNV(tmp) + SvNV( *av_fetch(i_av, DBIprof_TOTAL_TIME, 1)) );
3162 105 265 i_nv = SvNV(*av_fetch(i_av, DBIprof_MIN_TIME, 1));
3164 46 324 if (!SvOK(tmp) || i_nv < SvNV(tmp)) sv_setnv(tmp, i_nv);
46 0 if (!SvOK(tmp) || i_nv < SvNV(tmp)) sv_setnv(tmp, i_nv);
0 46 if (!SvOK(tmp) || i_nv < SvNV(tmp)) sv_setnv(tmp, i_nv);
310 14 if (!SvOK(tmp) || i_nv < SvNV(tmp)) sv_setnv(tmp, i_nv);
32 292 if (!SvOK(tmp) || i_nv < SvNV(tmp)) sv_setnv(tmp, i_nv);
3166 105 265 i_nv = SvNV(*av_fetch(i_av, DBIprof_MAX_TIME, 1));
3168 356 14 if (i_nv > SvNV(tmp)) sv_setnv(tmp, i_nv);
69 301 if (i_nv > SvNV(tmp)) sv_setnv(tmp, i_nv);
3170 76 294 i_nv = SvNV(*av_fetch(i_av, DBIprof_FIRST_CALLED, 1));
3172 46 324 i_is_earlier = (!SvOK(tmp) || i_nv < SvNV(tmp));
46 0 i_is_earlier = (!SvOK(tmp) || i_nv < SvNV(tmp));
0 46 i_is_earlier = (!SvOK(tmp) || i_nv < SvNV(tmp));
310 14 i_is_earlier = (!SvOK(tmp) || i_nv < SvNV(tmp));
31 293 i_is_earlier = (!SvOK(tmp) || i_nv < SvNV(tmp));
3173 77 293 if (i_is_earlier)
3176 98 272 i_nv = SvNV(*av_fetch(i_av, DBIprof_FIRST_TIME, 1));
3178 293 77 if (i_is_earlier || !SvOK(tmp)) {
0 293 if (i_is_earlier || !SvOK(tmp)) {
0 0 if (i_is_earlier || !SvOK(tmp)) {
0 0 if (i_is_earlier || !SvOK(tmp)) {
3184 83 287 i_nv = SvNV(*av_fetch(i_av, DBIprof_LAST_CALLED, 1));
3186 356 14 if (i_nv > SvNV(tmp)) sv_setnv(tmp, i_nv);
253 117 if (i_nv > SvNV(tmp)) sv_setnv(tmp, i_nv);
3208 491491 120361 int gimme = GIMME;
14149 477342 int gimme = GIMME;
3246 116 611736 if (trace_level >= 9) {
3248 116 0 PerlIO_printf(logfp,"%c >> %-11s DISPATCH (%s rc%ld/%ld @%ld g%x ima%lx pid#%ld)",
0 116 PerlIO_printf(logfp,"%c >> %-11s DISPATCH (%s rc%ld/%ld @%ld g%x ima%lx pid#%ld)",
3256 59123 552729 if ( ( (is_DESTROY=(meth_type == methtype_DESTROY))) ) {
3267 611846 6 if (SvROK(h)
3268 611846 0 && SvRMAGICAL(SvRV(h))
3269 455725 156121 && (
3271 0 455725 || ((mg=mg_find(SvRV(h),'P')) != NULL)
3274 156121 0 if (mg->mg_obj==NULL || !SvOK(mg->mg_obj) || SvRV(mg->mg_obj)==NULL) { /* maybe global destruction */
54 156067 if (mg->mg_obj==NULL || !SvOK(mg->mg_obj) || SvRV(mg->mg_obj)==NULL) { /* maybe global destruction */
54 0 if (mg->mg_obj==NULL || !SvOK(mg->mg_obj) || SvRV(mg->mg_obj)==NULL) { /* maybe global destruction */
0 54 if (mg->mg_obj==NULL || !SvOK(mg->mg_obj) || SvRV(mg->mg_obj)==NULL) { /* maybe global destruction */
0 156067 if (mg->mg_obj==NULL || !SvOK(mg->mg_obj) || SvRV(mg->mg_obj)==NULL) { /* maybe global destruction */
3275 0 54 if (trace_level >= 3)
3276 0 0 PerlIO_printf(DBILOGFP,
3284 29505 126562 if (is_DESTROY) {
3291 29504 1 if (imp_xxh && DBIc_TYPE(imp_xxh) <= DBIt_DB)
3573 25931 if (imp_xxh && DBIc_TYPE(imp_xxh) <= DBIt_DB)
3299 4 29501 if (trace_level >= 3) {
3300 0 4 PerlIO_printf(DBILOGFP,
3312 29504 1 if (imp_xxh)
3322 11 582282 if (!imp_xxh) {
3323 6 5 if (meth_type == methtype_can) { /* ref($h)->can("foo") */
3324 6 0 const char *can_meth = SvPV_nolen(st1);
3327 4 2 if (gv && isGV(gv))
4 0 if (gv && isGV(gv))
3329 0 6 if (trace_level >= 1) {
3335 0 5 if (trace_level)
3336 0 0 PerlIO_printf(DBILOGFP, "%c <> %s for %s ignored (no imp_data)\n",
3338 4 1 if (!is_DESTROY)
3339 4 0 warn("Can't call %s method on handle %s%s", meth_name, neatsvpv(h,0),
3344 60806 521476 if (DBIc_has(imp_xxh,DBIcf_Profile)) {
3372 582282 0 if ((i = DBIc_DEBUGIV(imp_xxh))) { /* merge handle into global */
373 581909 if ((i = DBIc_DEBUGIV(imp_xxh))) { /* merge handle into global */
3374 44 329 if ( h_trace_level > trace_level )
3382 356152 226130 if (ima_flags) {
3384 289748 66404 if (ima_flags & (IMA_STUB|IMA_FUNC_REDIRECT|IMA_KEEP_ERR|IMA_KEEP_ERR_SUB|IMA_CLEAR_STMT)) {
3386 106 289642 if (ima_flags & IMA_STUB) {
3387 106 0 if (meth_type == methtype_can) {
3388 106 0 const char *can_meth = SvPV_nolen(st1);
3391 2 104 if ( (imp_msv = (SV*)gv_fetchmethod_autoload(DBIc_IMP_STASH(imp_xxh), can_meth, FALSE)) ) {
3395 2 0 if (gv && isGV(gv))
2 0 if (gv && isGV(gv))
3398 4 102 if (trace_level >= 1) {
3400 0 4 PerlIO_printf(logfp," <- %s(%s) = %p (%s %p)\n", meth_name, can_meth, (void*)dbi_msv,
3401 0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
0 0 (imp_msv && isGV(imp_msv)) ? HvNAME(GvSTASH(imp_msv)) : "?", (void*)imp_msv);
3403 2 104 ST(0) = (dbi_msv) ? sv_2mortal(newRV_inc(dbi_msv)) : &PL_sv_undef;
3408 7066 282576 if (ima_flags & IMA_FUNC_REDIRECT) {
3413 7066 0 if (!SvPOK(meth_name_sv) || SvNIOK(meth_name_sv))
0 7066 if (!SvPOK(meth_name_sv) || SvNIOK(meth_name_sv))
3416 7066 0 meth_name = SvPV_nolen(meth_name_sv);
3420 257216 32426 if (ima_flags & IMA_KEEP_ERR)
3422 93658 195984 if ((ima_flags & IMA_KEEP_ERR_SUB)
3423 93174 484 && !PL_dirty
3424 92934 240 && DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) > 0)
32223 60711 && DBIc_PARENT_COM(imp_xxh) && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh)) > 0)
3426 32426 257216 if (ima_flags & IMA_CLEAR_STMT) {
3430 29563 260079 if (ima_flags & IMA_CLEAR_CACHED_KIDS)
3435 114255 241791 if (ima_flags & IMA_HAS_USAGE) {
3439 114255 0 if (ima->minargs && (items < ima->minargs
114255 0 if (ima->minargs && (items < ima->minargs
3440 93583 20672 || (ima->maxargs>0 && items > ima->maxargs))) {
2 93581 || (ima->maxargs>0 && items > ima->maxargs))) {
3447 2 114253 if (err) {
3448 2 0 croak("%sUsage: %s->%s(%s)", err, "$h", meth_name,
3454 213221 368953 is_unrelated_to_Statement = ( (DBIc_TYPE(imp_xxh) == DBIt_ST) ? 0
201808 11413 is_unrelated_to_Statement = ( (DBIc_TYPE(imp_xxh) == DBIt_ST) ? 0
3458 88 582086 if (PL_tainting && items > 1 /* method call has args */
71 17 if (PL_tainting && items > 1 /* method call has args */
3459 34 37 && DBIc_is(imp_xxh, DBIcf_TaintIn) /* taint checks requested */
3460 19 15 && !(ima_flags & IMA_NO_TAINT_IN)
3462 22 17 for(i=1; i < items; ++i) {
3463 2 20 if (SvTAINTED(ST(i))) {
2 0 if (SvTAINTED(ST(i))) {
3465 0 2 sprintf(buf,"parameter %d of %s->%s method call",
3468 2 0 TAINT_PROPER(buf); /* die's */
3474 29563 552609 if (is_DESTROY) {
3477 3052 26511 if ((tmp_svp = hv_fetch((HV*)SvRV(h), "ChildHandles", 12, FALSE)) && SvROK(*tmp_svp)) {
3052 0 if ((tmp_svp = hv_fetch((HV*)SvRV(h), "ChildHandles", 12, FALSE)) && SvROK(*tmp_svp)) {
3482 0 3052 for (kidslots = AvFILL(av); kidslots >= 0; --kidslots) {
3052 0 for (kidslots = AvFILL(av); kidslots >= 0; --kidslots) {
3484 3052 0 if (!hp || !SvROK(*hp) || SvTYPE(SvRV(*hp))!=SVt_PVHV)
0 3052 if (!hp || !SvROK(*hp) || SvTYPE(SvRV(*hp))!=SVt_PVHV)
0 0 if (!hp || !SvROK(*hp) || SvTYPE(SvRV(*hp))!=SVt_PVHV)
3487 0 0 if (trace_level >= 1) {
3490 0 0 if (trace_level >= 9)
3493 0 0 if (sv_isobject(*hp)) { /* call DESTROY on the handle */
3494 0 0 PUSHMARK(SP);
3495 0 0 XPUSHs(*hp);
3502 0 0 if (imp_xxh && DBIc_COMSET(imp_xxh)) {
0 0 if (imp_xxh && DBIc_COMSET(imp_xxh)) {
3510 3630 25933 if (DBIc_TYPE(imp_xxh) <= DBIt_DB ) { /* is dbh or drh */
3513 3583 47 if (SvOK(DBIc_ERR(imp_xxh)) && (parent_imp = DBIc_PARENT_COM(imp_xxh))
3583 0 if (SvOK(DBIc_ERR(imp_xxh)) && (parent_imp = DBIc_PARENT_COM(imp_xxh))
0 3583 if (SvOK(DBIc_ERR(imp_xxh)) && (parent_imp = DBIc_PARENT_COM(imp_xxh))
47 0 if (SvOK(DBIc_ERR(imp_xxh)) && (parent_imp = DBIc_PARENT_COM(imp_xxh))
3514 37 10 && !PL_dirty /* XXX - remove? */
3523 10 29553 if (DBIc_AIADESTROY(imp_xxh)) { /* wants ineffective destroy after fork */
3524 4 6 if ((U32)PerlProc_getpid() != _imp2com(imp_xxh, std.pid))
3527 8 29555 if (DBIc_IADESTROY(imp_xxh)) { /* wants ineffective destroy */
3528 6 2 DBIc_ACTIVE_off(imp_xxh);
6 0 DBIc_ACTIVE_off(imp_xxh);
6 0 DBIc_ACTIVE_off(imp_xxh);
6 0 DBIc_ACTIVE_off(imp_xxh);
0 6 DBIc_ACTIVE_off(imp_xxh);
3538 7997 544612 if (ima_flags & IMA_COPY_UP_STMT) { /* execute() */
3543 233095 319514 || (!PL_dirty /* not in global destruction [CPAN #75614] */
47184 185911 || (!PL_dirty /* not in global destruction [CPAN #75614] */
3544 221694 10897 && DBIc_PARENT_COM(imp_xxh)
3545 232591 504 && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh))) >= 1);
47184 174510 && DBIc_CALL_DEPTH(DBIc_PARENT_COM(imp_xxh))) >= 1);
3552 324956 257216 if (!keep_error && meth_type != methtype_set_err) {
315591 9365 if (!keep_error && meth_type != methtype_set_err) {
3554 25 315566 if (trace_level && SvOK(err_sv=DBIc_ERR(imp_xxh))) {
25 0 if (trace_level && SvOK(err_sv=DBIc_ERR(imp_xxh))) {
25 0 if (trace_level && SvOK(err_sv=DBIc_ERR(imp_xxh))) {
0 25 if (trace_level && SvOK(err_sv=DBIc_ERR(imp_xxh))) {
3556 0 0 PerlIO_printf(logfp, " !! The %s '%s' was CLEARED by call to %s method\n",
0 0 PerlIO_printf(logfp, " !! The %s '%s' was CLEARED by call to %s method\n",
0 0 PerlIO_printf(logfp, " !! The %s '%s' was CLEARED by call to %s method\n",
0 0 PerlIO_printf(logfp, " !! The %s '%s' was CLEARED by call to %s method\n",
0 0 PerlIO_printf(logfp, " !! The %s '%s' was CLEARED by call to %s method\n",
3557 0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
0 0 SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv)) ? "warn" : "info",
3560 0 315591 DBIh_CLEAR_ERROR(imp_xxh);
0 315591 DBIh_CLEAR_ERROR(imp_xxh);
0 315591 DBIh_CLEAR_ERROR(imp_xxh);
3564 257216 9365 if (keep_error)
3568 64512 517660 if (DBIc_has(imp_xxh,DBIcf_Callbacks)
3569 64512 0 && (tmp_svp = hv_fetch((HV*)SvRV(h), "Callbacks", 9, 0))
3570 61582 2930 && ( (hook_svp = hv_fetch((HV*)SvRV(*tmp_svp), meth_name, strlen(meth_name), 0))
3577 43840 17742 || (!is_nested_call && !PL_dirty && meth_type != methtype_set_err &&
43815 25 || (!is_nested_call && !PL_dirty && meth_type != methtype_set_err &&
40915 2900 || (!is_nested_call && !PL_dirty && meth_type != methtype_set_err &&
40905 10 || (!is_nested_call && !PL_dirty && meth_type != methtype_set_err &&
3578 10 40895 meth_type != methtype_DESTROY &&
3582 2940 0 && SvROK(*hook_svp)
3588 0 2940 if (trace_level)
3589 0 0 PerlIO_printf(DBILOGFP, "%c {{ %s callback %s being invoked with %ld args\n",
3600 2940 0 orig_defsv = DEFSV; /* remember the current $_ */
3608 2940 0 EXTEND(SP, items+1);
2 2938 EXTEND(SP, items+1);
3609 0 2940 PUSHMARK(SP);
3611 11822 2940 for (i=1; i < items; ++i) { /* start at 1 to skip handle */
3619 2938 0 skip_dispatch = !SvOK(DEFSV);
1501 1437 skip_dispatch = !SvOK(DEFSV);
1501 0 skip_dispatch = !SvOK(DEFSV);
1501 0 skip_dispatch = !SvOK(DEFSV);
1501 0 skip_dispatch = !SvOK(DEFSV);
1501 0 skip_dispatch = !SvOK(DEFSV);
3625 0 2938 if (trace_level)
3626 0 0 PerlIO_printf(DBILOGFP, "%c }} %s callback %s returned%s\n",
0 0 PerlIO_printf(DBILOGFP, "%c }} %s callback %s returned%s\n",
3630 1501 1437 if (skip_dispatch) { /* XXX experimental */
3633 1499 1501 while (ix-- > 0) {
3641 2 1435 if (outitems != 0)
3649 12756 567911 if (ima_flags & IMA_EXECUTE) {
3652 12756 0 if (parent)
3658 97625 483042 if (meth_type == methtype_FETCH && !DBIc_COMPAT(imp_xxh)) {
97551 74 if (meth_type == methtype_FETCH && !DBIc_COMPAT(imp_xxh)) {
3660 97551 0 const char *key = SvPV(st1, kl);
3662 97551 0 if (*key != '_' && (attr_svp=hv_fetch((HV*)SvRV(h), key, kl, 0))) {
48980 48571 if (*key != '_' && (attr_svp=hv_fetch((HV*)SvRV(h), key, kl, 0))) {
3665 29767 19213 if (SvROK(qsv) && SvTYPE(SvRV(qsv))==SVt_PVHV && *key=='D' &&
10350 19417 if (SvROK(qsv) && SvTYPE(SvRV(qsv))==SVt_PVHV && *key=='D' &&
2529 7821 if (SvROK(qsv) && SvTYPE(SvRV(qsv))==SVt_PVHV && *key=='D' &&
2511 18 if (SvROK(qsv) && SvTYPE(SvRV(qsv))==SVt_PVHV && *key=='D' &&
3666 2511 0 ( (kl==6 && DBIc_TYPE(imp_xxh)==DBIt_DB && strEQ(key,"Driver"))
0 2511 ( (kl==6 && DBIc_TYPE(imp_xxh)==DBIt_DB && strEQ(key,"Driver"))
3667 18 0 || (kl==8 && DBIc_TYPE(imp_xxh)==DBIt_ST && strEQ(key,"Database")) )
18 0 || (kl==8 && DBIc_TYPE(imp_xxh)==DBIt_ST && strEQ(key,"Database")) )
18 0 || (kl==8 && DBIc_TYPE(imp_xxh)==DBIt_ST && strEQ(key,"Database")) )
3672 263 48717 if (*key == 'P' && strEQ(key, "Profile"))
157 106 if (*key == 'P' && strEQ(key, "Profile"))
3675 46451 51100 if (qsv) { /* skip real method call if we already have a 'quick' value */
3690 1035 533181 if (trace_flags) {
3693 1035 0 if (ima) {
3695 24 1011 if ((trace_flags & DBIc_TRACE_FLAGS_MASK) & (ima->method_trace & DBIc_TRACE_FLAGS_MASK))
3698 174 837 if (trace_level < (DBIc_TRACE_LEVEL_MASK & ima->method_trace))
3703 527150 7066 if (is_orig_method_name
3704 455242 71908 && ima->stash == DBIc_IMP_STASH(imp_xxh)
3705 455200 42 && ima->generation == PL_sub_generation +
3706 455242 0 MY_cache_gen(DBIc_IMP_STASH(imp_xxh))
3712 71950 7066 if (is_orig_method_name) {
3716 128 71822 if (!imp_msv) {
3724 71822 0 MY_cache_gen(DBIc_IMP_STASH(imp_xxh));
3730 131 534085 if (!imp_msv && (ima_flags & IMA_FUNC_REDIRECT)) {
3 128 if (!imp_msv && (ima_flags & IMA_FUNC_REDIRECT)) {
3732 3 0 if (imp_msv) {
3742 332254 201962 if (trace_level >= (is_nested_call ? 4 : 2)) {
167 534049 if (trace_level >= (is_nested_call ? 4 : 2)) {
3745 167 0 const char *imp_meth_name = (imp_msv && isGV(imp_msv)) ? GvNAME(imp_msv) : meth_name;
167 0 const char *imp_meth_name = (imp_msv && isGV(imp_msv)) ? GvNAME(imp_msv) : meth_name;
3747 37 130 PerlIO_printf(logfp, "%c -> %s ",
3748 0 130 call_depth>1 ? '0'+call_depth-1 : (PL_dirty?'!':' '), imp_meth_name);
3749 0 167 if (imp_meth_name[0] == 'A' && strEQ(imp_meth_name,"AUTOLOAD"))
0 0 if (imp_meth_name[0] == 'A' && strEQ(imp_meth_name,"AUTOLOAD"))
3751 167 0 if (imp_msv && isGV(imp_msv) && GvSTASH(imp_msv) != imp_stash)
167 0 if (imp_msv && isGV(imp_msv) && GvSTASH(imp_msv) != imp_stash)
24 143 if (imp_msv && isGV(imp_msv) && GvSTASH(imp_msv) != imp_stash)
3752 24 0 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
24 0 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
0 24 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
0 0 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
24 0 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
0 24 PerlIO_printf(logfp, "in %s ", HvNAME(GvSTASH(imp_msv)));
3753 0 167 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
167 0 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
167 0 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
0 167 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
0 0 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
167 0 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
0 167 PerlIO_printf(logfp, "for %s (%s", HvNAME(imp_stash),
3755 57 110 if (h != orig_h) /* show inner handle to aid tracing */
3758 307 167 for(i=1; i
3759 307 0 PerlIO_printf(logfp," %s",
3760 289 18 (ima && i==ima->hidearg) ? "****" : neatsvpv(ST(i),0));
3770 534088 128 if (!imp_msv || ! ((meth_cv = GvCV(imp_msv))) ) {
0 534088 if (!imp_msv || ! ((meth_cv = GvCV(imp_msv))) ) {
3771 128 0 if (PL_dirty || is_DESTROY) {
0 128 if (PL_dirty || is_DESTROY) {
3775 124 4 if (ima_flags & IMA_NOT_FOUND_OKAY) {
3779 4 0 croak("Can't locate DBI object method \"%s\" via package \"%s\"",
0 4 croak("Can't locate DBI object method \"%s\" via package \"%s\"",
3780 4 0 meth_name, HvNAME(DBIc_IMP_STASH(imp_xxh)));
0 0 meth_name, HvNAME(DBIc_IMP_STASH(imp_xxh)));
4 0 meth_name, HvNAME(DBIc_IMP_STASH(imp_xxh)));
0 4 meth_name, HvNAME(DBIc_IMP_STASH(imp_xxh)));
3783 0 534088 PUSHMARK(mark); /* mark arguments again so we can pass them on */
3791 534088 0 if (use_xsbypass && CvISXSUB(meth_cv) && CvXSUB(meth_cv)) {
165600 368488 if (use_xsbypass && CvISXSUB(meth_cv) && CvXSUB(meth_cv)) {
165600 0 if (use_xsbypass && CvISXSUB(meth_cv) && CvXSUB(meth_cv)) {
3799 164082 1512 if (gimme == G_SCALAR) { /* Enforce sanity in scalar context */
3800 25322 138760 if (ax != PL_stack_sp - PL_stack_base ) { /* outitems != 1 */
3804 0 25322 : *PL_stack_sp; /* outitems > 1 */
3816 3702 364786 outitems = call_sv((SV*)meth_cv,
3830 29559 552573 if (is_DESTROY && DBI_IS_LAST_HANDLE(h)) { /* if destroying _this_ handle */
26629 2930 if (is_DESTROY && DBI_IS_LAST_HANDLE(h)) { /* if destroying _this_ handle */
3832 26629 0 if (lhp && SvROK(lhp)) {
26346 283 if (lhp && SvROK(lhp)) {
3840 257212 324920 if (keep_error) {
3844 255737 1475 if (DBIc_ErrCount(imp_xxh) > ErrCount || err_hash(aTHX_ imp_xxh) != keep_error) {
10 255727 if (DBIc_ErrCount(imp_xxh) > ErrCount || err_hash(aTHX_ imp_xxh) != keep_error) {
3851 366695 215437 if (trace_level >= (is_nested_call ? 3 : 1)) {
222 581910 if (trace_level >= (is_nested_call ? 3 : 1)) {
3853 0 222 const int is_fetch = (meth_type == methtype_fetch_star && DBIc_TYPE(imp_xxh)==DBIt_ST);
0 0 const int is_fetch = (meth_type == methtype_fetch_star && DBIc_TYPE(imp_xxh)==DBIt_ST);
3854 0 222 const IV row_count = (is_fetch) ? DBIc_ROW_COUNT((imp_sth_t*)imp_xxh) : 0;
3855 0 222 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
0 0 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
0 0 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
0 0 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
0 0 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
0 0 if (is_fetch && row_count>=2 && trace_level<=4 && SvOK(ST(0))) {
3859 222 0 if (SvOK(err_sv)) {
222 0 if (SvOK(err_sv)) {
0 222 if (SvOK(err_sv)) {
3860 0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
0 0 PerlIO_printf(logfp, " %s %s %s %s (err#%ld)\n", (keep_error) ? " " : "!!",
3861 0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
0 0 SvTRUE(err_sv) ? "ERROR:" : strlen(SvPV_nolen(err_sv)) ? "warn:" : "info:",
3864 11 211 PerlIO_printf(logfp,"%c%c <%c %s",
0 222 PerlIO_printf(logfp,"%c%c <%c %s",
50 172 PerlIO_printf(logfp,"%c%c <%c %s",
3865 3 169 (call_depth > 1) ? '0'+call_depth-1 : (PL_dirty?'!':' '),
3869 32 190 if (trace_level==1 && (items>=2||is_DESTROY)) { /* make level 1 more useful */
7 25 if (trace_level==1 && (items>=2||is_DESTROY)) { /* make level 1 more useful */
3 4 if (trace_level==1 && (items>=2||is_DESTROY)) { /* make level 1 more useful */
3871 3 25 if (is_DESTROY) /* show handle as first arg to DESTROY */
3874 3 0 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
3 0 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
0 3 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
0 0 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
3 0 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
0 3 PerlIO_printf(logfp,"(%s=HASH(0x%p)", HvNAME(SvSTASH(SvRV(orig_h))), (void*)DBIc_MY_H(imp_xxh));
3877 20 8 if (items >= 3)
3879 3 25 PerlIO_printf(logfp,"%s)", (items > 3) ? ", ..." : "");
3882 222 0 if (gimme & G_ARRAY)
3885 256 222 for(i=0; i < outitems; ++i) {
3887 15 241 if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVAV) {
0 15 if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVAV) {
3890 0 0 int avi_last = SvIV(DBIS->neatsvpvlen) / 10;
3891 0 0 if (avi_last < 39)
3894 0 0 for (avi=0; avi <= AvFILL(av); ++avi) {
0 0 for (avi=0; avi <= AvFILL(av); ++avi) {
3896 0 0 if (avi >= avi_last && AvFILL(av) - avi > 1) {
0 0 if (avi >= avi_last && AvFILL(av) - avi > 1) {
0 0 if (avi >= avi_last && AvFILL(av) - avi > 1) {
3897 0 0 PerlIO_printf(logfp, " ... %ld others skipped", AvFILL(av) - avi);
3905 15 241 if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVHV && !SvOBJECT(SvRV(s)) )
15 0 if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVHV && !SvOBJECT(SvRV(s)) )
5 10 if ( SvROK(s) && SvTYPE(SvRV(s))==SVt_PVHV && !SvOBJECT(SvRV(s)) )
3906 0 5 PerlIO_printf(logfp, "%ldkeys", (long)HvKEYS(SvRV(s)));
3909 222 0 if (gimme & G_ARRAY) {
3912 0 222 if (is_fetch && row_count) {
0 0 if (is_fetch && row_count) {
3915 11 211 if (qsv) /* flag as quick and peek at the first arg (still on the stack) */
3917 0 211 else if (!imp_msv)
3926 4 582128 if (ima_flags & IMA_END_WORK) { /* commit() or rollback() */
3930 2 2 if (DBIc_has(imp_xxh, DBIcf_BegunWork)) {
3932 2 0 if (!DBIc_has(imp_xxh, DBIcf_AutoCommit)) {
3938 0 2 PUSHMARK(SP);
3939 0 2 XPUSHs(h);
3940 0 2 XPUSHs(sv_2mortal(newSVpv("AutoCommit",0)));
3941 0 2 XPUSHs(&PL_sv_yes);
3994 32519 549613 if (ima_flags & IMA_IS_FACTORY && SvROK(ST(0))) {
32414 105 if (ima_flags & IMA_IS_FACTORY && SvROK(ST(0))) {
3997 32414 0 if (SvOK(DBIc_ERR(imp_xxh_new))) {
32414 0 if (SvOK(DBIc_ERR(imp_xxh_new))) {
0 32414 if (SvOK(DBIc_ERR(imp_xxh_new))) {
4002 326405 255727 if ( !keep_error /* is a new err/warn/info */
0 84168 if ( !keep_error /* is a new err/warn/info */
80853 3315 if ( !keep_error /* is a new err/warn/info */
59 3256 if ( !keep_error /* is a new err/warn/info */
3256 0 if ( !keep_error /* is a new err/warn/info */
4003 84168 242237 && !is_nested_call /* skip nested (internal) calls */
4004 84168 0 && (
4006 0 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
80853 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
0 80853 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
59 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
44 15 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
39 5 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
30 9 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
45 14 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
3256 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
0 3256 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
0 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
0 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
3256 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
0 0 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
128 3173 (SvTRUE(err_sv) && DBIc_has(imp_xxh, DBIcf_RaiseError|DBIcf_PrintError|DBIcf_HandleError))
4008 80853 142 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
80853 0 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
0 80853 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
41 101 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
137 5 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
137 0 || ( SvOK(err_sv) && strlen(SvPV_nolen(err_sv)) && DBIc_has(imp_xxh, DBIcf_PrintWarn))
4013 3310 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 3310 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 3310 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
155 3155 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
155 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
63 92 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
63 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
9 54 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
9 146 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
3155 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
3155 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 3155 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 3155 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
0 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
9 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
9 0 const int is_warning = (!SvTRUE(err_sv) && strlen(SvPV_nolen(err_sv))==1);
4017 56 3254 if (meth_type == methtype_set_err) {
4019 48 8 if (SvOK(*sem_svp))
48 0 if (SvOK(*sem_svp))
0 48 if (SvOK(*sem_svp))
4020 8 0 err_meth_name = SvPV_nolen(*sem_svp);
4024 3310 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
0 3310 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
0 3310 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
155 3155 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
3155 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
3310 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
3310 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
0 3310 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
0 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
3310 0 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
0 3310 sprintf(intro,"%s %s %s: ", HvNAME(DBIc_IMP_STASH(imp_xxh)), err_meth_name,
4025 0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
155 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
63 92 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
63 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
9 54 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
9 146 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
3155 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 3155 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 3155 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
0 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
9 0 SvTRUE(err_sv) ? "failed" : is_warning ? "warning" : "information");
4027 0 3310 if (SvOK(DBIc_ERRSTR(imp_xxh)))
0 0 if (SvOK(DBIc_ERRSTR(imp_xxh)))
0 0 if (SvOK(DBIc_ERRSTR(imp_xxh)))
4033 160 3150 if ( DBIc_has(imp_xxh, DBIcf_ShowErrorStatement)
4034 152 8 && !is_unrelated_to_Statement
4035 56 96 && (DBIc_TYPE(imp_xxh) == DBIt_ST || ima_flags & IMA_SHOW_ERR_STMT)
56 0 && (DBIc_TYPE(imp_xxh) == DBIt_ST || ima_flags & IMA_SHOW_ERR_STMT)
4036 152 0 && (statement_svp = hv_fetch((HV*)SvRV(h), "Statement", 9, 0))
4037 152 0 && statement_svp && SvOK(*statement_svp)
0 152 && statement_svp && SvOK(*statement_svp)
0 0 && statement_svp && SvOK(*statement_svp)
0 0 && statement_svp && SvOK(*statement_svp)
4045 144 8 if (!(ima_flags & IMA_HIDE_ERR_PARAMVALUES)) {
4047 144 0 if (svp && SvMAGICAL(*svp))
144 0 if (svp && SvMAGICAL(*svp))
4050 144 8 if (svp && SvRV(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV && HvKEYS(SvRV(*svp))>0 ) {
8 136 if (svp && SvRV(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV && HvKEYS(SvRV(*svp))>0 ) {
8 0 if (svp && SvRV(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV && HvKEYS(SvRV(*svp))>0 ) {
0 8 if (svp && SvRV(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV && HvKEYS(SvRV(*svp))>0 ) {
8 0 if (svp && SvRV(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV && HvKEYS(SvRV(*svp))>0 ) {
4069 3310 0 if ( SvTRUE(err_sv)
0 3310 if ( SvTRUE(err_sv)
0 3310 if ( SvTRUE(err_sv)
0 0 if ( SvTRUE(err_sv)
0 0 if ( SvTRUE(err_sv)
155 3155 if ( SvTRUE(err_sv)
155 0 if ( SvTRUE(err_sv)
63 92 if ( SvTRUE(err_sv)
63 0 if ( SvTRUE(err_sv)
54 9 if ( SvTRUE(err_sv)
3155 0 if ( SvTRUE(err_sv)
3155 0 if ( SvTRUE(err_sv)
0 3155 if ( SvTRUE(err_sv)
0 0 if ( SvTRUE(err_sv)
0 0 if ( SvTRUE(err_sv)
3301 9 if ( SvTRUE(err_sv)
4070 8 3293 && DBIc_has(imp_xxh, DBIcf_HandleError)
4071 8 0 && (hook_svp = hv_fetch((HV*)SvRV(h),"HandleError",11,0))
4072 8 0 && hook_svp && SvOK(*hook_svp)
0 8 && hook_svp && SvOK(*hook_svp)
0 0 && hook_svp && SvOK(*hook_svp)
0 0 && hook_svp && SvOK(*hook_svp)
4079 8 0 if (outitems) {
4081 0 8 if (SvREADONLY(result)) {
4088 0 8 if (trace_level)
4089 0 0 PerlIO_printf(logfp," -> HandleError on %s via %s%s%s%s\n",
0 0 PerlIO_printf(logfp," -> HandleError on %s via %s%s%s%s\n",
0 0 PerlIO_printf(logfp," -> HandleError on %s via %s%s%s%s\n",
4095 0 8 PUSHMARK(SP);
4096 0 8 XPUSHs(msg);
4097 0 8 XPUSHs(sv_2mortal(newRV_inc((SV*)DBIc_MY_H(imp_xxh))));
4098 0 8 XPUSHs( result );
4102 6 0 status = (items) ? POPs : &PL_sv_undef;
4104 0 6 if (trace_level)
4105 0 0 PerlIO_printf(logfp," <- HandleError= %s%s%s%s\n",
0 0 PerlIO_printf(logfp," <- HandleError= %s%s%s%s\n",
0 0 PerlIO_printf(logfp," <- HandleError= %s%s%s%s\n",
4111 6 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 6 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 6 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 6 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
6 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
6 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
2 4 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 2 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
2 4 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
0 0 if (!SvTRUE(status)) /* handler says it didn't handle it, so... */
4115 0 3308 if (profile_t1) { /* see also dbi_profile() call a few lines below */
4116 0 0 SV *statement_sv = (is_unrelated_to_Statement) ? &PL_sv_no : &PL_sv_undef;
4117 0 0 dbi_profile(h, imp_xxh, statement_sv, imp_msv ? imp_msv : (SV*)cv,
4120 9 3299 if (is_warning) {
4121 9 0 if (DBIc_has(imp_xxh, DBIcf_PrintWarn))
4124 3295 4 else if (!hook_svp && SvTRUE(err_sv)) {
3295 0 else if (!hook_svp && SvTRUE(err_sv)) {
0 3295 else if (!hook_svp && SvTRUE(err_sv)) {
0 3295 else if (!hook_svp && SvTRUE(err_sv)) {
0 0 else if (!hook_svp && SvTRUE(err_sv)) {
0 0 else if (!hook_svp && SvTRUE(err_sv)) {
146 3149 else if (!hook_svp && SvTRUE(err_sv)) {
146 0 else if (!hook_svp && SvTRUE(err_sv)) {
54 92 else if (!hook_svp && SvTRUE(err_sv)) {
54 0 else if (!hook_svp && SvTRUE(err_sv)) {
54 0 else if (!hook_svp && SvTRUE(err_sv)) {
3149 0 else if (!hook_svp && SvTRUE(err_sv)) {
3149 0 else if (!hook_svp && SvTRUE(err_sv)) {
0 3149 else if (!hook_svp && SvTRUE(err_sv)) {
0 0 else if (!hook_svp && SvTRUE(err_sv)) {
0 0 else if (!hook_svp && SvTRUE(err_sv)) {
3295 0 else if (!hook_svp && SvTRUE(err_sv)) {
4125 26 3269 if (DBIc_has(imp_xxh, DBIcf_PrintError))
4127 3141 154 if (DBIc_has(imp_xxh, DBIcf_RaiseError))
4131 60649 518173 else if (profile_t1) { /* see also dbi_profile() call a few lines above */
4132 394 60255 SV *statement_sv = (is_unrelated_to_Statement) ? &PL_sv_no : &PL_sv_undef;
4133 51809 8840 dbi_profile(h, imp_xxh, statement_sv, imp_msv ? imp_msv : (SV*)cv,
4224 636 48 while( *src )
4226 0 636 if (*src == '%' && PS_return(DBIpp_ph_sp))
0 0 if (*src == '%' && PS_return(DBIpp_ph_sp))
4229 116 520 if (in_comment)
4231 20 96 if ( (in_comment == '-' && (*src == '\n' || *(src+1) == '\0'))
12 8 if ( (in_comment == '-' && (*src == '\n' || *(src+1) == '\0'))
12 0 if ( (in_comment == '-' && (*src == '\n' || *(src+1) == '\0'))
4232 12 96 || (in_comment == '#' && (*src == '\n' || *(src+1) == '\0'))
6 6 || (in_comment == '#' && (*src == '\n' || *(src+1) == '\0'))
6 0 || (in_comment == '#' && (*src == '\n' || *(src+1) == '\0'))
4233 24 78 || (in_comment == DBIpp_L_BRACE && *src == DBIpp_R_BRACE) /* XXX nesting? */
20 4 || (in_comment == DBIpp_L_BRACE && *src == DBIpp_R_BRACE) /* XXX nesting? */
4234 60 38 || (in_comment == '/' && *src == '*' && *(src+1) == '/')
10 50 || (in_comment == '/' && *src == '*' && *(src+1) == '/')
10 0 || (in_comment == '/' && *src == '*' && *(src+1) == '/')
4242 8 2 if (in_comment=='/' || in_comment==DBIpp_L_BRACE)
2 6 if (in_comment=='/' || in_comment==DBIpp_L_BRACE)
4246 10 18 if (in_comment == '/')
4248 14 14 src += (*src != '\n' || *(dest-1)=='\n') ? 1 : 0;
2 12 src += (*src != '\n' || *(dest-1)=='\n') ? 1 : 0;
4253 76 12 if (rt_comment)
4260 100 420 if (in_quote)
4262 8 92 if (*src == in_quote) {
4270 8 412 if (*src == '-' && *(src+1) == '-' &&
8 0 if (*src == '-' && *(src+1) == '-' &&
2 6 if (*src == '-' && *(src+1) == '-' &&
4271 2 0 (PS_accept(DBIpp_cm_dd) || (*(src+2) == ' ' && PS_accept(DBIpp_cm_dw)))
2 0 (PS_accept(DBIpp_cm_dd) || (*(src+2) == ' ' && PS_accept(DBIpp_cm_dw)))
4276 8 0 if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
0 8 if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
4279 0 0 if (PS_return(DBIpp_cm_dw) && *src!=' ')
0 0 if (PS_return(DBIpp_cm_dw) && *src!=' ')
4282 0 8 else if (PS_return(DBIpp_cm_cs)) {
4286 0 8 else if (PS_return(DBIpp_cm_hs)) {
4289 4 4 else if (PS_return(DBIpp_cm_br)) {
4294 12 400 else if (*src == '/' && *(src+1) == '*' && PS_accept(DBIpp_cm_cs))
12 0 else if (*src == '/' && *(src+1) == '*' && PS_accept(DBIpp_cm_cs))
12 0 else if (*src == '/' && *(src+1) == '*' && PS_accept(DBIpp_cm_cs))
4298 2 10 if (PS_return(DBIpp_cm_cs)) {
4302 10 0 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
2 8 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
4305 2 0 if (PS_return(DBIpp_cm_dw)) *dest++ = ' ';
4307 2 6 else if (PS_return(DBIpp_cm_hs)) {
4310 4 2 else if (PS_return(DBIpp_cm_br)) {
4315 6 394 else if (*src == '#' && PS_accept(DBIpp_cm_hs))
6 0 else if (*src == '#' && PS_accept(DBIpp_cm_hs))
4319 0 6 if (PS_return(DBIpp_cm_hs)) {
4322 6 0 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
2 4 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
4325 2 0 if (PS_return(DBIpp_cm_dw)) *dest++ = ' ';
4327 2 2 else if (PS_return(DBIpp_cm_cs)) {
4331 0 2 else if (PS_return(DBIpp_cm_br)) {
4336 6 388 else if (*src == DBIpp_L_BRACE && PS_accept(DBIpp_cm_br))
6 0 else if (*src == DBIpp_L_BRACE && PS_accept(DBIpp_cm_br))
4340 2 4 if (PS_return(DBIpp_cm_br)) {
4343 4 0 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
0 4 else if (PS_return(DBIpp_cm_dd) || PS_return(DBIpp_cm_dw)) {
4346 0 0 if (PS_return(DBIpp_cm_dw)) *dest++ = ' ';
4348 2 2 else if (PS_return(DBIpp_cm_cs)) {
4352 0 2 else if (PS_return(DBIpp_cm_hs)) {
4358 16 372 if ( !(*src==':' && (PS_accept(DBIpp_ph_cn) || PS_accept(DBIpp_ph_cs)))
4 12 if ( !(*src==':' && (PS_accept(DBIpp_ph_cn) || PS_accept(DBIpp_ph_cs)))
0 4 if ( !(*src==':' && (PS_accept(DBIpp_ph_cn) || PS_accept(DBIpp_ph_cs)))
4359 34 338 && !(*src=='?' && PS_accept(DBIpp_ph_qm))
0 34 && !(*src=='?' && PS_accept(DBIpp_ph_qm))
4361 332 6 if (*src == '\'' || *src == '"')
6 326 if (*src == '\'' || *src == '"')
4372 34 16 if (*start == '?') /* X/Open Standard */
4376 34 0 if (PS_return(DBIpp_ph_qm))
4378 32 2 else if (PS_return(DBIpp_ph_cn)) { /* '?' -> ':p1' (etc) */
4382 2 0 else if (PS_return(DBIpp_ph_sp)) { /* '?' -> '%s' */
4387 10 6 else if (isDIGIT(*src)) { /* :1 */
4391 0 10 if (PS_return(DBIpp_ph_cn)) { /* ':1'->':p1' */
4394 0 0 while(isDIGIT(*src))
4397 2 8 else if (PS_return(DBIpp_ph_qm) /* ':1' -> '?' */
4398 2 0 || PS_return(DBIpp_ph_sp) /* ':1' -> '%s' */
4400 8 2 PS_return(DBIpp_ph_qm) ? sprintf(start,"?") : sprintf(start,"%%s");
4402 2 8 if (pln != idx) {
4408 8 8 while(isDIGIT(*src)) src++;
4412 6 0 else if (isALNUM(*src)) /* :name */
4416 6 0 if (PS_return(DBIpp_ph_cs)) {
4419 2 4 else if (PS_return(DBIpp_ph_qm) /* ':name' -> '?' */
4420 2 0 || PS_return(DBIpp_ph_sp) /* ':name' -> '%s' */
4422 4 2 PS_return(DBIpp_ph_qm) ? sprintf(start,"?") : sprintf(start,"%%s");
4424 26 6 while (isALNUM(*src)) /* consume name, includes '_' */
4433 18 30 if (laststyle && style != laststyle) {
2 16 if (laststyle && style != laststyle) {
4612 3 29560 if (DBIS_TRACE_LEVEL >= 5) {
4613 3 0 PerlIO_printf(DBILOGFP, " New %s (for %s, parent=%s, id=%s)\n",
4630 24922 4641 dbih_setup_handle(aTHX_ outer_ref, SvPV_nolen(imp_class), parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
24922 0 dbih_setup_handle(aTHX_ outer_ref, SvPV_nolen(imp_class), parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
0 24922 dbih_setup_handle(aTHX_ outer_ref, SvPV_nolen(imp_class), parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
29563 0 dbih_setup_handle(aTHX_ outer_ref, SvPV_nolen(imp_class), parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
4634 0 29563 EXTEND(SP, 2);
4636 330 29233 if (GIMME != G_SCALAR) {
28373 1190 if (GIMME != G_SCALAR) {
4649 0 0 dbih_setup_handle(aTHX_ sv, imp_class, parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
0 0 dbih_setup_handle(aTHX_ sv, imp_class, parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
0 0 dbih_setup_handle(aTHX_ sv, imp_class, parent, SvOK(imp_datasv) ? imp_datasv : Nullsv);
4671 0 14 EXTEND(SP, 2);
4673 14 0 if (GIMME != G_SCALAR) {
14 0 if (GIMME != G_SCALAR) {
4701 608 0 EXTEND(SP, items);
0 608 EXTEND(SP, items);
4703 620 608 for(i=0; i < items ; ++i) {
4705 2 618 if (!SvOK(sv) || (SvPOK(sv) && SvCUR(sv)==0))
2 0 if (!SvOK(sv) || (SvPOK(sv) && SvCUR(sv)==0))
0 2 if (!SvOK(sv) || (SvPOK(sv) && SvCUR(sv)==0))
484 134 if (!SvOK(sv) || (SvPOK(sv) && SvCUR(sv)==0))
6 478 if (!SvOK(sv) || (SvPOK(sv) && SvCUR(sv)==0))
4707 363 249 else if ( looks_like_number(sv) )
4724 0 27972 SV *trace_msg = (DBIS_TRACE_LEVEL >= 10) ? sv_2mortal(newSVpv("",0)) : Nullsv;
4731 0 27972 if (strnNE(meth_name, "DBI::", 5)) /* XXX m/^DBI::\w+::\w+$/ */
4734 0 27972 if (trace_msg)
4739 27972 0 if (attribs && SvOK(attribs)) {
1752 26220 if (attribs && SvOK(attribs)) {
1752 0 if (attribs && SvOK(attribs)) {
0 1752 if (attribs && SvOK(attribs)) {
4741 0 26220 if (SvTYPE(SvRV(attribs)) != SVt_PVHV)
4744 26220 0 DBD_ATTRIB_GET_IV(attribs, "O",1, svp, ima->flags);
26220 0 DBD_ATTRIB_GET_IV(attribs, "O",1, svp, ima->flags);
26220 0 DBD_ATTRIB_GET_IV(attribs, "O",1, svp, ima->flags);
19140 7080 DBD_ATTRIB_GET_IV(attribs, "O",1, svp, ima->flags);
19140 0 DBD_ATTRIB_GET_IV(attribs, "O",1, svp, ima->flags);
4745 26220 0 DBD_ATTRIB_GET_UV(attribs, "T",1, svp, ima->method_trace);
26220 0 DBD_ATTRIB_GET_UV(attribs, "T",1, svp, ima->method_trace);
26220 0 DBD_ATTRIB_GET_UV(attribs, "T",1, svp, ima->method_trace);
5256 20964 DBD_ATTRIB_GET_UV(attribs, "T",1, svp, ima->method_trace);
0 5256 DBD_ATTRIB_GET_UV(attribs, "T",1, svp, ima->method_trace);
4746 26220 0 DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg);
26220 0 DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg);
26220 0 DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg);
876 25344 DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg);
876 0 DBD_ATTRIB_GET_IV(attribs, "H",1, svp, ima->hidearg);
4748 0 26220 if (trace_msg) {
4749 0 0 if (ima->flags) sv_catpvf(trace_msg, ", flags 0x%04x", (unsigned)ima->flags);
4750 0 0 if (ima->method_trace)sv_catpvf(trace_msg, ", T 0x%08lx", (unsigned long)ima->method_trace);
4751 0 0 if (ima->hidearg) sv_catpvf(trace_msg, ", H %u", (unsigned)ima->hidearg);
4753 26220 0 if ( (svp=DBD_ATTRIB_GET_SVP(attribs, "U",1)) != NULL) {
26220 0 if ( (svp=DBD_ATTRIB_GET_SVP(attribs, "U",1)) != NULL) {
26220 0 if ( (svp=DBD_ATTRIB_GET_SVP(attribs, "U",1)) != NULL) {
18688 7532 if ( (svp=DBD_ATTRIB_GET_SVP(attribs, "U",1)) != NULL) {
4755 18688 0 ima->minargs = (U8)SvIV(*av_fetch(av, 0, 1));
4756 18688 0 ima->maxargs = (U8)SvIV(*av_fetch(av, 1, 1));
4758 15184 3504 ima->usage_msg = (svp) ? savepv_using_sv(SvPV_nolen(*svp)) : "";
15184 0 ima->usage_msg = (svp) ? savepv_using_sv(SvPV_nolen(*svp)) : "";
4760 0 18688 if (trace_msg && DBIS_TRACE_LEVEL >= 11)
0 0 if (trace_msg && DBIS_TRACE_LEVEL >= 11)
4765 0 27972 if (trace_msg)
4766 0 0 PerlIO_printf(DBILOGFP,"%s\n", SvPV_nolen(trace_msg));
4800 0 24 if (!DBIS) {
4805 24 0 RETVAL = (DBIS) ? DBIS->debug : 0;
4807 6 18 if (level) /* call before or after altering DBI trace level */
4809 12 12 if (level != RETVAL) {
4810 6 6 if ((level & DBIc_TRACE_LEVEL_MASK) > 0) {
4823 0 6 if (!PL_dowarn)
4830 18 6 if (!level) /* call before or after altering DBI trace level */
4877 0 6 if (SvROK(method))
4879 4 2 if (dbih_inner(aTHX_ h, NULL)) { /* is a DBI handle */
4883 2 0 else if (SvROK(h) && SvTYPE(SvRV(h)) == SVt_PVHV) {
2 0 else if (SvROK(h) && SvTYPE(SvRV(h)) == SVt_PVHV) {
4890 4 2 while ( (tmp = hv_iternextsv(hv, &key, &keylen)) != NULL ) {
4891 2 2 if (SvOK(tmp)) {
2 0 if (SvOK(tmp)) {
0 2 if (SvOK(tmp)) {
4900 6 0 if (GIMME_V == G_VOID)
4 2 if (GIMME_V == G_VOID)
4914 254 0 if (!SvROK(dest) || SvTYPE(SvRV(dest)) != SVt_PVAV)
0 254 if (!SvROK(dest) || SvTYPE(SvRV(dest)) != SVt_PVAV)
4916 0 254 if (items <= 1) {
4923 368 254 while (--items >= 1) {
4945 19 3311 if (!SvOK(hash_sv))
19 0 if (!SvOK(hash_sv))
19 0 if (!SvOK(hash_sv))
4947 3311 0 if (!SvROK(hash_sv) || SvTYPE(SvRV(hash_sv))!=SVt_PVHV)
2 3309 if (!SvROK(hash_sv) || SvTYPE(SvRV(hash_sv))!=SVt_PVHV)
4950 3307 2 kv_sep = SvPV(kv_sep_sv, kv_sep_len);
4951 3307 2 pair_sep = SvPV(pair_sep_sv, pair_sep_len);
4953 42 3267 RETVAL = _join_hash_sorted( (HV*)SvRV(hash_sv),
3267 0 RETVAL = _join_hash_sorted( (HV*)SvRV(hash_sv),
6 3303 RETVAL = _join_hash_sorted( (HV*)SvRV(hash_sv),
3303 0 RETVAL = _join_hash_sorted( (HV*)SvRV(hash_sv),
4957 6 0 (SvOK(use_neat_sv)) ? SvIV(use_neat_sv) : 0,
0 6 (SvOK(use_neat_sv)) ? SvIV(use_neat_sv) : 0,
4958 42 0 (SvOK(num_sort_sv)) ? SvIV(num_sort_sv) : -1
0 42 (SvOK(num_sort_sv)) ? SvIV(num_sort_sv) : -1
4984 19497 0 char *meth = SvPV_nolen(SvRV(sv)); /* what should this tie do ? */
4986 19497 0 imp_xxh_t *imp_xxh = (DBI_LAST_HANDLE_OK) ? DBIh_COM(DBI_LAST_HANDLE) : NULL;
4987 19497 0 int trace_level = (imp_xxh ? DBIc_TRACE_LEVEL(imp_xxh) : DBIS_TRACE_LEVEL);
4990 19497 0 if (imp_xxh && DBIc_has(imp_xxh,DBIcf_Profile))
12 19485 if (imp_xxh && DBIc_has(imp_xxh,DBIcf_Profile))
4993 12 19485 if (trace_level >= 2) {
4994 12 0 PerlIO_printf(DBILOGFP," -> $DBI::%s (%c) FETCH from lasth=%s\n", meth, type,
4998 0 19497 if (type == '!') { /* special case for $DBI::lasth */
5001 0 0 ST(0) = (imp_xxh) ? sv_2mortal(newRV_inc(DBI_LAST_HANDLE)) : &PL_sv_undef;
5003 0 19497 else if ( !imp_xxh ) {
5004 0 0 if (trace_level)
5008 6647 12850 else if (type == '*') { /* special case for $DBI::err, see also err method */
5012 6220 6630 else if (type == '"') { /* special case for $DBI::state */
5014 6192 28 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
6192 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 6192 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
28 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
26 2 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
6192 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 6192 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4492 1700 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4492 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 4492 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 1698 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
1698 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
1698 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 1698 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
1698 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
5016 0 6630 else if (type == '$') { /* lookup scalar variable in implementors stash */
5029 4 6626 if (trace_level >= 3)
5030 4 0 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
4 0 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
0 4 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
0 0 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
4 0 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
0 4 PerlIO_printf(DBILOGFP," >> %s::%s\n", HvNAME(imp_stash), meth);
5032 0 6630 if ((imp_gv = gv_fetchmethod(imp_stash,meth)) == NULL) {
5033 0 0 croak("Can't locate $DBI::%s object method \"%s\" via package \"%s\"",
0 0 croak("Can't locate $DBI::%s object method \"%s\" via package \"%s\"",
5034 0 0 meth, meth, HvNAME(imp_stash));
0 0 meth, meth, HvNAME(imp_stash));
0 0 meth, meth, HvNAME(imp_stash));
0 0 meth, meth, HvNAME(imp_stash));
5036 0 6630 PUSHMARK(mark); /* reset mark (implies one arg as we were called with one arg?) */
5037 6630 0 call_sv((SV*)GvCV(imp_gv), GIMME);
0 6630 call_sv((SV*)GvCV(imp_gv), GIMME);
5043 15 19482 if (trace_level)
5045 8 19489 if (profile_t1) {
5129 0 1 if (!DBIc_ACTIVE(imp_xxh)) {/* sanity check, may be relaxed later */
5139 1 0 if ((tmp_svp = hv_fetch((HV*)SvRV(h), "ChildHandles", 12, FALSE)) && SvROK(*tmp_svp)) {
1 0 if ((tmp_svp = hv_fetch((HV*)SvRV(h), "ChildHandles", 12, FALSE)) && SvROK(*tmp_svp)) {
5143 0 1 for (kidslots = AvFILL(av); kidslots >= 0; --kidslots) {
3 1 for (kidslots = AvFILL(av); kidslots >= 0; --kidslots) {
5145 3 0 if (hp && SvROK(*hp) && SvMAGICAL(SvRV(*hp))) {
2 1 if (hp && SvROK(*hp) && SvMAGICAL(SvRV(*hp))) {
2 0 if (hp && SvROK(*hp) && SvMAGICAL(SvRV(*hp))) {
5146 0 2 PUSHMARK(sp);
5147 0 2 XPUSHs(*hp);
5161 0 1 if (DBIc_ACTIVE_KIDS(imp_xxh)) {
5165 0 1 if (DBIc_KIDS(imp_xxh))
5177 0 1 if (DBIc_TRACE_LEVEL(imp_xxh) >= 9)
5180 1 0 DBIc_ACTIVE_off(imp_xxh); /* silence warning from dbih_clearcom */
1 0 DBIc_ACTIVE_off(imp_xxh); /* silence warning from dbih_clearcom */
1 0 DBIc_ACTIVE_off(imp_xxh); /* silence warning from dbih_clearcom */
1 0 DBIc_ACTIVE_off(imp_xxh); /* silence warning from dbih_clearcom */
0 1 DBIc_ACTIVE_off(imp_xxh); /* silence warning from dbih_clearcom */
5214 0 103856 int dst_fields = AvFILL(dst_av)+1;
5218 103856 0 if (!SvROK(src_rv) || SvTYPE(SvRV(src_rv)) != SVt_PVAV)
0 103856 if (!SvROK(src_rv) || SvTYPE(SvRV(src_rv)) != SVt_PVAV)
5221 0 103856 src_fields = AvFILL(src_av)+1;
5222 0 103856 if (src_fields != dst_fields) {
5226 0 0 if (src_fields < dst_fields) {
5234 0 0 for(i=dst_fields-1; i < src_fields; ++i) {
5240 308633 103856 for(i=0; i < dst_fields; ++i) { /* copy over the row */
5242 3 308630 if (DBIc_is(imp_sth, DBIcf_TaintOut))
5243 3 0 SvTAINT(AvARRAY(src_av)[i]);
3 0 SvTAINT(AvARRAY(src_av)[i]);
5256 138 24 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
136 2 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
136 0 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
0 136 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
2 0 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
0 2 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
0 0 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
0 0 DBD_ATTRIBS_CHECK("bind_col", sth, attribs);
5257 156 0 ST(0) = boolSV(dbih_sth_bind_col(sth, col, ref, attribs));
5268 0 7 if (CvDEPTH(cv) == 99) {
5272 0 7 PUSHMARK(sp);
5273 0 7 XPUSHs(sth);
5275 0 7 if (call_method("fetch", G_SCALAR) != 1)
5280 7 0 if (SvROK(retsv) && SvTYPE(SvRV(retsv)) == SVt_PVAV) {
7 0 if (SvROK(retsv) && SvTYPE(SvRV(retsv)) == SVt_PVAV) {
5285 0 7 num_fields = AvFILL(av)+1;
5286 7 0 EXTEND(sp, num_fields+1);
0 7 EXTEND(sp, num_fields+1);
5292 7 0 if (bound_av && av != bound_av) {
0 7 if (bound_av && av != bound_av) {
5295 0 0 if (DBIc_TRACE_LEVEL(imp_sth) >= 3) {
5300 0 0 for(i=0; i < num_fields; ++i) { /* copy over the row */
5304 21 7 for(i=0; i < num_fields; ++i) {
5320 0 8855 PUSHMARK(sp);
5321 0 8855 XPUSHs(sth);
5323 4 8851 if (!keyattrib || !*keyattrib) {
0 4 if (!keyattrib || !*keyattrib) {
5325 8851 0 if (kn && SvOK(kn))
0 8851 if (kn && SvOK(kn))
0 0 if (kn && SvOK(kn))
0 0 if (kn && SvOK(kn))
5334 0 8855 if (call_method("fetch", G_SCALAR) != 1)
5340 8751 104 if (SvROK(rowavr) && SvTYPE(SvRV(rowavr)) == SVt_PVAV) {
8751 0 if (SvROK(rowavr) && SvTYPE(SvRV(rowavr)) == SVt_PVAV) {
5343 0 8751 const int num_fields = AvFILL(rowav)+1;
5346 8751 0 if (!(SvROK(ka_rv) && SvTYPE(SvRV(ka_rv))==SVt_PVAV)) {
2 8749 if (!(SvROK(ka_rv) && SvTYPE(SvRV(ka_rv))==SVt_PVAV)) {
5355 26219 8749 for (i=0; i < num_fields; ++i) { /* honor the original order as sent by the database */
5380 0 0 if (CvDEPTH(cv) == 99) {
5384 0 0 PUSHMARK(sp);
5385 0 0 XPUSHs(sth);
5389 0 0 if (num_fields == 0) {
5394 0 0 if (num_fields != AvFILL(av)+1)
0 0 if (num_fields != AvFILL(av)+1)
5395 0 0 croak("fetchrow returned %d fields, expected %d",
5398 0 0 while(--num_fields >= 0)
5420 5845 8546 DBIc_ACTIVE_off(imp_sth);
5845 0 DBIc_ACTIVE_off(imp_sth);
5845 0 DBIc_ACTIVE_off(imp_sth);
5845 0 DBIc_ACTIVE_off(imp_sth);
0 5845 DBIc_ACTIVE_off(imp_sth);
5433 0 25318 if (DBIc_IADESTROY(imp_sth)) { /* want's ineffective destroy */
5434 0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
5435 0 0 if (DBIc_TRACE_LEVEL(imp_sth))
5436 0 0 PerlIO_printf(DBIc_LOGPIO(imp_sth), " DESTROY %s skipped due to InactiveDestroy\n", SvPV_nolen(sth));
5438 5 25313 if (DBIc_ACTIVE(imp_sth)) {
5440 5 0 if (!PL_dirty && DBIc_ACTIVE(imp_dbh)) {
5 0 if (!PL_dirty && DBIc_ACTIVE(imp_dbh)) {
5442 0 5 PUSHMARK(sp);
5443 0 5 XPUSHs(sth);
5450 0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
0 0 DBIc_ACTIVE_off(imp_sth);
5486 46 79004 if (!dbih_set_attr_k(h, keysv, 0, valuesv))
5506 5 0 if (strnEQ(SvPV_nolen(keysv),"private_",8))
2 3 if (strnEQ(SvPV_nolen(keysv),"private_",8))
5538 6 4 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
6 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 6 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
6 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 6 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 4 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
2 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 2 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 4 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 4 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
4 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
0 0 ST(0) = DBIc_STATE_adjust(imp_xxh, state);
5549 6702 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 6702 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 2169 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 4533 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
2169 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
2169 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 2169 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 2169 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 4533 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
4533 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 4533 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 0 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
0 4533 if (!SvTRUE(errstr) && (err=DBIc_ERR(imp_xxh)) && SvTRUE(err))
5568 38 9327 if (DBIc_has(imp_xxh, DBIcf_HandleSetErr) && SvREADONLY(method))
38 0 if (DBIc_has(imp_xxh, DBIcf_HandleSetErr) && SvREADONLY(method))
5571 9363 2 if (!set_err_sv(h, imp_xxh, err, errstr, state, method)) {
5578 9357 6 if (SvOK(method)) {
9357 0 if (SvOK(method)) {
0 9357 if (SvOK(method)) {
5579 6 0 sv_setpv(*sem_svp, SvPV_nolen(method));
5582 0 9357 (void)SvOK_off(*sem_svp);
5583 0 9363 EXTEND(SP, 1);
5584 4 9359 PUSHs( result ? result : &PL_sv_undef );
5618 5460 21849 if (SvROK(sv)) {
5627 27211 98 if (DBIc_TRACE_MATCHES(this_trace, current_trace)) {
0 27211 if (DBIc_TRACE_MATCHES(this_trace, current_trace)) {
5658 14 0 SV *h1 = (rh1 == h1i) ? (SV*)DBIc_MY_H(imp_xxh1) : SvRV(rh1);
5659 0 14 SV *h2 = (rh2 == h2i) ? (SV*)DBIc_MY_H(imp_xxh2) : SvRV(rh2);
5662 2 12 if (DBIc_TYPE(imp_xxh1) != DBIc_TYPE(imp_xxh2)) {
5669 10 2 if (!allow_reparent && DBIc_PARENT_COM(imp_xxh1) != DBIc_PARENT_COM(imp_xxh2)) {
2 8 if (!allow_reparent && DBIc_PARENT_COM(imp_xxh1) != DBIc_PARENT_COM(imp_xxh2)) {