|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
34
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
35
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
36
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSViv(i)));  | 
 
| 
43
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
66
 | 
 0  | 
 0  | 
     if( vt==NULL ) return SQLITE_NOMEM;  | 
 
| 
74
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
75
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(init_data->perl_class, 0)));  | 
 
| 
76
 | 
 0  | 
 0  | 
     XPUSHs(init_data->dbh);  | 
 
| 
77
 | 
 0  | 
 0  | 
     for(i = 0; i < argc; i++) {  | 
 
| 
78
 | 
 0  | 
 0  | 
         XPUSHs(newSVpvn_flags(argv[i], strlen(argv[i]), SVs_TEMP|SVf_UTF8));  | 
 
| 
85
 | 
 0  | 
 0  | 
     if ( count != 1 ) {  | 
 
| 
94
 | 
 0  | 
 0  | 
     if ( !sv_isobject(perl_vtab_obj) ) {  | 
 
| 
101
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
102
 | 
 0  | 
 0  | 
     XPUSHs(perl_vtab_obj);  | 
 
| 
108
 | 
 0  | 
 0  | 
     if (count != 1 ) {  | 
 
| 
118
 | 
 0  | 
 0  | 
     rc = sqlite3_declare_vtab(db, SvPVutf8_nolen(sql));  | 
 
| 
121
 | 
 0  | 
 0  | 
     if (rc == SQLITE_OK) {  | 
 
| 
131
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
233
 | 
 0  | 
 0  | 
     for (i=0; inConstraint; i++){  | 
 
| 
239
 | 
 0  | 
 0  | 
         hv_stores(constraint, "usable", pCons->usable ? &PL_sv_yes : &PL_sv_no);  | 
 
| 
245
 | 
 0  | 
 0  | 
     for (i=0; inOrderBy; i++){  | 
 
| 
249
 | 
 0  | 
 0  | 
         hv_stores(order, "desc", pOrder->desc ? &PL_sv_yes : &PL_sv_no);  | 
 
| 
254
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
255
 | 
 0  | 
 0  | 
     XPUSHs( ((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
256
 | 
 0  | 
 0  | 
     XPUSHs( sv_2mortal( newRV_noinc((SV*) constraints)));  | 
 
| 
257
 | 
 0  | 
 0  | 
     XPUSHs( sv_2mortal( newRV_noinc((SV*) order_by)));  | 
 
| 
263
 | 
 0  | 
 0  | 
     if (count != 1)  | 
 
| 
266
 | 
 0  | 
 0  | 
     if (!(hashref && SvROK(hashref) && SvTYPE(SvRV(hashref)) == SVt_PVHV))  | 
 
| 
 | 
 0  | 
 0  | 
     if (!(hashref && SvROK(hashref) && SvTYPE(SvRV(hashref)) == SVt_PVHV))  | 
 
| 
 | 
 0  | 
 0  | 
     if (!(hashref && SvROK(hashref) && SvTYPE(SvRV(hashref)) == SVt_PVHV))  | 
 
| 
270
 | 
 0  | 
 0  | 
     pIdxInfo->idxNum = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->idxNum = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->idxNum = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->idxNum = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->idxNum = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
272
 | 
 0  | 
 0  | 
     if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
     if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
     if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
     if (val && SvOK(*val)) {  | 
 
| 
274
 | 
 0  | 
 0  | 
         char *str = SvPVutf8(*val, len);  | 
 
| 
281
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->orderByConsumed = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
283
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedCost = (val && SvOK(*val)) ? SvNV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedCost = (val && SvOK(*val)) ? SvNV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedCost = (val && SvOK(*val)) ? SvNV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedCost = (val && SvOK(*val)) ? SvNV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedCost = (val && SvOK(*val)) ? SvNV(*val) : 0;  | 
 
| 
286
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedRows = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedRows = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedRows = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedRows = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
 | 
 0  | 
 0  | 
     pIdxInfo->estimatedRows = (val && SvOK(*val)) ? SvIV(*val) : 0;  | 
 
| 
291
 | 
 0  | 
 0  | 
     for (i=0; inConstraint; i++){  | 
 
| 
293
 | 
 0  | 
 0  | 
         if (!(rv && SvROK(*rv) && SvTYPE(SvRV(*rv)) == SVt_PVHV))  | 
 
| 
 | 
 0  | 
 0  | 
         if (!(rv && SvROK(*rv) && SvTYPE(SvRV(*rv)) == SVt_PVHV))  | 
 
| 
 | 
 0  | 
 0  | 
         if (!(rv && SvROK(*rv) && SvTYPE(SvRV(*rv)) == SVt_PVHV))  | 
 
| 
297
 | 
 0  | 
 0  | 
         argvIndex = (val && SvOK(*val)) ? SvIV(*val) + 1: 0;  | 
 
| 
 | 
 0  | 
 0  | 
         argvIndex = (val && SvOK(*val)) ? SvIV(*val) + 1: 0;  | 
 
| 
 | 
 0  | 
 0  | 
         argvIndex = (val && SvOK(*val)) ? SvIV(*val) + 1: 0;  | 
 
| 
 | 
 0  | 
 0  | 
         argvIndex = (val && SvOK(*val)) ? SvIV(*val) + 1: 0;  | 
 
| 
 | 
 0  | 
 0  | 
         argvIndex = (val && SvOK(*val)) ? SvIV(*val) + 1: 0;  | 
 
| 
302
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
 | 
 0  | 
 0  | 
         pConsUsage->omit = (val && SvTRUE(*val)) ? 1 : 0;  | 
 
| 
306
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
327
 | 
 0  | 
 0  | 
     if( cursor==NULL ) return SQLITE_NOMEM;  | 
 
| 
331
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
332
 | 
 0  | 
 0  | 
     XPUSHs( ((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
336
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
343
 | 
 0  | 
 0  | 
     if ( !sv_isobject(perl_cursor) ) {  | 
 
| 
353
 | 
 0  | 
 0  | 
     if (rc == SQLITE_OK) {  | 
 
| 
362
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
384
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
403
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
404
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab_cursor *) pVtabCursor)->perl_cursor_obj);  | 
 
| 
405
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSViv(idxNum)));  | 
 
| 
406
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(idxStr, 0)));  | 
 
| 
407
 | 
 0  | 
 0  | 
     for(i = 0; i < argc; i++) {  | 
 
| 
408
 | 
 0  | 
 0  | 
         XPUSHs(stacked_sv_from_sqlite3_value(aTHX_ argv[i], is_unicode));  | 
 
| 
416
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
432
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
433
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab_cursor *) pVtabCursor)->perl_cursor_obj);  | 
 
| 
440
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
455
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
456
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab_cursor *) pVtabCursor)->perl_cursor_obj);  | 
 
| 
460
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
466
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
 | 
 0  | 
 0  | 
         eof = SvTRUE(sv);  /* eof = SvTRUE(POPs); # I don't understand why :-( */  | 
 
| 
470
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
489
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
490
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab_cursor *) pVtabCursor)->perl_cursor_obj);  | 
 
| 
491
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSViv(col)));  | 
 
