cpantestlogs/Mojolicious::Plugin::DBViewer::MySQL::Dbviewer_genfailure.log
2017-05-02 18:44:36 -07:00

65419 lines
2.4 MiB
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

perl-blead
==========
cpanm (App::cpanminus) 1.7043 on perl 5.026000 built for x86_64-linux
Work directory is /home/ryan/.cpanm/work/1493344378.19833
You have make /usr/bin/make
You have LWP 6.26
You have /bin/tar: tar (GNU tar) 1.29
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Mojolicious::Plugin::DBViewer::MySQL::Dbviewer () on cpanmetadb ...
Unpacking Mojolicious-Plugin-DBViewer-0.01.tar.gz
--> Working on Mojolicious::Plugin::DBViewer::MySQL::Dbviewer
Fetching http://www.cpan.org/authors/id/K/KI/KIMOTO/Mojolicious-Plugin-DBViewer-0.01.tar.gz ... OK
Mojolicious-Plugin-DBViewer-0.01/
Mojolicious-Plugin-DBViewer-0.01/META.yml
Mojolicious-Plugin-DBViewer-0.01/Changes
Mojolicious-Plugin-DBViewer-0.01/t/
Mojolicious-Plugin-DBViewer-0.01/t/sqlite-test.pl
Mojolicious-Plugin-DBViewer-0.01/t/load.t
Mojolicious-Plugin-DBViewer-0.01/t/sqlite-basic.t
Mojolicious-Plugin-DBViewer-0.01/t/mysql-test.pl
Mojolicious-Plugin-DBViewer-0.01/t/mysql-basic.t
Mojolicious-Plugin-DBViewer-0.01/MYMETA.json
Mojolicious-Plugin-DBViewer-0.01/README
Mojolicious-Plugin-DBViewer-0.01/Makefile.PL
Mojolicious-Plugin-DBViewer-0.01/MYMETA.yml
Mojolicious-Plugin-DBViewer-0.01/MANIFEST
Mojolicious-Plugin-DBViewer-0.01/lib/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/MySQL/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/MySQL/Command.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/MySQL/Dbviewer.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/SQLite/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/Command.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/default.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcharsets.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/default.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showprimarykeys.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcreatetables.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/pagenavi.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/select.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/table.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showselecttables.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showdatabaseengines.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/shownullallowedcolumns.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/tables.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/layouts/
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/templates/layouts/dbviewer_common.html.ep
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer/MySQL.pm
Mojolicious-Plugin-DBViewer-0.01/lib/Mojolicious/Plugin/DBViewer.pm
Mojolicious-Plugin-DBViewer-0.01/META.json
Entering Mojolicious-Plugin-DBViewer-0.01
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.24)
Running Makefile.PL
Configuring Mojolicious-Plugin-DBViewer-0.01 ... Checking if your kit is complete...
Warning: the following files are missing in your kit:
lib/Mojolicious/Plugin/DBViewer/MySQL/Main.pm
lib/Mojolicious/Plugin/DBViewer/SQLite/Main.pm
lib/Mojolicious/Plugin/DBViewer/templates/layouts/common.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/pagenavi.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/select.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/showcharsets.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/showcreatetables.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/showdatabaseengines.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/shownullallowedcolumns.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/showprimarykeys.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/showselecttables.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/table.html.ep
lib/Mojolicious/Plugin/DBViewer/templates/tables.html.ep
t/mysql-connector.t
t/mysql-load.t
t/sqlite-connector.t
t/sqlite-load.t
Please inform the author.
Generating a Unix-style Makefile
Writing Makefile for Mojolicious::Plugin::DBViewer
Writing MYMETA.yml and MYMETA.json
Checking dependencies from MYMETA.json ...
Checking if you have Data::Page 2.02 ... Yes (2.02)
Checking if you have DBIx::Custom 0.25 ... Yes (0.40)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.24)
Checking if you have Test::More 0 ... Yes (1.302078)
Checking if you have Mojolicious 2.59 ... Yes (7.29)
OK
Building and testing Mojolicious-Plugin-DBViewer-0.01 ... cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/pagenavi.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/pagenavi.html.ep
cp lib/Mojolicious/Plugin/DBViewer/Command.pm blib/lib/Mojolicious/Plugin/DBViewer/Command.pm
cp lib/Mojolicious/Plugin/DBViewer/templates/default.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/default.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/shownullallowedcolumns.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/shownullallowedcolumns.html.ep
cp lib/Mojolicious/Plugin/DBViewer/MySQL/Dbviewer.pm blib/lib/Mojolicious/Plugin/DBViewer/MySQL/Dbviewer.pm
cp lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm
cp lib/Mojolicious/Plugin/DBViewer/MySQL/Command.pm blib/lib/Mojolicious/Plugin/DBViewer/MySQL/Command.pm
cp lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/table.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/table.html.ep
cp lib/Mojolicious/Plugin/DBViewer/MySQL.pm blib/lib/Mojolicious/Plugin/DBViewer/MySQL.pm
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/select.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/select.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/tables.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/tables.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showprimarykeys.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showprimarykeys.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/default.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/default.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcharsets.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcharsets.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showdatabaseengines.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showdatabaseengines.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showselecttables.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showselecttables.html.ep
cp lib/Mojolicious/Plugin/DBViewer.pm blib/lib/Mojolicious/Plugin/DBViewer.pm
cp lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcreatetables.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/dbviewer/showcreatetables.html.ep
cp lib/Mojolicious/Plugin/DBViewer/templates/layouts/dbviewer_common.html.ep blib/lib/Mojolicious/Plugin/DBViewer/templates/layouts/dbviewer_common.html.ep
Manifying 1 pod document
PERL_DL_NONLAZY=1 "/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/load.t .......... ok
t/mysql-basic.t ... skipped: MySQL private test
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 71.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:71</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:05 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 71.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:71</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:05 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 71.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:71</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:05 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 80.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:80</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:15 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:show create table)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 80.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:80</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:15 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 80.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:80</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:15 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_2)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 87.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:87</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table1\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 87.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:87</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 87.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:87</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_2)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 97.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:97</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1&amp;condition_column=column1_2&amp;condition_value=4</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;condition_column&quot; =&gt; &quot;column1_2&quot;,
# &quot;condition_value&quot; =&gt; 4,
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table1\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 97.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:97</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1&amp;condition_column=column1_2&amp;condition_value=4</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;condition_column&quot; =&gt; &quot;column1_2&quot;,
# &quot;condition_value&quot; =&gt; 4,
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 97.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:97</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table1&amp;condition_column=column1_2&amp;condition_value=4</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;condition_column&quot; =&gt; &quot;column1_2&quot;,
# &quot;condition_value&quot; =&gt; 4,
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:17 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\b3\b)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Create tables)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column2_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column2_2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 106.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:86</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:106</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showcreatetables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:18 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 117.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:117</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showselecttables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showselecttables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:20 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Select tables)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 117.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:117</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showselecttables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showselecttables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:20 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 117.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:117</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showselecttables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showselecttables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:20 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\/select\?)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 117.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:117</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showselecttables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showselecttables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:20 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 117.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:117</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showselecttables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showselecttables&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:20 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 125.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:125</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:22 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Primary keys)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 125.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:125</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:22 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 125.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:125</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:22 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\(column1_1\))'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 125.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:125</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:22 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 125.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:125</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:22 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 134.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:134</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:24 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Null allowed column)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 134.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:134</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:24 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 134.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:134</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:24 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\(column1_2\))'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 134.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:134</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:24 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 134.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:134</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;dbviewer&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:41873</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test1&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:24 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 203.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:203</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:26 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 203.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:203</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:26 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 203.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:34</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:203</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/tables?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;tables&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;utilities&quot; =&gt; [
# {
# &quot;path&quot; =&gt; &quot;showcreatetables&quot;,
# &quot;title&quot; =&gt; &quot;Show create tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showselecttables&quot;,
# &quot;title&quot; =&gt; &quot;Show select tables&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;title&quot; =&gt; &quot;Show primary keys&quot;
# },
# {
# &quot;path&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;title&quot; =&gt; &quot;Show null allowed columns&quot;
# }
# ]
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:26 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 212.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:212</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:31 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:show create table)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 212.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:212</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:31 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 212.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select sql
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;&#39;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 81.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">76</td>
# <td class="value wide">
# <pre><code class="prettyprint">select sql</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">77</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">78</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;type&#39;) and name = &#39;$table&#39;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">79</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">80</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">81</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $create_table = $self-&gt;dbi-&gt;execute($sql)-&gt;value;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">82</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">83</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Format</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">84</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\(/(\n /;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">85</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/, /,\n /g;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">86</td>
# <td class="value wide">
# <pre><code class="prettyprint"> $create_table =~ s/\)$/\n)/;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:81</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:62</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:212</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/table?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;table&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:31 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_2)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 219.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:219</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table1\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 219.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:219</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 219.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: no such table:. Following SQL is executed.
# select * from &quot;&quot; limit 0, 100
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm line 219.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">214</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $page = $vresult-&gt;data-&gt;{page};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">215</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $count = 100;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">216</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $offset = ($page - 1) * $count;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">217</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">218</td>
# <td class="value wide">
# <pre><code class="prettyprint"> # Get null allowed columns</code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">219</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $result = $plugin-&gt;dbi-&gt;select(</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">220</td>
# <td class="value wide">
# <pre><code class="prettyprint"> table =&gt; &quot;$database.$table&quot;,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">221</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where =&gt; $where,</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">222</td>
# <td class="value wide">
# <pre><code class="prettyprint"> append =&gt; &quot;limit $offset, $count&quot;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">223</td>
# <td class="value wide">
# <pre><code class="prettyprint"> );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">224</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $header = $result-&gt;header;</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:716</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:219</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:219</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/select?database=main&amp;table=table1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table1&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;select&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;table&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;uint&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;uint&quot;
# }
# ],
# &quot;default&quot; =&gt; 1,
# &quot;key&quot; =&gt; &quot;page&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; 1
# }
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_column&quot;,
# &quot;option&quot; =&gt; {}
# },
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;not_blank&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;not_blank&quot;
# }
# ],
# &quot;key&quot; =&gt; &quot;condition_value&quot;,
# &quot;option&quot; =&gt; {}
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:column1_2)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 229.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:229</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Primary keys)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 229.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:229</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 229.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:229</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\(column1_1\))'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 229.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:229</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 229.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:11</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:140</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:229</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/showprimarykeys?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;showprimarykeys&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:34 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in exists at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Controller.pm line 67.
Use of uninitialized value $name in hash element at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Message.pm line 247.
Use of uninitialized value $name in string eq at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Parameters.pm line 46.
Use of uninitialized value in anonymous hash ({}) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm line 49.
# Failed test 'content is similar'
# at t/sqlite-basic.t line 238.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:238</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:36 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:Null allowed column)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 238.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:238</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:36 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table1)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 238.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:238</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:36 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\(column1_2\))'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 238.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:238</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:36 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table2)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 238.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">DBD::SQLite::db prepare failed: near &quot;.&quot;: syntax error. Following SQL is executed.
# select distinct(name)
# from .sqlite_master
# where type in (&#39;table&#39;, &#39;view&#39;)
# order by name;
#
# (DBIx::Custom::execute) at /home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm line 67.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">62</td>
# <td class="value wide">
# <pre><code class="prettyprint"> from $database.sqlite_master</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">63</td>
# <td class="value wide">
# <pre><code class="prettyprint"> where type in (&#39;table&#39;, &#39;view&#39;)</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">64</td>
# <td class="value wide">
# <pre><code class="prettyprint"> order by name;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">65</td>
# <td class="value wide">
# <pre><code class="prettyprint">EOS</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">66</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">67</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $tables = $self-&gt;dbi-&gt;execute($sql)-&gt;values;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">68</td>
# <td class="value wide">
# <pre><code class="prettyprint"> </code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">69</td>
# <td class="value wide">
# <pre><code class="prettyprint"> return $tables;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">70</td>
# <td class="value wide">
# <pre><code class="prettyprint">}</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">71</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">72</td>
# <td class="value wide">
# <pre><code class="prettyprint">sub show_create_table {</code></pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Carp.pm:167</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:1285</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/DBIx/Custom.pm:339</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Command.pm:67</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/Command.pm:22</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/SQLite/Dbviewer.pm:165</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:138</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:36</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:38</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:129</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:139</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:201</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojolicious.pm:145</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:107</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Transaction/HTTP.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:225</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Server/Daemon.pm:206</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:99</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop/Stream.pm:48</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/IOLoop.pm:136</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Mojo/UserAgent.pm:59</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:380</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:327</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test/Mojo.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/sqlite-basic.t:238</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/other/shownullallowedcolumns?database=main</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# &quot;action&quot; =&gt; &quot;shownullallowedcolumns&quot;,
# &quot;cb&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;controller&quot; =&gt; &quot;dbviewer&quot;,
# &quot;driver&quot; =&gt; &quot;sqlite&quot;,
# &quot;main_title&quot; =&gt; &quot;DBViewer&quot;,
# &quot;namespace&quot; =&gt; &quot;Mojolicious::Plugin::DBViewer::SQLite&quot;,
# &quot;plugin&quot; =&gt; bless( {
# &quot;command&quot; =&gt; bless( {
# &quot;dbi&quot; =&gt; bless( {
# &quot;connector&quot; =&gt; bless( {
# &quot;_args&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;_dbh&quot; =&gt; bless( {}, &#39;DBI::db&#39; ),
# &quot;_dond&quot; =&gt; 1,
# &quot;_mode&quot; =&gt; &quot;no_ping&quot;,
# &quot;_pid&quot; =&gt; 19918,
# &quot;_svp_depth&quot; =&gt; 0,
# &quot;driver&quot; =&gt; bless( {
# &quot;_sqlite_is_new_enough&quot; =&gt; 1,
# &quot;driver&quot; =&gt; &quot;SQLite&quot;
# }, &#39;DBIx::Connector::Driver::SQLite&#39; )
# }, &#39;DBIx::Connector&#39; ),
# &quot;dbh&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;}{&quot;connector&quot;}{&quot;_dbh&quot;},
# &quot;default_option&quot; =&gt; {
# &quot;AutoCommit&quot; =&gt; 1,
# &quot;PrintError&quot; =&gt; 0,
# &quot;RaiseError&quot; =&gt; 1
# },
# &quot;dsn&quot; =&gt; &quot;dbi:SQLite:dbname=:memory:&quot;,
# &quot;option&quot; =&gt; {},
# &quot;password&quot; =&gt; undef,
# &quot;quote&quot; =&gt; &quot;\&quot;&quot;,
# &quot;safety_character&quot; =&gt; &quot;a-zA-Z0-9_&quot;,
# &quot;user&quot; =&gt; undef
# }, &#39;DBIx::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer::SQLite::Command&#39; ),
# &quot;dbi&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;command&quot;}{&quot;dbi&quot;},
# &quot;prefix&quot; =&gt; &quot;other&quot;,
# &quot;validator&quot; =&gt; bless( {
# &quot;checks&quot; =&gt; {
# &quot;ascii_graphic&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;number&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;constraints&quot; =&gt; {
# &quot;any&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;ascii&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;between&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;date_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;datetime_to_timepiece&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;decimal&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;duplication&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;equal_to&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;greater_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;http_url&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;in_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;int&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;length&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;less_than&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;merge&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_defined&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;not_space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;regex&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;safety_name&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;selected_at_least&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;shift&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;space&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;string&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;to_array_remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_collapse&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_lead&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim_uni_trail&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;uint&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;error_stock&quot; =&gt; 1,
# &quot;filters&quot; =&gt; {
# &quot;remove_blank&quot; =&gt; sub { &quot;DUMMY&quot; },
# &quot;trim&quot; =&gt; sub { &quot;DUMMY&quot; }
# },
# &quot;rule_obj&quot; =&gt; bless( {
# &quot;rule&quot; =&gt; [
# {
# &quot;constraints&quot; =&gt; [
# {
# &quot;args&quot; =&gt; [],
# &quot;funcs&quot; =&gt; [
# $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}{&quot;constraints&quot;}{&quot;safety_name&quot;}
# ],
# &quot;message&quot; =&gt; undef,
# &quot;original_constraint&quot; =&gt; &quot;safety_name&quot;
# }
# ],
# &quot;default&quot; =&gt; &quot;&quot;,
# &quot;key&quot; =&gt; &quot;database&quot;,
# &quot;option&quot; =&gt; {
# &quot;default&quot; =&gt; &quot;&quot;
# }
# }
# ],
# &quot;validator&quot; =&gt; $VAR1-&gt;{&quot;plugin&quot;}{&quot;validator&quot;}
# }, &#39;Validator::Custom::Rule&#39; ),
# &quot;shared_rule&quot; =&gt; []
# }, &#39;Validator::Custom&#39; )
# }, &#39;Mojolicious::Plugin::DBViewer&#39; ),
# &quot;prefix&quot; =&gt; &quot;other&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:36 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:table3)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 297.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 297.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:1 to 100)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 297.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:3510)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 297.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:13)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 297.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:16)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 323.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=11</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 11,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 323.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=11</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 11,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:3510)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 323.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=11</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 11,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:13)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 323.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=11</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 11,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:38 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:16)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 348.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=12</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 12,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 348.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=12</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 12,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:3510)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 348.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=12</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 12,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:13)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 348.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=12</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 12,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:16)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 348.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=12</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 12,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:21)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:3501 to 3510)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:3510)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:21)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:22)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:24)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:28)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:31)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 373.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page&amp;page=36</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;page&quot; =&gt; 36,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:40 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:32)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 402.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:42 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 402.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:42 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:800)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 418.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:42 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:select\ \*\ from\ \<i\>table_page\<\/i\>)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 418.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:42 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:801)'
# Failed test 'content is similar'
# at t/sqlite-basic.t line 418.
Wide character in print at /home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/Test2/Formatter/TAP.pm line 112.
# '<!DOCTYPE html>
# <html>
# <head>
# <title>Page not found (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet">
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# :not(pre) > code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-bottom: 0;
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #trace { border-top: 0 }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.mojolicious.org">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi">
# <input name="ie" type="hidden" value="UTF-8">
# <input name="q" placeholder="Search" type="search">
# </form>
# </div>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('mojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('click', function () {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(function () {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="routes" class="box infobox spaced">
# <h1>Page not found... yet!</h1>
# <p>
# None of these routes could generate a response for your
# <code>GET</code> request for
# <code>/dbviewer/select</code>, maybe you need
# to add a new one?
# </p>
# <table>
# <thead>
# <tr>
# <th>Pattern</th>
# <th>Methods</th>
# <th>Name</th>
# </tr>
# </thead>
# <tr>
# <td class="striped value">
# <pre>/</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/other</pre>
# </td>
# <td class="striped value">
# <pre>*</pre>
# </td>
# <td class="striped value">
# <pre>other</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value">
# <pre> +/</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre></pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/tables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>tables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/table</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>table</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showcreatetables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showcreatetables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showselecttables</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showselecttables</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/showprimarykeys</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>showprimarykeys</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/shownullallowedcolumns</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>shownullallowedcolumns</pre>
# </td>
# </tr>
#
# <tr>
# <td class="striped value">
# <pre> +/select</pre>
# </td>
# <td class="striped value">
# <pre>GET</pre>
# </td>
# <td class="striped value">
# <pre>select</pre>
# </td>
# </tr>
#
#
#
#
# </table>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>GET</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/dbviewer/select?database=main&amp;table=table_page</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# &quot;database&quot; =&gt; &quot;main&quot;,
# &quot;table&quot; =&gt; &quot;table_page&quot;
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>0</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>127.0.0.1:43391</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.26.0 (linux)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.29 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/templates&quot;)}, &#39;Mojo::Home&#39; ),
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib/Mojolicious/Plugin/DBViewer/templates&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# bless( do{\(my $o = &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/t/public&quot;)}, &#39;Mojo::Home&#39; )
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# &quot;Test2&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/lib&quot;,
# &quot;/home/ryan/.cpanm/work/1493344378.19833/Mojolicious-Plugin-DBViewer-0.01/blib/arch&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/site_perl/5.26.0&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0/x86_64-linux&quot;,
# &quot;/home/ryan/perl5/perlbrew/perls/perl-blead/lib/5.26.0&quot;,
# &quot;.&quot;
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>sqlite-basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/sqlite-basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl5.26.0</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>19918</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Thu Apr 27 18:53:42 2017</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png">
# </a> </div>
# </body>
# </html>
# '
# doesn't match '(?^:\b9\b)'
# Looks like you failed 82 tests of 255.
t/sqlite-basic.t ..
Dubious, test returned 82 (wstat 20992, 0x5200)
Failed 82/255 subtests
Test Summary Report
-------------------
t/sqlite-basic.t (Wstat: 20992 Tests: 255 Failed: 82)
Failed tests: 4-6, 20-22, 34-36, 42-43, 46, 49-56, 58-62
64-66, 68-69, 71-74, 77, 82-84, 98-100
112-114, 120-122, 124-125, 127-130, 133
135-137, 150, 153, 160-161, 174, 177, 184-185
197, 200, 205, 208-210, 216-217, 219, 223
226-227, 233-234, 245-246, 255
Non-zero exit status: 82
Files=3, Tests=256, 40 wallclock secs ( 0.02 usr 0.01 sys + 1.09 cusr 0.04 csys = 1.16 CPU)
Result: FAIL
Failed 1/3 test programs. 82/256 subtests failed.
Makefile:869: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 82
! Installing Mojolicious::Plugin::DBViewer::MySQL::Dbviewer failed. See /home/ryan/.cpanm/work/1493344378.19833/build.log for details. Retry with --force to force install it.
FAIL
Command [cpanm --reinstall --verbose Mojolicious::Plugin::DBViewer::MySQL::Dbviewer] terminated with exit code 1 ($? = 256) under the following perl environment:
Command terminated with non-zero status.
Current perl:
Name: perl-blead
Path: /home/ryan/perl5/perlbrew/perls/perl-blead/bin/perl
Config: -de -Dprefix=/home/ryan/perl5/perlbrew/perls/perl-blead -Dusedevel -Aeval:scriptdir=/home/ryan/perl5/perlbrew/perls/perl-blead/bin
Compiled at: Mar 30 2017 03:10:09
perlbrew:
version: 0.78
ENV:
PERLBREW_ROOT: /home/ryan/perl5/perlbrew
PERLBREW_HOME: /home/ryan/.perlbrew
PERLBREW_PATH: /home/ryan/perl5/perlbrew/bin:/home/ryan/perl5/perlbrew/perls/perl-blead/bin
PERLBREW_MANPATH: /home/ryan/perl5/perlbrew/perls/perl-blead/man