Branch Coverage

SQL.xs
Criterion Covered Total %
branch 8 272 2.9


line true false branch
65 0 0 if (SvPOKp (sv))
76 0 0 if (utf8 && SvPOKp (sv))
0 0 if (utf8 && SvPOKp (sv))
113 0 0 gen += HvMROMETA (stash)->cache_gen;
116 0 0 for (mc = first; mc; mc = mc->next)
117 0 0 if (mc->stash == stash && mc->gen == gen)
0 0 if (mc->stash == stash && mc->gen == gen)
120 0 0 if (!mc)
148 0 0 if (!method)
181 0 0 char *b = SvPV (sql, l);
187 0 0 for (i = 7; i < l; i += i >> 2)
207 0 0 if (!n->hash)
210 0 0 || DBI_STH_ACTIVE (n->sth_imp)
211 0 0 || !sv_eq (n->sql, sql)
212 0 0 || n->dbh != dbh);
0 0 || n->dbh != dbh);
229 0 6 while (lru_size > lru_maxsize)
255 0 0 if (!lru_maxsize)
282 6 0 if (size >= 0)
312 0 2 if (lru_size)
347 0 2 if (items == 0)
368 2 0 if (!is_dbh (dbh))
0 2 if (!is_dbh (dbh))
0 0 if (!is_dbh (dbh))
375 2 0 if (!is_dbh (dbh))
0 2 if (!is_dbh (dbh))
0 0 if (!is_dbh (dbh))
389 0 0 while (items > arg && SvROK (ST(arg)))
0 0 while (items > arg && SvROK (ST(arg)))
395 0 0 if (items <= arg)
398 0 0 if (!SvPOK (ST(arg)))
403 0 0 if ((ix & ~1) == 6)
413 0 0 for (i = arg; i < items; ++i)
420 0 0 if (SvMAGICAL (sv))
423 0 0 if ((ix & 1) && SvPOKp (sv) && !SvUTF8 (sv))
0 0 if ((ix & 1) && SvPOKp (sv) && !SvUTF8 (sv))
0 0 if ((ix & 1) && SvPOKp (sv) && !SvUTF8 (sv))
433 0 0 : 0;
434 0 0 if (!lru)
438 0 0 if (!mc->prepare)
441 0 0 PUSHMARK (SP);
442 0 0 EXTEND (SP, 2);
449 0 0 if (count != 1)
450 0 0 croak ("sql_exec: unable to prepare() statement '%s': %s",
0 0 croak ("sql_exec: unable to prepare() statement '%s': %s",
456 0 0 if (!SvROK (sth))
457 0 0 croak ("sql_exec: buggy DBD driver, prepare returned non-reference for '%s': %s",
0 0 croak ("sql_exec: buggy DBD driver, prepare returned non-reference for '%s': %s",
463 0 0 if (!mc->bind_param)
470 0 0 if (SvCUR (sql) <= MAX_CACHED_STATEMENT_SIZE)
478 0 0 while (items > arg)
485 0 0 PUSHMARK (SP);
486 0 0 EXTEND (SP, 4);
489 0 0 SvIOK_only (tmp_iv);
493 0 0 PUSHs (
0 0 PUSHs (
0 0 PUSHs (
508 0 0 PUSHMARK (SP);
509 0 0 EXTEND (SP, 1);
521 0 0 PUSHMARK (SP);
522 0 0 EXTEND (SP, items - arg + 1);
0 0 EXTEND (SP, items - arg + 1);
524 0 0 while (items > arg)
540 0 0 if (count != 1)
541 0 0 croak ("sql_exec: execute() didn't return any value ('%s'): %s",
0 0 croak ("sql_exec: execute() didn't return any value ('%s'): %s",
547 0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
0 0 if (!SvTRUE (execute))
548 0 0 croak ("sql_exec: unable to execute statement '%s' (%s)",
0 0 croak ("sql_exec: unable to execute statement '%s' (%s)",
554 0 0 if (bind_first != bind_last)
556 0 0 PUSHMARK (SP);
557 0 0 EXTEND (SP, bind_last - bind_first + 2);
0 0 EXTEND (SP, bind_last - bind_first + 2);
561 0 0 if (ix & 1)
566 0 0 } while (bind_first != bind_last);
570 0 0 if (!mc->bind_columns)
577 0 0 if (count != 1)
578 0 0 croak ("sql_exec: bind_columns() didn't return any value ('%s'): %s",
0 0 croak ("sql_exec: bind_columns() didn't return any value ('%s'): %s",
582 0 0 if (!SvOK (TOPs))
0 0 if (!SvOK (TOPs))
0 0 if (!SvOK (TOPs))
583 0 0 croak ("sql_exec: bind_columns() didn't return a true ('%s'): %s",
0 0 croak ("sql_exec: bind_columns() didn't return a true ('%s'): %s",
590 0 0 if ((ix & ~1) == 2)
594 0 0 PUSHMARK (SP);
595 0 0 XPUSHs (sth);
598 0 0 if (!mc->fetchrow_arrayref)
604 0 0 if (count != 1)
611 0 0 if (SvROK (row))
615 0 0 switch (GIMME_V)
622 0 0 XPUSHs (mortalcopy_and_maybe_force_utf8 (ix & 1, AvARRAY ((AV *)SvRV (row))[0]));
627 0 0 count = AvFILL (av) + 1;
628 0 0 EXTEND (SP, count);
0 0 EXTEND (SP, count);
629 0 0 for (arg = 0; arg < count; arg++)
638 0 0 else if ((ix & ~1) == 4)
642 0 0 PUSHMARK (SP);
643 0 0 XPUSHs (sth);
646 0 0 if (!mc->fetchall_arrayref)
652 0 0 if (count != 1)
659 0 0 if (SvROK (rows))
662 0 0 count = AvFILL (av) + 1;
664 0 0 if (count)
666 0 0 int columns = AvFILL ((AV *) SvRV (AvARRAY (av)[0])) + 1; /* columns? */
668 0 0 EXTEND (SP, count);
0 0 EXTEND (SP, count);
669 0 0 if (columns == 1)
670 0 0 for (arg = 0; arg < count; arg++)
673 0 0 for (arg = 0; arg < count; arg++)
681 0 0 XPUSHs (sth);
684 0 0 if (ix > 1 || GIMME_V == G_VOID)
0 0 if (ix > 1 || GIMME_V == G_VOID)
0 0 if (ix > 1 || GIMME_V == G_VOID)
0 0 if (ix > 1 || GIMME_V == G_VOID)
688 0 0 PUSHMARK (SP);
689 0 0 XPUSHs (sth);
692 0 0 if (!mc->finish)