| 
495
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
507
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
524
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
525
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab_cursor *) pVtabCursor)->perl_cursor_obj);  | 
 
| 
529
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
534
 | 
 0  | 
 0  | 
         *pRowid =POPi;  | 
 
| 
539
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
560
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
561
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
562
 | 
 0  | 
 0  | 
     for(i = 0; i < argc; i++) {  | 
 
| 
563
 | 
 0  | 
 0  | 
         XPUSHs(stacked_sv_from_sqlite3_value(aTHX_ argv[i], is_unicode));  | 
 
| 
568
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
573
 | 
 0  | 
 0  | 
         if (argc > 1 && sqlite3_value_type(argv[0]) == SQLITE_NULL  | 
 
| 
 | 
 0  | 
 0  | 
         if (argc > 1 && sqlite3_value_type(argv[0]) == SQLITE_NULL  | 
 
| 
574
 | 
 0  | 
 0  | 
                       && sqlite3_value_type(argv[1]) == SQLITE_NULL) {  | 
 
| 
578
 | 
 0  | 
 0  | 
             if (!SvOK(rowidsv))  | 
 
| 
 | 
 0  | 
 0  | 
             if (!SvOK(rowidsv))  | 
 
| 
 | 
 0  | 
 0  | 
             if (!SvOK(rowidsv))  | 
 
| 
580
 | 
 0  | 
 0  | 
             else if (SvUOK(rowidsv))  | 
 
| 
581
 | 
 0  | 
 0  | 
                 *pRowid = SvUV(rowidsv);  | 
 
| 
582
 | 
 0  | 
 0  | 
             else if (SvIOK(rowidsv))  | 
 
| 
583
 | 
 0  | 
 0  | 
                 *pRowid = SvIV(rowidsv);  | 
 
| 
585
 | 
 0  | 
 0  | 
                 *pRowid = (sqlite3_int64)SvNV(rowidsv);  | 
 
| 
592
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
634
 | 
 0  | 
 0  | 
     if (hv_exists(functions, func_name, len)) {  | 
 
| 
636
 | 
 0  | 
 0  | 
         if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (val && SvOK(*val)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (val && SvOK(*val)) {  | 
 
| 
642
 | 
 0  | 
 0  | 
         PUSHMARK(SP);  | 
 
| 
643
 | 
 0  | 
 0  | 
         XPUSHs(((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
644
 | 
 0  | 
 0  | 
         XPUSHs(sv_2mortal(newSViv(nArg)));  | 
 
| 
645
 | 
 0  | 
 0  | 
         XPUSHs(sv_2mortal(newSVpv(zName, 0)));  | 
 
| 
649
 | 
 0  | 
 0  | 
         if (count != 1) {  | 
 
| 
655
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
 | 
 0  | 
 0  | 
         if (SvTRUE(result)) {  | 
 
| 
662
 | 
 0  | 
 0  | 
         hv_store(functions, func_name, len, coderef ? coderef : &PL_sv_undef, 0);  | 
 
| 
666
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
 | 
 0  | 
 0  | 
     is_overloaded = coderef && SvTRUE(coderef);  | 
 
| 
667
 | 
 0  | 
 0  | 
     if (is_overloaded) {  | 
 
| 
669
 | 
 0  | 
 0  | 
                                           : sqlite_db_func_dispatcher_no_unicode;  | 
 
| 
675
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
691
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
692
 | 
 0  | 
 0  | 
     XPUSHs(((perl_vtab *) pVTab)->perl_vtab_obj);  | 
 
| 
693
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(zNew, 0)));  | 
 
| 
697
 | 
 0  | 
 0  | 
     if (count != 1) {  | 
 
| 
702
 | 
 0  | 
 0  | 
         rc = POPi;  | 
 
| 
706
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
768
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
769
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(init_data->perl_class, 0)));  | 
 
| 
780
 | 
 0  | 
 0  | 
     FREETMPS;  | 
 
| 
799
 | 
 0  | 
 0  | 
     if (!DBIc_ACTIVE(imp_dbh)) {  | 
 
| 
806
 | 
 0  | 
 0  | 
     if (!get_av(module_ISA, 0)) {  | 
 
| 
826
 | 
 0  | 
 0  | 
     if ( rc != SQLITE_OK ) {  | 
 
| 
834
 | 
 0  | 
 0  | 
     PUSHMARK(SP);  | 
 
| 
835
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(perl_class, 0)));  | 
 
| 
836
 | 
 0  | 
 0  | 
     XPUSHs(sv_2mortal(newSVpv(name, 0)));  | 
 
| 
843
 | 
 0  | 
 0  | 
     FREETMPS;  |