| ... | ... | 
                  @@ -1,3 +1,7 @@  | 
              
| 1 | 
                  +0.1623  | 
              |
| 2 | 
                  + added experimental auto_filter method  | 
              |
| 3 | 
                  + deprecated default_bind_filter and default_fetch_filter because these are global effect.  | 
              |
| 4 | 
                  + weakend filter_check for usability  | 
              |
| 1 | 5 | 
                  0.1622  | 
              
| 2 | 6 | 
                  deprecated DBIx::Custom::SQLite and DBIx::Custom::MySQL  | 
              
| 3 | 7 | 
                  added dbi_options attribute  | 
              
| ... | ... | 
                  @@ -1,873 +0,0 @@  | 
              
| 1 | 
                  -# This Makefile is for the DBIx::Custom extension to perl.  | 
              |
| 2 | 
                  -#  | 
              |
| 3 | 
                  -# It was generated automatically by MakeMaker version  | 
              |
| 4 | 
                  -# 6.48 (Revision: 64800) from the contents of  | 
              |
| 5 | 
                  -# Makefile.PL. Don't edit this file, edit Makefile.PL instead.  | 
              |
| 6 | 
                  -#  | 
              |
| 7 | 
                  -# ANY CHANGES MADE HERE WILL BE LOST!  | 
              |
| 8 | 
                  -#  | 
              |
| 9 | 
                  -# MakeMaker ARGV: ()  | 
              |
| 10 | 
                  -#  | 
              |
| 11 | 
                  -# MakeMaker Parameters:  | 
              |
| 12 | 
                  -  | 
              |
| 13 | 
                  -# ABSTRACT_FROM => q[lib/DBIx/Custom.pm]  | 
              |
| 14 | 
                  -# AUTHOR => q[Yuki Kimoto <kimoto.yuki@gmail.com>]  | 
              |
| 15 | 
                  -# LICENSE => q[perl]  | 
              |
| 16 | 
                  -# NAME => q[DBIx::Custom]  | 
              |
| 17 | 
                  -#     PL_FILES => {  }
                 | 
              |
| 18 | 
                  -#     PREREQ_PM => { Test::More=>q[0], Object::Simple=>q[3.0201], DBD::SQLite=>q[1.25], DBI=>q[1.605] }
                 | 
              |
| 19 | 
                  -# VERSION_FROM => q[lib/DBIx/Custom.pm]  | 
              |
| 20 | 
                  -#     clean => { FILES=>q[DBIx-Custom-*] }
                 | 
              |
| 21 | 
                  -#     dist => { COMPRESS=>q[gzip -9f], SUFFIX=>q[gz] }
                 | 
              |
| 22 | 
                  -  | 
              |
| 23 | 
                  -# --- MakeMaker post_initialize section:  | 
              |
| 24 | 
                  -  | 
              |
| 25 | 
                  -  | 
              |
| 26 | 
                  -# --- MakeMaker const_config section:  | 
              |
| 27 | 
                  -  | 
              |
| 28 | 
                  -# These definitions are from config.sh (via /usr/lib/perl5/5.8.8/i386-linux-thread-multi/Config.pm).  | 
              |
| 29 | 
                  -# They may have been overridden via Makefile.PL or on the command line.  | 
              |
| 30 | 
                  -AR = ar  | 
              |
| 31 | 
                  -CC = gcc  | 
              |
| 32 | 
                  -CCCDLFLAGS = -fPIC  | 
              |
| 33 | 
                  -CCDLFLAGS = -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE  | 
              |
| 34 | 
                  -DLEXT = so  | 
              |
| 35 | 
                  -DLSRC = dl_dlopen.xs  | 
              |
| 36 | 
                  -EXE_EXT =  | 
              |
| 37 | 
                  -FULL_AR = /usr/bin/ar  | 
              |
| 38 | 
                  -LD = gcc  | 
              |
| 39 | 
                  -LDDLFLAGS = -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib  | 
              |
| 40 | 
                  -LDFLAGS = -L/usr/local/lib  | 
              |
| 41 | 
                  -LIBC = /lib/libc-2.6.so  | 
              |
| 42 | 
                  -LIB_EXT = .a  | 
              |
| 43 | 
                  -OBJ_EXT = .o  | 
              |
| 44 | 
                  -OSNAME = linux  | 
              |
| 45 | 
                  -OSVERS = 2.6.18-53.1.14.el5xen  | 
              |
| 46 | 
                  -RANLIB = :  | 
              |
| 47 | 
                  -SITELIBEXP = /usr/lib/perl5/site_perl/5.8.8  | 
              |
| 48 | 
                  -SITEARCHEXP = /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi  | 
              |
| 49 | 
                  -SO = so  | 
              |
| 50 | 
                  -VENDORARCHEXP = /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi  | 
              |
| 51 | 
                  -VENDORLIBEXP = /usr/lib/perl5/vendor_perl/5.8.8  | 
              |
| 52 | 
                  -  | 
              |
| 53 | 
                  -  | 
              |
| 54 | 
                  -# --- MakeMaker constants section:  | 
              |
| 55 | 
                  -AR_STATIC_ARGS = cr  | 
              |
| 56 | 
                  -DIRFILESEP = /  | 
              |
| 57 | 
                  -DFSEP = $(DIRFILESEP)  | 
              |
| 58 | 
                  -NAME = DBIx::Custom  | 
              |
| 59 | 
                  -NAME_SYM = DBIx_Custom  | 
              |
| 60 | 
                  -VERSION = 0.1620  | 
              |
| 61 | 
                  -VERSION_MACRO = VERSION  | 
              |
| 62 | 
                  -VERSION_SYM = 0_1620  | 
              |
| 63 | 
                  -DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\"  | 
              |
| 64 | 
                  -XS_VERSION = 0.1620  | 
              |
| 65 | 
                  -XS_VERSION_MACRO = XS_VERSION  | 
              |
| 66 | 
                  -XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\"  | 
              |
| 67 | 
                  -INST_ARCHLIB = blib/arch  | 
              |
| 68 | 
                  -INST_SCRIPT = blib/script  | 
              |
| 69 | 
                  -INST_BIN = blib/bin  | 
              |
| 70 | 
                  -INST_LIB = blib/lib  | 
              |
| 71 | 
                  -INST_MAN1DIR = blib/man1  | 
              |
| 72 | 
                  -INST_MAN3DIR = blib/man3  | 
              |
| 73 | 
                  -MAN1EXT = 1  | 
              |
| 74 | 
                  -MAN3EXT = 3pm  | 
              |
| 75 | 
                  -INSTALLDIRS = site  | 
              |
| 76 | 
                  -DESTDIR =  | 
              |
| 77 | 
                  -PREFIX = $(SITEPREFIX)  | 
              |
| 78 | 
                  -PERLPREFIX = /usr  | 
              |
| 79 | 
                  -SITEPREFIX = /usr  | 
              |
| 80 | 
                  -VENDORPREFIX = /usr  | 
              |
| 81 | 
                  -INSTALLPRIVLIB = /usr/lib/perl5/5.8.8  | 
              |
| 82 | 
                  -DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)  | 
              |
| 83 | 
                  -INSTALLSITELIB = /usr/lib/perl5/site_perl/5.8.8  | 
              |
| 84 | 
                  -DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)  | 
              |
| 85 | 
                  -INSTALLVENDORLIB = /usr/lib/perl5/vendor_perl/5.8.8  | 
              |
| 86 | 
                  -DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)  | 
              |
| 87 | 
                  -INSTALLARCHLIB = /usr/lib/perl5/5.8.8/i386-linux-thread-multi  | 
              |
| 88 | 
                  -DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)  | 
              |
| 89 | 
                  -INSTALLSITEARCH = /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi  | 
              |
| 90 | 
                  -DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)  | 
              |
| 91 | 
                  -INSTALLVENDORARCH = /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi  | 
              |
| 92 | 
                  -DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)  | 
              |
| 93 | 
                  -INSTALLBIN = /usr/bin  | 
              |
| 94 | 
                  -DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)  | 
              |
| 95 | 
                  -INSTALLSITEBIN = /usr/bin  | 
              |
| 96 | 
                  -DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)  | 
              |
| 97 | 
                  -INSTALLVENDORBIN = /usr/bin  | 
              |
| 98 | 
                  -DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN)  | 
              |
| 99 | 
                  -INSTALLSCRIPT = /usr/bin  | 
              |
| 100 | 
                  -DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT)  | 
              |
| 101 | 
                  -INSTALLSITESCRIPT = /usr/bin  | 
              |
| 102 | 
                  -DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT)  | 
              |
| 103 | 
                  -INSTALLVENDORSCRIPT = /usr/bin  | 
              |
| 104 | 
                  -DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT)  | 
              |
| 105 | 
                  -INSTALLMAN1DIR = /usr/share/man/man1  | 
              |
| 106 | 
                  -DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR)  | 
              |
| 107 | 
                  -INSTALLSITEMAN1DIR = /usr/share/man/man1  | 
              |
| 108 | 
                  -DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR)  | 
              |
| 109 | 
                  -INSTALLVENDORMAN1DIR = /usr/share/man/man1  | 
              |
| 110 | 
                  -DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR)  | 
              |
| 111 | 
                  -INSTALLMAN3DIR = /usr/share/man/man3  | 
              |
| 112 | 
                  -DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR)  | 
              |
| 113 | 
                  -INSTALLSITEMAN3DIR = /usr/share/man/man3  | 
              |
| 114 | 
                  -DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR)  | 
              |
| 115 | 
                  -INSTALLVENDORMAN3DIR = /usr/share/man/man3  | 
              |
| 116 | 
                  -DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR)  | 
              |
| 117 | 
                  -PERL_LIB = /usr/lib/perl5/5.8.8  | 
              |
| 118 | 
                  -PERL_ARCHLIB = /usr/lib/perl5/5.8.8/i386-linux-thread-multi  | 
              |
| 119 | 
                  -LIBPERL_A = libperl.a  | 
              |
| 120 | 
                  -FIRST_MAKEFILE = Makefile  | 
              |
| 121 | 
                  -MAKEFILE_OLD = Makefile.old  | 
              |
| 122 | 
                  -MAKE_APERL_FILE = Makefile.aperl  | 
              |
| 123 | 
                  -PERLMAINCC = $(CC)  | 
              |
| 124 | 
                  -PERL_INC = /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE  | 
              |
| 125 | 
                  -PERL = /usr/bin/perl  | 
              |
| 126 | 
                  -FULLPERL = /usr/bin/perl  | 
              |
| 127 | 
                  -ABSPERL = $(PERL)  | 
              |
| 128 | 
                  -PERLRUN = $(PERL)  | 
              |
| 129 | 
                  -FULLPERLRUN = $(FULLPERL)  | 
              |
| 130 | 
                  -ABSPERLRUN = $(ABSPERL)  | 
              |
| 131 | 
                  -PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"  | 
              |
| 132 | 
                  -FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"  | 
              |
| 133 | 
                  -ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"  | 
              |
| 134 | 
                  -PERL_CORE = 0  | 
              |
| 135 | 
                  -PERM_RW = 644  | 
              |
| 136 | 
                  -PERM_RWX = 755  | 
              |
| 137 | 
                  -  | 
              |
| 138 | 
                  -MAKEMAKER = /usr/lib/perl5/5.8.8/ExtUtils/MakeMaker.pm  | 
              |
| 139 | 
                  -MM_VERSION = 6.48  | 
              |
| 140 | 
                  -MM_REVISION = 64800  | 
              |
| 141 | 
                  -  | 
              |
| 142 | 
                  -# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).  | 
              |
| 143 | 
                  -# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)  | 
              |
| 144 | 
                  -# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)  | 
              |
| 145 | 
                  -# DLBASE = Basename part of dynamic library. May be just equal BASEEXT.  | 
              |
| 146 | 
                  -MAKE = make  | 
              |
| 147 | 
                  -FULLEXT = DBIx/Custom  | 
              |
| 148 | 
                  -BASEEXT = Custom  | 
              |
| 149 | 
                  -PARENT_NAME = DBIx  | 
              |
| 150 | 
                  -DLBASE = $(BASEEXT)  | 
              |
| 151 | 
                  -VERSION_FROM = lib/DBIx/Custom.pm  | 
              |
| 152 | 
                  -OBJECT =  | 
              |
| 153 | 
                  -LDFROM = $(OBJECT)  | 
              |
| 154 | 
                  -LINKTYPE = dynamic  | 
              |
| 155 | 
                  -BOOTDEP =  | 
              |
| 156 | 
                  -  | 
              |
| 157 | 
                  -# Handy lists of source code files:  | 
              |
| 158 | 
                  -XS_FILES =  | 
              |
| 159 | 
                  -C_FILES =  | 
              |
| 160 | 
                  -O_FILES =  | 
              |
| 161 | 
                  -H_FILES =  | 
              |
| 162 | 
                  -MAN1PODS =  | 
              |
| 163 | 
                  -MAN3PODS = lib/DBIx/Custom.pm \  | 
              |
| 164 | 
                  - lib/DBIx/Custom/Guides.pod \  | 
              |
| 165 | 
                  - lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 166 | 
                  - lib/DBIx/Custom/MySQL.pm \  | 
              |
| 167 | 
                  - lib/DBIx/Custom/Query.pm \  | 
              |
| 168 | 
                  - lib/DBIx/Custom/QueryBuilder.pm \  | 
              |
| 169 | 
                  - lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 170 | 
                  - lib/DBIx/Custom/Result.pm \  | 
              |
| 171 | 
                  - lib/DBIx/Custom/SQLite.pm  | 
              |
| 172 | 
                  -  | 
              |
| 173 | 
                  -# Where is the Config information that we are using/depend on  | 
              |
| 174 | 
                  -CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h  | 
              |
| 175 | 
                  -  | 
              |
| 176 | 
                  -# Where to build things  | 
              |
| 177 | 
                  -INST_LIBDIR = $(INST_LIB)/DBIx  | 
              |
| 178 | 
                  -INST_ARCHLIBDIR = $(INST_ARCHLIB)/DBIx  | 
              |
| 179 | 
                  -  | 
              |
| 180 | 
                  -INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT)  | 
              |
| 181 | 
                  -INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT)  | 
              |
| 182 | 
                  -  | 
              |
| 183 | 
                  -INST_STATIC =  | 
              |
| 184 | 
                  -INST_DYNAMIC =  | 
              |
| 185 | 
                  -INST_BOOT =  | 
              |
| 186 | 
                  -  | 
              |
| 187 | 
                  -# Extra linker info  | 
              |
| 188 | 
                  -EXPORT_LIST =  | 
              |
| 189 | 
                  -PERL_ARCHIVE =  | 
              |
| 190 | 
                  -PERL_ARCHIVE_AFTER =  | 
              |
| 191 | 
                  -  | 
              |
| 192 | 
                  -  | 
              |
| 193 | 
                  -TO_INST_PM = lib/DBIx/Custom.pm \  | 
              |
| 194 | 
                  - lib/DBIx/Custom/Guides.pod \  | 
              |
| 195 | 
                  - lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 196 | 
                  - lib/DBIx/Custom/MySQL.pm \  | 
              |
| 197 | 
                  - lib/DBIx/Custom/Query.pm \  | 
              |
| 198 | 
                  - lib/DBIx/Custom/QueryBuilder.pm \  | 
              |
| 199 | 
                  - lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 200 | 
                  - lib/DBIx/Custom/Result.pm \  | 
              |
| 201 | 
                  - lib/DBIx/Custom/SQLite.pm  | 
              |
| 202 | 
                  -  | 
              |
| 203 | 
                  -PM_TO_BLIB = lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 204 | 
                  - blib/lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 205 | 
                  - lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 206 | 
                  - blib/lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 207 | 
                  - lib/DBIx/Custom/MySQL.pm \  | 
              |
| 208 | 
                  - blib/lib/DBIx/Custom/MySQL.pm \  | 
              |
| 209 | 
                  - lib/DBIx/Custom/Guides.pod \  | 
              |
| 210 | 
                  - blib/lib/DBIx/Custom/Guides.pod \  | 
              |
| 211 | 
                  - lib/DBIx/Custom.pm \  | 
              |
| 212 | 
                  - blib/lib/DBIx/Custom.pm \  | 
              |
| 213 | 
                  - lib/DBIx/Custom/Query.pm \  | 
              |
| 214 | 
                  - blib/lib/DBIx/Custom/Query.pm \  | 
              |
| 215 | 
                  - lib/DBIx/Custom/SQLite.pm \  | 
              |
| 216 | 
                  - blib/lib/DBIx/Custom/SQLite.pm \  | 
              |
| 217 | 
                  - lib/DBIx/Custom/Result.pm \  | 
              |
| 218 | 
                  - blib/lib/DBIx/Custom/Result.pm \  | 
              |
| 219 | 
                  - lib/DBIx/Custom/QueryBuilder.pm \  | 
              |
| 220 | 
                  - blib/lib/DBIx/Custom/QueryBuilder.pm  | 
              |
| 221 | 
                  -  | 
              |
| 222 | 
                  -  | 
              |
| 223 | 
                  -# --- MakeMaker platform_constants section:  | 
              |
| 224 | 
                  -MM_Unix_VERSION = 6.48  | 
              |
| 225 | 
                  -PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc  | 
              |
| 226 | 
                  -  | 
              |
| 227 | 
                  -  | 
              |
| 228 | 
                  -# --- MakeMaker tool_autosplit section:  | 
              |
| 229 | 
                  -# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto  | 
              |
| 230 | 
                  -AUTOSPLITFILE = $(ABSPERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)' --  | 
              |
| 231 | 
                  -  | 
              |
| 232 | 
                  -  | 
              |
| 233 | 
                  -  | 
              |
| 234 | 
                  -# --- MakeMaker tool_xsubpp section:  | 
              |
| 235 | 
                  -  | 
              |
| 236 | 
                  -  | 
              |
| 237 | 
                  -# --- MakeMaker tools_other section:  | 
              |
| 238 | 
                  -SHELL = /bin/sh  | 
              |
| 239 | 
                  -CHMOD = chmod  | 
              |
| 240 | 
                  -CP = cp  | 
              |
| 241 | 
                  -MV = mv  | 
              |
| 242 | 
                  -NOOP = $(SHELL) -c true  | 
              |
| 243 | 
                  -NOECHO = @  | 
              |
| 244 | 
                  -RM_F = rm -f  | 
              |
| 245 | 
                  -RM_RF = rm -rf  | 
              |
| 246 | 
                  -TEST_F = test -f  | 
              |
| 247 | 
                  -TOUCH = touch  | 
              |
| 248 | 
                  -UMASK_NULL = umask 0  | 
              |
| 249 | 
                  -DEV_NULL = > /dev/null 2>&1  | 
              |
| 250 | 
                  -MKPATH = $(ABSPERLRUN) "-MExtUtils::Command" -e mkpath  | 
              |
| 251 | 
                  -EQUALIZE_TIMESTAMP = $(ABSPERLRUN) "-MExtUtils::Command" -e eqtime  | 
              |
| 252 | 
                  -ECHO = echo  | 
              |
| 253 | 
                  -ECHO_N = echo -n  | 
              |
| 254 | 
                  -UNINST = 0  | 
              |
| 255 | 
                  -VERBINST = 0  | 
              |
| 256 | 
                  -MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install({@ARGV}, '\''$(VERBINST)'\'', 0, '\''$(UNINST)'\'');' --
                 | 
              |
| 257 | 
                  -DOC_INSTALL = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e perllocal_install  | 
              |
| 258 | 
                  -UNINSTALL = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e uninstall  | 
              |
| 259 | 
                  -WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) "-MExtUtils::Command::MM" -e warn_if_old_packlist  | 
              |
| 260 | 
                  -MACROSTART =  | 
              |
| 261 | 
                  -MACROEND =  | 
              |
| 262 | 
                  -USEMAKEFILE = -f  | 
              |
| 263 | 
                  -FIXIN = $(PERLRUN) "-MExtUtils::MY" -e "MY->fixin(shift)"  | 
              |
| 264 | 
                  -  | 
              |
| 265 | 
                  -  | 
              |
| 266 | 
                  -# --- MakeMaker makemakerdflt section:  | 
              |
| 267 | 
                  -makemakerdflt : all  | 
              |
| 268 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 269 | 
                  -  | 
              |
| 270 | 
                  -  | 
              |
| 271 | 
                  -# --- MakeMaker dist section:  | 
              |
| 272 | 
                  -TAR = tar  | 
              |
| 273 | 
                  -TARFLAGS = cvf  | 
              |
| 274 | 
                  -ZIP = zip  | 
              |
| 275 | 
                  -ZIPFLAGS = -r  | 
              |
| 276 | 
                  -COMPRESS = gzip -9f  | 
              |
| 277 | 
                  -SUFFIX = gz  | 
              |
| 278 | 
                  -SHAR = shar  | 
              |
| 279 | 
                  -PREOP = $(NOECHO) $(NOOP)  | 
              |
| 280 | 
                  -POSTOP = $(NOECHO) $(NOOP)  | 
              |
| 281 | 
                  -TO_UNIX = $(NOECHO) $(NOOP)  | 
              |
| 282 | 
                  -CI = ci -u  | 
              |
| 283 | 
                  -RCS_LABEL = rcs -Nv$(VERSION_SYM): -q  | 
              |
| 284 | 
                  -DIST_CP = best  | 
              |
| 285 | 
                  -DIST_DEFAULT = tardist  | 
              |
| 286 | 
                  -DISTNAME = DBIx-Custom  | 
              |
| 287 | 
                  -DISTVNAME = DBIx-Custom-0.1620  | 
              |
| 288 | 
                  -  | 
              |
| 289 | 
                  -  | 
              |
| 290 | 
                  -# --- MakeMaker macro section:  | 
              |
| 291 | 
                  -  | 
              |
| 292 | 
                  -  | 
              |
| 293 | 
                  -# --- MakeMaker depend section:  | 
              |
| 294 | 
                  -  | 
              |
| 295 | 
                  -  | 
              |
| 296 | 
                  -# --- MakeMaker cflags section:  | 
              |
| 297 | 
                  -  | 
              |
| 298 | 
                  -  | 
              |
| 299 | 
                  -# --- MakeMaker const_loadlibs section:  | 
              |
| 300 | 
                  -  | 
              |
| 301 | 
                  -  | 
              |
| 302 | 
                  -# --- MakeMaker const_cccmd section:  | 
              |
| 303 | 
                  -  | 
              |
| 304 | 
                  -  | 
              |
| 305 | 
                  -# --- MakeMaker post_constants section:  | 
              |
| 306 | 
                  -  | 
              |
| 307 | 
                  -  | 
              |
| 308 | 
                  -# --- MakeMaker pasthru section:  | 
              |
| 309 | 
                  -  | 
              |
| 310 | 
                  -PASTHRU = LIBPERL_A="$(LIBPERL_A)"\  | 
              |
| 311 | 
                  - LINKTYPE="$(LINKTYPE)"\  | 
              |
| 312 | 
                  - PREFIX="$(PREFIX)"  | 
              |
| 313 | 
                  -  | 
              |
| 314 | 
                  -  | 
              |
| 315 | 
                  -# --- MakeMaker special_targets section:  | 
              |
| 316 | 
                  -.SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT)  | 
              |
| 317 | 
                  -  | 
              |
| 318 | 
                  -.PHONY: all config static dynamic test linkext manifest blibdirs clean realclean disttest distdir  | 
              |
| 319 | 
                  -  | 
              |
| 320 | 
                  -  | 
              |
| 321 | 
                  -  | 
              |
| 322 | 
                  -# --- MakeMaker c_o section:  | 
              |
| 323 | 
                  -  | 
              |
| 324 | 
                  -  | 
              |
| 325 | 
                  -# --- MakeMaker xs_c section:  | 
              |
| 326 | 
                  -  | 
              |
| 327 | 
                  -  | 
              |
| 328 | 
                  -# --- MakeMaker xs_o section:  | 
              |
| 329 | 
                  -  | 
              |
| 330 | 
                  -  | 
              |
| 331 | 
                  -# --- MakeMaker top_targets section:  | 
              |
| 332 | 
                  -all :: pure_all manifypods  | 
              |
| 333 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 334 | 
                  -  | 
              |
| 335 | 
                  -  | 
              |
| 336 | 
                  -pure_all :: config pm_to_blib subdirs linkext  | 
              |
| 337 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 338 | 
                  -  | 
              |
| 339 | 
                  -subdirs :: $(MYEXTLIB)  | 
              |
| 340 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 341 | 
                  -  | 
              |
| 342 | 
                  -config :: $(FIRST_MAKEFILE) blibdirs  | 
              |
| 343 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 344 | 
                  -  | 
              |
| 345 | 
                  -help :  | 
              |
| 346 | 
                  - perldoc ExtUtils::MakeMaker  | 
              |
| 347 | 
                  -  | 
              |
| 348 | 
                  -  | 
              |
| 349 | 
                  -# --- MakeMaker blibdirs section:  | 
              |
| 350 | 
                  -blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists  | 
              |
| 351 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 352 | 
                  -  | 
              |
| 353 | 
                  -# Backwards compat with 6.18 through 6.25  | 
              |
| 354 | 
                  -blibdirs.ts : blibdirs  | 
              |
| 355 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 356 | 
                  -  | 
              |
| 357 | 
                  -$(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL  | 
              |
| 358 | 
                  - $(NOECHO) $(MKPATH) $(INST_LIBDIR)  | 
              |
| 359 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_LIBDIR)  | 
              |
| 360 | 
                  - $(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists  | 
              |
| 361 | 
                  -  | 
              |
| 362 | 
                  -$(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL  | 
              |
| 363 | 
                  - $(NOECHO) $(MKPATH) $(INST_ARCHLIB)  | 
              |
| 364 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_ARCHLIB)  | 
              |
| 365 | 
                  - $(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists  | 
              |
| 366 | 
                  -  | 
              |
| 367 | 
                  -$(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL  | 
              |
| 368 | 
                  - $(NOECHO) $(MKPATH) $(INST_AUTODIR)  | 
              |
| 369 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_AUTODIR)  | 
              |
| 370 | 
                  - $(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists  | 
              |
| 371 | 
                  -  | 
              |
| 372 | 
                  -$(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL  | 
              |
| 373 | 
                  - $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR)  | 
              |
| 374 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_ARCHAUTODIR)  | 
              |
| 375 | 
                  - $(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists  | 
              |
| 376 | 
                  -  | 
              |
| 377 | 
                  -$(INST_BIN)$(DFSEP).exists :: Makefile.PL  | 
              |
| 378 | 
                  - $(NOECHO) $(MKPATH) $(INST_BIN)  | 
              |
| 379 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_BIN)  | 
              |
| 380 | 
                  - $(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists  | 
              |
| 381 | 
                  -  | 
              |
| 382 | 
                  -$(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL  | 
              |
| 383 | 
                  - $(NOECHO) $(MKPATH) $(INST_SCRIPT)  | 
              |
| 384 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_SCRIPT)  | 
              |
| 385 | 
                  - $(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists  | 
              |
| 386 | 
                  -  | 
              |
| 387 | 
                  -$(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL  | 
              |
| 388 | 
                  - $(NOECHO) $(MKPATH) $(INST_MAN1DIR)  | 
              |
| 389 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_MAN1DIR)  | 
              |
| 390 | 
                  - $(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists  | 
              |
| 391 | 
                  -  | 
              |
| 392 | 
                  -$(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL  | 
              |
| 393 | 
                  - $(NOECHO) $(MKPATH) $(INST_MAN3DIR)  | 
              |
| 394 | 
                  - $(NOECHO) $(CHMOD) 755 $(INST_MAN3DIR)  | 
              |
| 395 | 
                  - $(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists  | 
              |
| 396 | 
                  -  | 
              |
| 397 | 
                  -  | 
              |
| 398 | 
                  -  | 
              |
| 399 | 
                  -# --- MakeMaker linkext section:  | 
              |
| 400 | 
                  -  | 
              |
| 401 | 
                  -linkext :: $(LINKTYPE)  | 
              |
| 402 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 403 | 
                  -  | 
              |
| 404 | 
                  -  | 
              |
| 405 | 
                  -# --- MakeMaker dlsyms section:  | 
              |
| 406 | 
                  -  | 
              |
| 407 | 
                  -  | 
              |
| 408 | 
                  -# --- MakeMaker dynamic section:  | 
              |
| 409 | 
                  -  | 
              |
| 410 | 
                  -dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT)  | 
              |
| 411 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 412 | 
                  -  | 
              |
| 413 | 
                  -  | 
              |
| 414 | 
                  -# --- MakeMaker dynamic_bs section:  | 
              |
| 415 | 
                  -  | 
              |
| 416 | 
                  -BOOTSTRAP =  | 
              |
| 417 | 
                  -  | 
              |
| 418 | 
                  -  | 
              |
| 419 | 
                  -# --- MakeMaker dynamic_lib section:  | 
              |
| 420 | 
                  -  | 
              |
| 421 | 
                  -  | 
              |
| 422 | 
                  -# --- MakeMaker static section:  | 
              |
| 423 | 
                  -  | 
              |
| 424 | 
                  -## $(INST_PM) has been moved to the all: target.  | 
              |
| 425 | 
                  -## It remains here for awhile to allow for old usage: "make static"  | 
              |
| 426 | 
                  -static :: $(FIRST_MAKEFILE) $(INST_STATIC)  | 
              |
| 427 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 428 | 
                  -  | 
              |
| 429 | 
                  -  | 
              |
| 430 | 
                  -# --- MakeMaker static_lib section:  | 
              |
| 431 | 
                  -  | 
              |
| 432 | 
                  -  | 
              |
| 433 | 
                  -# --- MakeMaker manifypods section:  | 
              |
| 434 | 
                  -  | 
              |
| 435 | 
                  -POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--"  | 
              |
| 436 | 
                  -POD2MAN = $(POD2MAN_EXE)  | 
              |
| 437 | 
                  -  | 
              |
| 438 | 
                  -  | 
              |
| 439 | 
                  -manifypods : pure_all \  | 
              |
| 440 | 
                  - lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 441 | 
                  - lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 442 | 
                  - lib/DBIx/Custom/MySQL.pm \  | 
              |
| 443 | 
                  - lib/DBIx/Custom/Guides.pod \  | 
              |
| 444 | 
                  - lib/DBIx/Custom.pm \  | 
              |
| 445 | 
                  - lib/DBIx/Custom/SQLite.pm \  | 
              |
| 446 | 
                  - lib/DBIx/Custom/Query.pm \  | 
              |
| 447 | 
                  - lib/DBIx/Custom/Result.pm \  | 
              |
| 448 | 
                  - lib/DBIx/Custom/QueryBuilder.pm  | 
              |
| 449 | 
                  - $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW) \  | 
              |
| 450 | 
                  - lib/DBIx/Custom/QueryBuilder/TagProcessors.pm $(INST_MAN3DIR)/DBIx::Custom::QueryBuilder::TagProcessors.$(MAN3EXT) \  | 
              |
| 451 | 
                  - lib/DBIx/Custom/Guides/Ja.pod $(INST_MAN3DIR)/DBIx::Custom::Guides::Ja.$(MAN3EXT) \  | 
              |
| 452 | 
                  - lib/DBIx/Custom/MySQL.pm $(INST_MAN3DIR)/DBIx::Custom::MySQL.$(MAN3EXT) \  | 
              |
| 453 | 
                  - lib/DBIx/Custom/Guides.pod $(INST_MAN3DIR)/DBIx::Custom::Guides.$(MAN3EXT) \  | 
              |
| 454 | 
                  - lib/DBIx/Custom.pm $(INST_MAN3DIR)/DBIx::Custom.$(MAN3EXT) \  | 
              |
| 455 | 
                  - lib/DBIx/Custom/SQLite.pm $(INST_MAN3DIR)/DBIx::Custom::SQLite.$(MAN3EXT) \  | 
              |
| 456 | 
                  - lib/DBIx/Custom/Query.pm $(INST_MAN3DIR)/DBIx::Custom::Query.$(MAN3EXT) \  | 
              |
| 457 | 
                  - lib/DBIx/Custom/Result.pm $(INST_MAN3DIR)/DBIx::Custom::Result.$(MAN3EXT) \  | 
              |
| 458 | 
                  - lib/DBIx/Custom/QueryBuilder.pm $(INST_MAN3DIR)/DBIx::Custom::QueryBuilder.$(MAN3EXT)  | 
              |
| 459 | 
                  -  | 
              |
| 460 | 
                  -  | 
              |
| 461 | 
                  -  | 
              |
| 462 | 
                  -  | 
              |
| 463 | 
                  -# --- MakeMaker processPL section:  | 
              |
| 464 | 
                  -  | 
              |
| 465 | 
                  -  | 
              |
| 466 | 
                  -# --- MakeMaker installbin section:  | 
              |
| 467 | 
                  -  | 
              |
| 468 | 
                  -  | 
              |
| 469 | 
                  -# --- MakeMaker subdirs section:  | 
              |
| 470 | 
                  -  | 
              |
| 471 | 
                  -# none  | 
              |
| 472 | 
                  -  | 
              |
| 473 | 
                  -# --- MakeMaker clean_subdirs section:  | 
              |
| 474 | 
                  -clean_subdirs :  | 
              |
| 475 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 476 | 
                  -  | 
              |
| 477 | 
                  -  | 
              |
| 478 | 
                  -# --- MakeMaker clean section:  | 
              |
| 479 | 
                  -  | 
              |
| 480 | 
                  -# Delete temporary files but do not touch installed files. We don't delete  | 
              |
| 481 | 
                  -# the Makefile here so a later make realclean still has a makefile to use.  | 
              |
| 482 | 
                  -  | 
              |
| 483 | 
                  -clean :: clean_subdirs  | 
              |
| 484 | 
                  - - $(RM_F) \  | 
              |
| 485 | 
                  - *$(LIB_EXT) core \  | 
              |
| 486 | 
                  - core.[0-9] $(INST_ARCHAUTODIR)/extralibs.all \  | 
              |
| 487 | 
                  - core.[0-9][0-9] $(BASEEXT).bso \  | 
              |
| 488 | 
                  - pm_to_blib.ts core.[0-9][0-9][0-9][0-9] \  | 
              |
| 489 | 
                  - $(BASEEXT).x $(BOOTSTRAP) \  | 
              |
| 490 | 
                  - perl$(EXE_EXT) tmon.out \  | 
              |
| 491 | 
                  - *$(OBJ_EXT) pm_to_blib \  | 
              |
| 492 | 
                  - $(INST_ARCHAUTODIR)/extralibs.ld blibdirs.ts \  | 
              |
| 493 | 
                  - core.[0-9][0-9][0-9][0-9][0-9] *perl.core \  | 
              |
| 494 | 
                  - core.*perl.*.? $(MAKE_APERL_FILE) \  | 
              |
| 495 | 
                  - $(BASEEXT).def perl \  | 
              |
| 496 | 
                  - core.[0-9][0-9][0-9] mon.out \  | 
              |
| 497 | 
                  - lib$(BASEEXT).def perl.exe \  | 
              |
| 498 | 
                  - perlmain.c so_locations \  | 
              |
| 499 | 
                  - $(BASEEXT).exp  | 
              |
| 500 | 
                  - - $(RM_RF) \  | 
              |
| 501 | 
                  - DBIx-Custom-* blib  | 
              |
| 502 | 
                  - - $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL)  | 
              |
| 503 | 
                  -  | 
              |
| 504 | 
                  -  | 
              |
| 505 | 
                  -# --- MakeMaker realclean_subdirs section:  | 
              |
| 506 | 
                  -realclean_subdirs :  | 
              |
| 507 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 508 | 
                  -  | 
              |
| 509 | 
                  -  | 
              |
| 510 | 
                  -# --- MakeMaker realclean section:  | 
              |
| 511 | 
                  -# Delete temporary files (via clean) and also delete dist files  | 
              |
| 512 | 
                  -realclean purge :: clean realclean_subdirs  | 
              |
| 513 | 
                  - - $(RM_F) \  | 
              |
| 514 | 
                  - $(MAKEFILE_OLD) $(FIRST_MAKEFILE)  | 
              |
| 515 | 
                  - - $(RM_RF) \  | 
              |
| 516 | 
                  - $(DISTVNAME)  | 
              |
| 517 | 
                  -  | 
              |
| 518 | 
                  -  | 
              |
| 519 | 
                  -# --- MakeMaker metafile section:  | 
              |
| 520 | 
                  -metafile : create_distdir  | 
              |
| 521 | 
                  - $(NOECHO) $(ECHO) Generating META.yml  | 
              |
| 522 | 
                  - $(NOECHO) $(ECHO) '--- #YAML:1.0' > META_new.yml  | 
              |
| 523 | 
                  - $(NOECHO) $(ECHO) 'name: DBIx-Custom' >> META_new.yml  | 
              |
| 524 | 
                  - $(NOECHO) $(ECHO) 'version: 0.1620' >> META_new.yml  | 
              |
| 525 | 
                  - $(NOECHO) $(ECHO) 'abstract: DBI interface, having hash parameter binding and filtering system' >> META_new.yml  | 
              |
| 526 | 
                  - $(NOECHO) $(ECHO) 'author:' >> META_new.yml  | 
              |
| 527 | 
                  - $(NOECHO) $(ECHO) ' - Yuki Kimoto <kimoto.yuki@gmail.com>' >> META_new.yml  | 
              |
| 528 | 
                  - $(NOECHO) $(ECHO) 'license: perl' >> META_new.yml  | 
              |
| 529 | 
                  - $(NOECHO) $(ECHO) 'distribution_type: module' >> META_new.yml  | 
              |
| 530 | 
                  - $(NOECHO) $(ECHO) 'configure_requires:' >> META_new.yml  | 
              |
| 531 | 
                  - $(NOECHO) $(ECHO) ' ExtUtils::MakeMaker: 0' >> META_new.yml  | 
              |
| 532 | 
                  - $(NOECHO) $(ECHO) 'requires:' >> META_new.yml  | 
              |
| 533 | 
                  - $(NOECHO) $(ECHO) ' DBD::SQLite: 1.25' >> META_new.yml  | 
              |
| 534 | 
                  - $(NOECHO) $(ECHO) ' DBI: 1.605' >> META_new.yml  | 
              |
| 535 | 
                  - $(NOECHO) $(ECHO) ' Object::Simple: 3.0201' >> META_new.yml  | 
              |
| 536 | 
                  - $(NOECHO) $(ECHO) ' Test::More: 0' >> META_new.yml  | 
              |
| 537 | 
                  - $(NOECHO) $(ECHO) 'no_index:' >> META_new.yml  | 
              |
| 538 | 
                  - $(NOECHO) $(ECHO) ' directory:' >> META_new.yml  | 
              |
| 539 | 
                  - $(NOECHO) $(ECHO) ' - t' >> META_new.yml  | 
              |
| 540 | 
                  - $(NOECHO) $(ECHO) ' - inc' >> META_new.yml  | 
              |
| 541 | 
                  - $(NOECHO) $(ECHO) 'generated_by: ExtUtils::MakeMaker version 6.48' >> META_new.yml  | 
              |
| 542 | 
                  - $(NOECHO) $(ECHO) 'meta-spec:' >> META_new.yml  | 
              |
| 543 | 
                  - $(NOECHO) $(ECHO) ' url: http://module-build.sourceforge.net/META-spec-v1.4.html' >> META_new.yml  | 
              |
| 544 | 
                  - $(NOECHO) $(ECHO) ' version: 1.4' >> META_new.yml  | 
              |
| 545 | 
                  - -$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml  | 
              |
| 546 | 
                  -  | 
              |
| 547 | 
                  -  | 
              |
| 548 | 
                  -# --- MakeMaker signature section:  | 
              |
| 549 | 
                  -signature :  | 
              |
| 550 | 
                  - cpansign -s  | 
              |
| 551 | 
                  -  | 
              |
| 552 | 
                  -  | 
              |
| 553 | 
                  -# --- MakeMaker dist_basics section:  | 
              |
| 554 | 
                  -distclean :: realclean distcheck  | 
              |
| 555 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 556 | 
                  -  | 
              |
| 557 | 
                  -distcheck :  | 
              |
| 558 | 
                  - $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck  | 
              |
| 559 | 
                  -  | 
              |
| 560 | 
                  -skipcheck :  | 
              |
| 561 | 
                  - $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck  | 
              |
| 562 | 
                  -  | 
              |
| 563 | 
                  -manifest :  | 
              |
| 564 | 
                  - $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest  | 
              |
| 565 | 
                  -  | 
              |
| 566 | 
                  -veryclean : realclean  | 
              |
| 567 | 
                  - $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old  | 
              |
| 568 | 
                  -  | 
              |
| 569 | 
                  -  | 
              |
| 570 | 
                  -  | 
              |
| 571 | 
                  -# --- MakeMaker dist_core section:  | 
              |
| 572 | 
                  -  | 
              |
| 573 | 
                  -dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE)  | 
              |
| 574 | 
                  - $(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \  | 
              |
| 575 | 
                  - -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';' --  | 
              |
| 576 | 
                  -  | 
              |
| 577 | 
                  -tardist : $(DISTVNAME).tar$(SUFFIX)  | 
              |
| 578 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 579 | 
                  -  | 
              |
| 580 | 
                  -uutardist : $(DISTVNAME).tar$(SUFFIX)  | 
              |
| 581 | 
                  - uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu  | 
              |
| 582 | 
                  -  | 
              |
| 583 | 
                  -$(DISTVNAME).tar$(SUFFIX) : distdir  | 
              |
| 584 | 
                  - $(PREOP)  | 
              |
| 585 | 
                  - $(TO_UNIX)  | 
              |
| 586 | 
                  - $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME)  | 
              |
| 587 | 
                  - $(RM_RF) $(DISTVNAME)  | 
              |
| 588 | 
                  - $(COMPRESS) $(DISTVNAME).tar  | 
              |
| 589 | 
                  - $(POSTOP)  | 
              |
| 590 | 
                  -  | 
              |
| 591 | 
                  -zipdist : $(DISTVNAME).zip  | 
              |
| 592 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 593 | 
                  -  | 
              |
| 594 | 
                  -$(DISTVNAME).zip : distdir  | 
              |
| 595 | 
                  - $(PREOP)  | 
              |
| 596 | 
                  - $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME)  | 
              |
| 597 | 
                  - $(RM_RF) $(DISTVNAME)  | 
              |
| 598 | 
                  - $(POSTOP)  | 
              |
| 599 | 
                  -  | 
              |
| 600 | 
                  -shdist : distdir  | 
              |
| 601 | 
                  - $(PREOP)  | 
              |
| 602 | 
                  - $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar  | 
              |
| 603 | 
                  - $(RM_RF) $(DISTVNAME)  | 
              |
| 604 | 
                  - $(POSTOP)  | 
              |
| 605 | 
                  -  | 
              |
| 606 | 
                  -  | 
              |
| 607 | 
                  -# --- MakeMaker distdir section:  | 
              |
| 608 | 
                  -create_distdir :  | 
              |
| 609 | 
                  - $(RM_RF) $(DISTVNAME)  | 
              |
| 610 | 
                  - $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \  | 
              |
| 611 | 
                  - -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');"  | 
              |
| 612 | 
                  -  | 
              |
| 613 | 
                  -distdir : create_distdir distmeta  | 
              |
| 614 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 615 | 
                  -  | 
              |
| 616 | 
                  -  | 
              |
| 617 | 
                  -  | 
              |
| 618 | 
                  -# --- MakeMaker dist_test section:  | 
              |
| 619 | 
                  -disttest : distdir  | 
              |
| 620 | 
                  - cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL  | 
              |
| 621 | 
                  - cd $(DISTVNAME) && $(MAKE) $(PASTHRU)  | 
              |
| 622 | 
                  - cd $(DISTVNAME) && $(MAKE) test $(PASTHRU)  | 
              |
| 623 | 
                  -  | 
              |
| 624 | 
                  -  | 
              |
| 625 | 
                  -  | 
              |
| 626 | 
                  -# --- MakeMaker dist_ci section:  | 
              |
| 627 | 
                  -  | 
              |
| 628 | 
                  -ci :  | 
              |
| 629 | 
                  - $(PERLRUN) "-MExtUtils::Manifest=maniread" \  | 
              |
| 630 | 
                  -	  -e "@all = keys %{ maniread() };" \
                 | 
              |
| 631 | 
                  -	  -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \
                 | 
              |
| 632 | 
                  -	  -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
                 | 
              |
| 633 | 
                  -  | 
              |
| 634 | 
                  -  | 
              |
| 635 | 
                  -# --- MakeMaker distmeta section:  | 
              |
| 636 | 
                  -distmeta : create_distdir metafile  | 
              |
| 637 | 
                  -	$(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } ' \
                 | 
              |
| 638 | 
                  -	  -e '    or print "Could not add META.yml to MANIFEST: $${'\''@'\''}\n"' --
                 | 
              |
| 639 | 
                  -  | 
              |
| 640 | 
                  -  | 
              |
| 641 | 
                  -  | 
              |
| 642 | 
                  -# --- MakeMaker distsignature section:  | 
              |
| 643 | 
                  -distsignature : create_distdir  | 
              |
| 644 | 
                  -	$(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) } ' \
                 | 
              |
| 645 | 
                  -	  -e '    or print "Could not add SIGNATURE to MANIFEST: $${'\''@'\''}\n"' --
                 | 
              |
| 646 | 
                  - $(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE  | 
              |
| 647 | 
                  - cd $(DISTVNAME) && cpansign -s  | 
              |
| 648 | 
                  -  | 
              |
| 649 | 
                  -  | 
              |
| 650 | 
                  -  | 
              |
| 651 | 
                  -# --- MakeMaker install section:  | 
              |
| 652 | 
                  -  | 
              |
| 653 | 
                  -install :: all pure_install doc_install  | 
              |
| 654 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 655 | 
                  -  | 
              |
| 656 | 
                  -install_perl :: all pure_perl_install doc_perl_install  | 
              |
| 657 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 658 | 
                  -  | 
              |
| 659 | 
                  -install_site :: all pure_site_install doc_site_install  | 
              |
| 660 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 661 | 
                  -  | 
              |
| 662 | 
                  -install_vendor :: all pure_vendor_install doc_vendor_install  | 
              |
| 663 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 664 | 
                  -  | 
              |
| 665 | 
                  -pure_install :: pure_$(INSTALLDIRS)_install  | 
              |
| 666 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 667 | 
                  -  | 
              |
| 668 | 
                  -doc_install :: doc_$(INSTALLDIRS)_install  | 
              |
| 669 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 670 | 
                  -  | 
              |
| 671 | 
                  -pure__install : pure_site_install  | 
              |
| 672 | 
                  - $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site  | 
              |
| 673 | 
                  -  | 
              |
| 674 | 
                  -doc__install : doc_site_install  | 
              |
| 675 | 
                  - $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site  | 
              |
| 676 | 
                  -  | 
              |
| 677 | 
                  -pure_perl_install ::  | 
              |
| 678 | 
                  - $(NOECHO) $(MOD_INSTALL) \  | 
              |
| 679 | 
                  - read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \  | 
              |
| 680 | 
                  - write $(DESTINSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \  | 
              |
| 681 | 
                  - $(INST_LIB) $(DESTINSTALLPRIVLIB) \  | 
              |
| 682 | 
                  - $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \  | 
              |
| 683 | 
                  - $(INST_BIN) $(DESTINSTALLBIN) \  | 
              |
| 684 | 
                  - $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \  | 
              |
| 685 | 
                  - $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \  | 
              |
| 686 | 
                  - $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR)  | 
              |
| 687 | 
                  - $(NOECHO) $(WARN_IF_OLD_PACKLIST) \  | 
              |
| 688 | 
                  - $(SITEARCHEXP)/auto/$(FULLEXT)  | 
              |
| 689 | 
                  -  | 
              |
| 690 | 
                  -  | 
              |
| 691 | 
                  -pure_site_install ::  | 
              |
| 692 | 
                  - $(NOECHO) $(MOD_INSTALL) \  | 
              |
| 693 | 
                  - read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \  | 
              |
| 694 | 
                  - write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \  | 
              |
| 695 | 
                  - $(INST_LIB) $(DESTINSTALLSITELIB) \  | 
              |
| 696 | 
                  - $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \  | 
              |
| 697 | 
                  - $(INST_BIN) $(DESTINSTALLSITEBIN) \  | 
              |
| 698 | 
                  - $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \  | 
              |
| 699 | 
                  - $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \  | 
              |
| 700 | 
                  - $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)  | 
              |
| 701 | 
                  - $(NOECHO) $(WARN_IF_OLD_PACKLIST) \  | 
              |
| 702 | 
                  - $(PERL_ARCHLIB)/auto/$(FULLEXT)  | 
              |
| 703 | 
                  -  | 
              |
| 704 | 
                  -pure_vendor_install ::  | 
              |
| 705 | 
                  - $(NOECHO) $(MOD_INSTALL) \  | 
              |
| 706 | 
                  - read $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist \  | 
              |
| 707 | 
                  - write $(DESTINSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist \  | 
              |
| 708 | 
                  - $(INST_LIB) $(DESTINSTALLVENDORLIB) \  | 
              |
| 709 | 
                  - $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \  | 
              |
| 710 | 
                  - $(INST_BIN) $(DESTINSTALLVENDORBIN) \  | 
              |
| 711 | 
                  - $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \  | 
              |
| 712 | 
                  - $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \  | 
              |
| 713 | 
                  - $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)  | 
              |
| 714 | 
                  -  | 
              |
| 715 | 
                  -doc_perl_install ::  | 
              |
| 716 | 
                  - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 717 | 
                  - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)  | 
              |
| 718 | 
                  - -$(NOECHO) $(DOC_INSTALL) \  | 
              |
| 719 | 
                  - "Module" "$(NAME)" \  | 
              |
| 720 | 
                  - "installed into" "$(INSTALLPRIVLIB)" \  | 
              |
| 721 | 
                  - LINKTYPE "$(LINKTYPE)" \  | 
              |
| 722 | 
                  - VERSION "$(VERSION)" \  | 
              |
| 723 | 
                  - EXE_FILES "$(EXE_FILES)" \  | 
              |
| 724 | 
                  - >> $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 725 | 
                  -  | 
              |
| 726 | 
                  -doc_site_install ::  | 
              |
| 727 | 
                  - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 728 | 
                  - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)  | 
              |
| 729 | 
                  - -$(NOECHO) $(DOC_INSTALL) \  | 
              |
| 730 | 
                  - "Module" "$(NAME)" \  | 
              |
| 731 | 
                  - "installed into" "$(INSTALLSITELIB)" \  | 
              |
| 732 | 
                  - LINKTYPE "$(LINKTYPE)" \  | 
              |
| 733 | 
                  - VERSION "$(VERSION)" \  | 
              |
| 734 | 
                  - EXE_FILES "$(EXE_FILES)" \  | 
              |
| 735 | 
                  - >> $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 736 | 
                  -  | 
              |
| 737 | 
                  -doc_vendor_install ::  | 
              |
| 738 | 
                  - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 739 | 
                  - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)  | 
              |
| 740 | 
                  - -$(NOECHO) $(DOC_INSTALL) \  | 
              |
| 741 | 
                  - "Module" "$(NAME)" \  | 
              |
| 742 | 
                  - "installed into" "$(INSTALLVENDORLIB)" \  | 
              |
| 743 | 
                  - LINKTYPE "$(LINKTYPE)" \  | 
              |
| 744 | 
                  - VERSION "$(VERSION)" \  | 
              |
| 745 | 
                  - EXE_FILES "$(EXE_FILES)" \  | 
              |
| 746 | 
                  - >> $(DESTINSTALLARCHLIB)/perllocal.pod  | 
              |
| 747 | 
                  -  | 
              |
| 748 | 
                  -  | 
              |
| 749 | 
                  -uninstall :: uninstall_from_$(INSTALLDIRS)dirs  | 
              |
| 750 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 751 | 
                  -  | 
              |
| 752 | 
                  -uninstall_from_perldirs ::  | 
              |
| 753 | 
                  - $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist  | 
              |
| 754 | 
                  -  | 
              |
| 755 | 
                  -uninstall_from_sitedirs ::  | 
              |
| 756 | 
                  - $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist  | 
              |
| 757 | 
                  -  | 
              |
| 758 | 
                  -uninstall_from_vendordirs ::  | 
              |
| 759 | 
                  - $(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist  | 
              |
| 760 | 
                  -  | 
              |
| 761 | 
                  -  | 
              |
| 762 | 
                  -# --- MakeMaker force section:  | 
              |
| 763 | 
                  -# Phony target to force checking subdirectories.  | 
              |
| 764 | 
                  -FORCE :  | 
              |
| 765 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 766 | 
                  -  | 
              |
| 767 | 
                  -  | 
              |
| 768 | 
                  -# --- MakeMaker perldepend section:  | 
              |
| 769 | 
                  -  | 
              |
| 770 | 
                  -  | 
              |
| 771 | 
                  -# --- MakeMaker makefile section:  | 
              |
| 772 | 
                  -# We take a very conservative approach here, but it's worth it.  | 
              |
| 773 | 
                  -# We move Makefile to Makefile.old here to avoid gnu make looping.  | 
              |
| 774 | 
                  -$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP)  | 
              |
| 775 | 
                  - $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?"  | 
              |
| 776 | 
                  - $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..."  | 
              |
| 777 | 
                  - -$(NOECHO) $(RM_F) $(MAKEFILE_OLD)  | 
              |
| 778 | 
                  - -$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD)  | 
              |
| 779 | 
                  - - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL)  | 
              |
| 780 | 
                  - $(PERLRUN) Makefile.PL  | 
              |
| 781 | 
                  - $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <=="  | 
              |
| 782 | 
                  - $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <=="  | 
              |
| 783 | 
                  - false  | 
              |
| 784 | 
                  -  | 
              |
| 785 | 
                  -  | 
              |
| 786 | 
                  -  | 
              |
| 787 | 
                  -# --- MakeMaker staticmake section:  | 
              |
| 788 | 
                  -  | 
              |
| 789 | 
                  -# --- MakeMaker makeaperl section ---  | 
              |
| 790 | 
                  -MAP_TARGET = perl  | 
              |
| 791 | 
                  -FULLPERL = /usr/bin/perl  | 
              |
| 792 | 
                  -  | 
              |
| 793 | 
                  -$(MAP_TARGET) :: static $(MAKE_APERL_FILE)  | 
              |
| 794 | 
                  - $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@  | 
              |
| 795 | 
                  -  | 
              |
| 796 | 
                  -$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib  | 
              |
| 797 | 
                  - $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET)  | 
              |
| 798 | 
                  - $(NOECHO) $(PERLRUNINST) \  | 
              |
| 799 | 
                  - Makefile.PL DIR= \  | 
              |
| 800 | 
                  - MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \  | 
              |
| 801 | 
                  - MAKEAPERL=1 NORECURS=1 CCCDLFLAGS=  | 
              |
| 802 | 
                  -  | 
              |
| 803 | 
                  -  | 
              |
| 804 | 
                  -# --- MakeMaker test section:  | 
              |
| 805 | 
                  -  | 
              |
| 806 | 
                  -TEST_VERBOSE=0  | 
              |
| 807 | 
                  -TEST_TYPE=test_$(LINKTYPE)  | 
              |
| 808 | 
                  -TEST_FILE = test.pl  | 
              |
| 809 | 
                  -TEST_FILES = t/*.t  | 
              |
| 810 | 
                  -TESTDB_SW = -d  | 
              |
| 811 | 
                  -  | 
              |
| 812 | 
                  -testdb :: testdb_$(LINKTYPE)  | 
              |
| 813 | 
                  -  | 
              |
| 814 | 
                  -test :: $(TEST_TYPE) subdirs-test  | 
              |
| 815 | 
                  -  | 
              |
| 816 | 
                  -subdirs-test ::  | 
              |
| 817 | 
                  - $(NOECHO) $(NOOP)  | 
              |
| 818 | 
                  -  | 
              |
| 819 | 
                  -  | 
              |
| 820 | 
                  -test_dynamic :: pure_all  | 
              |
| 821 | 
                  - PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES)  | 
              |
| 822 | 
                  -  | 
              |
| 823 | 
                  -testdb_dynamic :: pure_all  | 
              |
| 824 | 
                  - PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE)  | 
              |
| 825 | 
                  -  | 
              |
| 826 | 
                  -test_ : test_dynamic  | 
              |
| 827 | 
                  -  | 
              |
| 828 | 
                  -test_static :: test_dynamic  | 
              |
| 829 | 
                  -testdb_static :: testdb_dynamic  | 
              |
| 830 | 
                  -  | 
              |
| 831 | 
                  -  | 
              |
| 832 | 
                  -# --- MakeMaker ppd section:  | 
              |
| 833 | 
                  -# Creates a PPD (Perl Package Description) for a binary distribution.  | 
              |
| 834 | 
                  -ppd :  | 
              |
| 835 | 
                  - $(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="0,1620,0,0">' > $(DISTNAME).ppd  | 
              |
| 836 | 
                  - $(NOECHO) $(ECHO) ' <TITLE>$(DISTNAME)</TITLE>' >> $(DISTNAME).ppd  | 
              |
| 837 | 
                  - $(NOECHO) $(ECHO) ' <ABSTRACT>DBI interface, having hash parameter binding and filtering system</ABSTRACT>' >> $(DISTNAME).ppd  | 
              |
| 838 | 
                  - $(NOECHO) $(ECHO) ' <AUTHOR>Yuki Kimoto <kimoto.yuki@gmail.com></AUTHOR>' >> $(DISTNAME).ppd  | 
              |
| 839 | 
                  - $(NOECHO) $(ECHO) ' <IMPLEMENTATION>' >> $(DISTNAME).ppd  | 
              |
| 840 | 
                  - $(NOECHO) $(ECHO) ' <DEPENDENCY NAME="DBD-SQLite" VERSION="1,25,0,0" />' >> $(DISTNAME).ppd  | 
              |
| 841 | 
                  - $(NOECHO) $(ECHO) ' <DEPENDENCY NAME="DBI" VERSION="1,605,0,0" />' >> $(DISTNAME).ppd  | 
              |
| 842 | 
                  - $(NOECHO) $(ECHO) ' <DEPENDENCY NAME="Object-Simple" VERSION="3,0201,0,0" />' >> $(DISTNAME).ppd  | 
              |
| 843 | 
                  - $(NOECHO) $(ECHO) ' <DEPENDENCY NAME="Test-More" VERSION="0,0,0,0" />' >> $(DISTNAME).ppd  | 
              |
| 844 | 
                  - $(NOECHO) $(ECHO) ' <OS NAME="$(OSNAME)" />' >> $(DISTNAME).ppd  | 
              |
| 845 | 
                  - $(NOECHO) $(ECHO) ' <ARCHITECTURE NAME="i386-linux-thread-multi-5.8" />' >> $(DISTNAME).ppd  | 
              |
| 846 | 
                  - $(NOECHO) $(ECHO) ' <CODEBASE HREF="" />' >> $(DISTNAME).ppd  | 
              |
| 847 | 
                  - $(NOECHO) $(ECHO) ' </IMPLEMENTATION>' >> $(DISTNAME).ppd  | 
              |
| 848 | 
                  - $(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd  | 
              |
| 849 | 
                  -  | 
              |
| 850 | 
                  -  | 
              |
| 851 | 
                  -# --- MakeMaker pm_to_blib section:  | 
              |
| 852 | 
                  -  | 
              |
| 853 | 
                  -pm_to_blib : $(TO_INST_PM)  | 
              |
| 854 | 
                  -	$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', '\''$(PM_FILTER)'\'')' -- \
                 | 
              |
| 855 | 
                  - lib/DBIx/Custom/QueryBuilder/TagProcessors.pm blib/lib/DBIx/Custom/QueryBuilder/TagProcessors.pm \  | 
              |
| 856 | 
                  - lib/DBIx/Custom/Guides/Ja.pod blib/lib/DBIx/Custom/Guides/Ja.pod \  | 
              |
| 857 | 
                  - lib/DBIx/Custom/MySQL.pm blib/lib/DBIx/Custom/MySQL.pm \  | 
              |
| 858 | 
                  - lib/DBIx/Custom/Guides.pod blib/lib/DBIx/Custom/Guides.pod \  | 
              |
| 859 | 
                  - lib/DBIx/Custom.pm blib/lib/DBIx/Custom.pm \  | 
              |
| 860 | 
                  - lib/DBIx/Custom/Query.pm blib/lib/DBIx/Custom/Query.pm \  | 
              |
| 861 | 
                  - lib/DBIx/Custom/SQLite.pm blib/lib/DBIx/Custom/SQLite.pm \  | 
              |
| 862 | 
                  - lib/DBIx/Custom/Result.pm blib/lib/DBIx/Custom/Result.pm \  | 
              |
| 863 | 
                  - lib/DBIx/Custom/QueryBuilder.pm blib/lib/DBIx/Custom/QueryBuilder.pm  | 
              |
| 864 | 
                  - $(NOECHO) $(TOUCH) pm_to_blib  | 
              |
| 865 | 
                  -  | 
              |
| 866 | 
                  -  | 
              |
| 867 | 
                  -# --- MakeMaker selfdocument section:  | 
              |
| 868 | 
                  -  | 
              |
| 869 | 
                  -  | 
              |
| 870 | 
                  -# --- MakeMaker postamble section:  | 
              |
| 871 | 
                  -  | 
              |
| 872 | 
                  -  | 
              |
| 873 | 
                  -# End.  | 
              
| ... | ... | 
                  @@ -1,6 +1,6 @@  | 
              
| 1 | 1 | 
                  package DBIx::Custom;  | 
              
| 2 | 2 | 
                   | 
              
| 3 | 
                  -our $VERSION = '0.1622';  | 
              |
| 3 | 
                  +our $VERSION = '0.1623';  | 
              |
| 4 | 4 | 
                   | 
              
| 5 | 5 | 
                  use 5.008001;  | 
              
| 6 | 6 | 
                  use strict;  | 
              
| ... | ... | 
                  @@ -74,6 +74,46 @@ sub AUTOLOAD {
                 | 
              
| 74 | 74 | 
                  return $self->$helper(@_);  | 
              
| 75 | 75 | 
                  }  | 
              
| 76 | 76 | 
                   | 
              
| 77 | 
                  +sub auto_filter {
                 | 
              |
| 78 | 
                  + my $self = shift;  | 
              |
| 79 | 
                  +  | 
              |
| 80 | 
                  + # Table  | 
              |
| 81 | 
                  + my $table = shift;  | 
              |
| 82 | 
                  +  | 
              |
| 83 | 
                  + # Column infomations  | 
              |
| 84 | 
                  + my @cs = @_;  | 
              |
| 85 | 
                  +  | 
              |
| 86 | 
                  + # Initialize filters  | 
              |
| 87 | 
                  +    $self->{_auto_bind_filter} ||= {};
                 | 
              |
| 88 | 
                  +    $self->{_auto_fetch_filter} ||= {};
                 | 
              |
| 89 | 
                  +  | 
              |
| 90 | 
                  + # Create auto filters  | 
              |
| 91 | 
                  +    foreach my $c (@cs) {
                 | 
              |
| 92 | 
                  +        croak "Usage \$dbi->auto_filter(" .
                 | 
              |
| 93 | 
                  + "TABLE, [COLUMN, BIND_FILTER, FETCH_FILTER], [...])"  | 
              |
| 94 | 
                  + unless ref $c eq 'ARRAY' && @$c == 3;  | 
              |
| 95 | 
                  +  | 
              |
| 96 | 
                  + # Column  | 
              |
| 97 | 
                  + my $column = $c->[0];  | 
              |
| 98 | 
                  +  | 
              |
| 99 | 
                  + # Bind filter  | 
              |
| 100 | 
                  + my $bind_filter = $c->[1];  | 
              |
| 101 | 
                  +        croak qq{"$bind_filter" is not registered}
                 | 
              |
| 102 | 
                  +          unless $self->filters->{$bind_filter};
                 | 
              |
| 103 | 
                  +        $self->{_auto_bind_filter}{$table}{$column} = $bind_filter;
                 | 
              |
| 104 | 
                  +        $self->{_auto_bind_filter}{$table}{"$table.$column"} = $bind_filter;
                 | 
              |
| 105 | 
                  +  | 
              |
| 106 | 
                  + # Fetch filter  | 
              |
| 107 | 
                  + my $fetch_filter = $c->[2];  | 
              |
| 108 | 
                  +        croak qq{"$fetch_filter" is not registered}
                 | 
              |
| 109 | 
                  +          unless $self->filters->{$fetch_filter};
                 | 
              |
| 110 | 
                  +        $self->{_auto_fetch_filter}{$table}{$column} = $fetch_filter;
                 | 
              |
| 111 | 
                  +        $self->{_auto_fetch_filter}{$table}{"$table.$column"} = $fetch_filter;
                 | 
              |
| 112 | 
                  + }  | 
              |
| 113 | 
                  +  | 
              |
| 114 | 
                  + return $self;  | 
              |
| 115 | 
                  +}  | 
              |
| 116 | 
                  +  | 
              |
| 77 | 117 | 
                   sub helper {
                 | 
              
| 78 | 118 | 
                  my $self = shift;  | 
              
| 79 | 119 | 
                   | 
              
| ... | ... | 
                  @@ -100,8 +140,6 @@ sub connect {
                 | 
              
| 100 | 140 | 
                  my $password = $self->password;  | 
              
| 101 | 141 | 
                       my $dbi_options = $self->dbi_options || {};
                 | 
              
| 102 | 142 | 
                   | 
              
| 103 | 
                  - $DB::single = 1;  | 
              |
| 104 | 
                  -  | 
              |
| 105 | 143 | 
                  # Connect  | 
              
| 106 | 144 | 
                       my $dbh = eval {DBI->connect(
                 | 
              
| 107 | 145 | 
                  $data_source,  | 
              
| ... | ... | 
                  @@ -168,7 +206,7 @@ sub create_query {
                 | 
              
| 168 | 206 | 
                  }  | 
              
| 169 | 207 | 
                   | 
              
| 170 | 208 | 
                  our %VALID_DELETE_ARGS  | 
              
| 171 | 
                  -  = map { $_ => 1 } qw/table where append filter allow_delete_all/;
                 | 
              |
| 209 | 
                  +  = map { $_ => 1 } qw/auto_filter_table table where append filter allow_delete_all/;
                 | 
              |
| 172 | 210 | 
                   | 
              
| 173 | 211 | 
                   sub delete {
                 | 
              
| 174 | 212 | 
                  my ($self, %args) = @_;  | 
              
| ... | ... | 
                  @@ -185,7 +223,12 @@ sub delete {
                 | 
              
| 185 | 223 | 
                       my $append = $args{append};
                 | 
              
| 186 | 224 | 
                       my $filter           = $args{filter};
                 | 
              
| 187 | 225 | 
                       my $allow_delete_all = $args{allow_delete_all};
                 | 
              
| 188 | 
                  -  | 
              |
| 226 | 
                  +  | 
              |
| 227 | 
                  +    my $auto_filter_table = exists $args{auto_filter_table}
                 | 
              |
| 228 | 
                  +                          ? $args{auto_filter_table}
                 | 
              |
| 229 | 
                  + : [$table];  | 
              |
| 230 | 
                  + $auto_filter_table ||= [];  | 
              |
| 231 | 
                  +  | 
              |
| 189 | 232 | 
                  # Where keys  | 
              
| 190 | 233 | 
                  my @where_keys = keys %$where;  | 
              
| 191 | 234 | 
                   | 
              
| ... | ... | 
                  @@ -207,8 +250,9 @@ sub delete {
                 | 
              
| 207 | 250 | 
                  $source .= " $append" if $append;  | 
              
| 208 | 251 | 
                   | 
              
| 209 | 252 | 
                  # Execute query  | 
              
| 210 | 
                  - my $ret_val = $self->execute($source, param => $where,  | 
              |
| 211 | 
                  - filter => $filter);  | 
              |
| 253 | 
                  + my $ret_val = $self->execute(  | 
              |
| 254 | 
                  + $source, param => $where, filter => $filter,  | 
              |
| 255 | 
                  + auto_filter_table => $auto_filter_table);  | 
              |
| 212 | 256 | 
                   | 
              
| 213 | 257 | 
                  return $ret_val;  | 
              
| 214 | 258 | 
                  }  | 
              
| ... | ... | 
                  @@ -217,7 +261,7 @@ sub delete_all { shift->delete(allow_delete_all => 1, @_) }
                 | 
              
| 217 | 261 | 
                   | 
              
| 218 | 262 | 
                   sub DESTROY { }
                 | 
              
| 219 | 263 | 
                   | 
              
| 220 | 
                  -our %VALID_EXECUTE_ARGS = map { $_ => 1 } qw/param filter/;
                 | 
              |
| 264 | 
                  +our %VALID_EXECUTE_ARGS = map { $_ => 1 } qw/param filter auto_filter_table/;
                 | 
              |
| 221 | 265 | 
                   | 
              
| 222 | 266 | 
                   sub execute{
                 | 
              
| 223 | 267 | 
                  my ($self, $query, %args) = @_;  | 
              
| ... | ... | 
                  @@ -234,7 +278,19 @@ sub execute{
                 | 
              
| 234 | 278 | 
                  $query = $self->create_query($query)  | 
              
| 235 | 279 | 
                  unless ref $query;  | 
              
| 236 | 280 | 
                   | 
              
| 281 | 
                  + # Auto filter  | 
              |
| 282 | 
                  +    my $auto_filter = {};
                 | 
              |
| 283 | 
                  +    my $auto_filter_tables = $args{auto_filter_table} || [];
                 | 
              |
| 284 | 
                  +    foreach my $table (@$auto_filter_tables) {
                 | 
              |
| 285 | 
                  +        $auto_filter = {
                 | 
              |
| 286 | 
                  + %$auto_filter,  | 
              |
| 287 | 
                  +            %{$self->{_auto_bind_filter}->{$table} || {}}
                 | 
              |
| 288 | 
                  + }  | 
              |
| 289 | 
                  + }  | 
              |
| 290 | 
                  +  | 
              |
| 291 | 
                  + # Filter  | 
              |
| 237 | 292 | 
                       my $filter = $args{filter} || $query->filter || {};
                 | 
              
| 293 | 
                  +    $filter = {%$auto_filter, %$filter};
                 | 
              |
| 238 | 294 | 
                   | 
              
| 239 | 295 | 
                  # Create bind value  | 
              
| 240 | 296 | 
                  my $bind_values = $self->_build_bind_values($query, $params, $filter);  | 
              
| ... | ... | 
                  @@ -248,12 +304,22 @@ sub execute{
                 | 
              
| 248 | 304 | 
                  # Return resultset if select statement is executed  | 
              
| 249 | 305 | 
                       if ($sth->{NUM_OF_FIELDS}) {
                 | 
              
| 250 | 306 | 
                   | 
              
| 251 | 
                  - # Create result  | 
              |
| 252 | 
                  - my $result = $self->result_class->new(  | 
              |
| 307 | 
                  + # Auto fetch filter  | 
              |
| 308 | 
                  +        my $auto_fetch_filter = {};
                 | 
              |
| 309 | 
                  +	    foreach my $table (@$auto_filter_tables) {
                 | 
              |
| 310 | 
                  +	        $auto_fetch_filter = {
                 | 
              |
| 311 | 
                  + %$auto_filter,  | 
              |
| 312 | 
                  +	            %{$self->{_auto_fetch_filter}{$table} || {}}
                 | 
              |
| 313 | 
                  + }  | 
              |
| 314 | 
                  + }  | 
              |
| 315 | 
                  +  | 
              |
| 316 | 
                  + # Result  | 
              |
| 317 | 
                  + my $result = $self->result_class->new(  | 
              |
| 253 | 318 | 
                  sth => $sth,  | 
              
| 254 | 319 | 
                  default_filter => $self->default_fetch_filter,  | 
              
| 255 | 320 | 
                  filters => $self->filters,  | 
              
| 256 | 
                  - filter_check => $self->filter_check  | 
              |
| 321 | 
                  + filter_check => $self->filter_check,  | 
              |
| 322 | 
                  +            _auto_filter   => $auto_fetch_filter || {}
                 | 
              |
| 257 | 323 | 
                  );  | 
              
| 258 | 324 | 
                   | 
              
| 259 | 325 | 
                  return $result;  | 
              
| ... | ... | 
                  @@ -276,8 +342,8 @@ sub expand {
                 | 
              
| 276 | 342 | 
                  return %$expand;  | 
              
| 277 | 343 | 
                  }  | 
              
| 278 | 344 | 
                   | 
              
| 279 | 
                  -our %VALID_INSERT_ARGS = map { $_ => 1 } qw/table param append filter/;
                 | 
              |
| 280 | 
                  -  | 
              |
| 345 | 
                  +our %VALID_INSERT_ARGS = map { $_ => 1 } qw/table param append
                 | 
              |
| 346 | 
                  + filter auto_filter_table/;  | 
              |
| 281 | 347 | 
                   sub insert {
                 | 
              
| 282 | 348 | 
                  my ($self, %args) = @_;  | 
              
| 283 | 349 | 
                   | 
              
| ... | ... | 
                  @@ -293,6 +359,11 @@ sub insert {
                 | 
              
| 293 | 359 | 
                       my $append = $args{append} || '';
                 | 
              
| 294 | 360 | 
                       my $filter = $args{filter};
                 | 
              
| 295 | 361 | 
                   | 
              
| 362 | 
                  +    my $auto_filter_table = exists $args{auto_filter_table}
                 | 
              |
| 363 | 
                  +                          ? $args{auto_filter_table}
                 | 
              |
| 364 | 
                  + : [$table];  | 
              |
| 365 | 
                  + $auto_filter_table ||= [];  | 
              |
| 366 | 
                  +  | 
              |
| 296 | 367 | 
                  # Insert keys  | 
              
| 297 | 368 | 
                  my @insert_keys = keys %$param;  | 
              
| 298 | 369 | 
                   | 
              
| ... | ... | 
                  @@ -302,8 +373,12 @@ sub insert {
                 | 
              
| 302 | 373 | 
                  $source .= " $append" if $append;  | 
              
| 303 | 374 | 
                   | 
              
| 304 | 375 | 
                  # Execute query  | 
              
| 305 | 
                  - my $ret_val = $self->execute($source, param => $param,  | 
              |
| 306 | 
                  - filter => $filter);  | 
              |
| 376 | 
                  + my $ret_val = $self->execute(  | 
              |
| 377 | 
                  + $source,  | 
              |
| 378 | 
                  + param => $param,  | 
              |
| 379 | 
                  + filter => $filter,  | 
              |
| 380 | 
                  + auto_filter_table => $auto_filter_table  | 
              |
| 381 | 
                  + );  | 
              |
| 307 | 382 | 
                   | 
              
| 308 | 383 | 
                  return $ret_val;  | 
              
| 309 | 384 | 
                  }  | 
              
| ... | ... | 
                  @@ -332,7 +407,7 @@ sub register_filter {
                 | 
              
| 332 | 407 | 
                  }  | 
              
| 333 | 408 | 
                   | 
              
| 334 | 409 | 
                  our %VALID_SELECT_ARGS  | 
              
| 335 | 
                  -  = map { $_ => 1 } qw/table column where append relation filter param/;
                 | 
              |
| 410 | 
                  +  = map { $_ => 1 } qw/auto_filter_table table column where append relation filter param/;
                 | 
              |
| 336 | 411 | 
                   | 
              
| 337 | 412 | 
                   sub select {
                 | 
              
| 338 | 413 | 
                  my ($self, %args) = @_;  | 
              
| ... | ... | 
                  @@ -351,6 +426,10 @@ sub select {
                 | 
              
| 351 | 426 | 
                       my $relation = $args{relation};
                 | 
              
| 352 | 427 | 
                       my $append   = $args{append};
                 | 
              
| 353 | 428 | 
                       my $filter   = $args{filter};
                 | 
              
| 429 | 
                  +  | 
              |
| 430 | 
                  +    my $auto_filter_table = exists $args{auto_filter_table}
                 | 
              |
| 431 | 
                  +                          ? $args{auto_filter_table}
                 | 
              |
| 432 | 
                  + : $tables;  | 
              |
| 354 | 433 | 
                   | 
              
| 355 | 434 | 
                  # Source of SQL  | 
              
| 356 | 435 | 
                  my $source = 'select ';  | 
              
| ... | ... | 
                  @@ -404,14 +483,16 @@ sub select {
                 | 
              
| 404 | 483 | 
                  $source .= " $append" if $append;  | 
              
| 405 | 484 | 
                   | 
              
| 406 | 485 | 
                  # Execute query  | 
              
| 407 | 
                  - my $result = $self->execute($source, param => $param,  | 
              |
| 408 | 
                  - filter => $filter);  | 
              |
| 486 | 
                  + my $result = $self->execute(  | 
              |
| 487 | 
                  + $source, param => $param, filter => $filter,  | 
              |
| 488 | 
                  + auto_filter_table => $auto_filter_table);  | 
              |
| 409 | 489 | 
                   | 
              
| 410 | 490 | 
                  return $result;  | 
              
| 411 | 491 | 
                  }  | 
              
| 412 | 492 | 
                   | 
              
| 413 | 493 | 
                  our %VALID_UPDATE_ARGS  | 
              
| 414 | 
                  -  = map { $_ => 1 } qw/table param where append filter allow_update_all/;
                 | 
              |
| 494 | 
                  +  = map { $_ => 1 } qw/auto_filter_table table param
                 | 
              |
| 495 | 
                  + where append filter allow_update_all/;  | 
              |
| 415 | 496 | 
                   | 
              
| 416 | 497 | 
                   sub update {
                 | 
              
| 417 | 498 | 
                  my ($self, %args) = @_;  | 
              
| ... | ... | 
                  @@ -430,6 +511,11 @@ sub update {
                 | 
              
| 430 | 511 | 
                       my $filter           = $args{filter};
                 | 
              
| 431 | 512 | 
                       my $allow_update_all = $args{allow_update_all};
                 | 
              
| 432 | 513 | 
                   | 
              
| 514 | 
                  +    my $auto_filter_table = exists $args{auto_filter_table}
                 | 
              |
| 515 | 
                  +                          ? $args{auto_filter_table}
                 | 
              |
| 516 | 
                  + : [$table];  | 
              |
| 517 | 
                  + $auto_filter_table ||= [];  | 
              |
| 518 | 
                  +  | 
              |
| 433 | 519 | 
                  # Update keys  | 
              
| 434 | 520 | 
                  my @update_keys = keys %$param;  | 
              
| 435 | 521 | 
                   | 
              
| ... | ... | 
                  @@ -474,7 +560,8 @@ sub update {
                 | 
              
| 474 | 560 | 
                   | 
              
| 475 | 561 | 
                  # Execute query  | 
              
| 476 | 562 | 
                  my $ret_val = $self->execute($source, param => $param,  | 
              
| 477 | 
                  - filter => $filter);  | 
              |
| 563 | 
                  + filter => $filter,  | 
              |
| 564 | 
                  + auto_filter_table => $auto_filter_table);  | 
              |
| 478 | 565 | 
                   | 
              
| 479 | 566 | 
                  return $ret_val;  | 
              
| 480 | 567 | 
                  }  | 
              
| ... | ... | 
                  @@ -533,13 +620,6 @@ sub _check_filter {
                 | 
              
| 533 | 620 | 
                  # Default filter name not exists  | 
              
| 534 | 621 | 
                       croak qq{Default bind filter "$default_filter" is not registered}
                 | 
              
| 535 | 622 | 
                         if $default_filter && ! exists $filters->{$default_filter};
                 | 
              
| 536 | 
                  -  | 
              |
| 537 | 
                  - # Column name not exists  | 
              |
| 538 | 
                  -    foreach my $column (keys %$filter) {
                 | 
              |
| 539 | 
                  -  | 
              |
| 540 | 
                  -        croak qq{Column name "$column" in bind filter is not found in paramters}
                 | 
              |
| 541 | 
                  -          unless exists $params->{$column};
                 | 
              |
| 542 | 
                  - }  | 
              |
| 543 | 623 | 
                  }  | 
              
| 544 | 624 | 
                   | 
              
| 545 | 625 | 
                   sub _croak {
                 | 
              
| ... | ... | 
                  @@ -817,7 +897,24 @@ C<connect()> method use this value to connect the database.  | 
              
| 817 | 897 | 
                  L<DBIx::Custom> inherits all methods from L<Object::Simple>  | 
              
| 818 | 898 | 
                  and implements the following new ones.  | 
              
| 819 | 899 | 
                   | 
              
| 820 | 
                  -=head2 begin_work  | 
              |
| 900 | 
                  +=head2 C<(experimental) auto_filter >  | 
              |
| 901 | 
                  +  | 
              |
| 902 | 
                  + $dbi->auto_filter(  | 
              |
| 903 | 
                  + $table,  | 
              |
| 904 | 
                  + [$column1, $bind_filter1, $fetch_filter1],  | 
              |
| 905 | 
                  + [$column2, $bind_filter2, $fetch_filter2],  | 
              |
| 906 | 
                  + [...],  | 
              |
| 907 | 
                  + );  | 
              |
| 908 | 
                  +  | 
              |
| 909 | 
                  +C<auto_filter> is automatically filter for columns of table.  | 
              |
| 910 | 
                  +This have effect C<insert>, C<update>, C<delete>. C<select>  | 
              |
| 911 | 
                  +and L<DBIx::Custom::Result> object.  | 
              |
| 912 | 
                  +  | 
              |
| 913 | 
                  +B<Example:>  | 
              |
| 914 | 
                  +  | 
              |
| 915 | 
                  +    $dbi->auto_filter('books', 'sale_date', 'to_date', 'date_to');
                 | 
              |
| 916 | 
                  +  | 
              |
| 917 | 
                  +=head2 C<begin_work>  | 
              |
| 821 | 918 | 
                   | 
              
| 822 | 919 | 
                  $dbi->begin_work;  | 
              
| 823 | 920 | 
                   | 
              
| ... | ... | 
                  @@ -827,7 +924,7 @@ This is same as L<DBI>'s C<begin_work>.  | 
              
| 827 | 924 | 
                  L<DBIx::Custom> inherits all methods from L<Object::Simple>  | 
              
| 828 | 925 | 
                  and implements the following new ones.  | 
              
| 829 | 926 | 
                   | 
              
| 830 | 
                  -=head2 commit  | 
              |
| 927 | 
                  +=head2 C<commit>  | 
              |
| 831 | 928 | 
                   | 
              
| 832 | 929 | 
                  $dbi->commit;  | 
              
| 833 | 930 | 
                   | 
              
| ... | ... | 
                  @@ -1032,7 +1129,7 @@ B<Example:>  | 
              
| 1032 | 1129 | 
                  }  | 
              
| 1033 | 1130 | 
                  );  | 
              
| 1034 | 1131 | 
                   | 
              
| 1035 | 
                  -=head2 rollback  | 
              |
| 1132 | 
                  +=head2 C<rollback>  | 
              |
| 1036 | 1133 | 
                   | 
              
| 1037 | 1134 | 
                  $dbi->rollback;  | 
              
| 1038 | 1135 | 
                   | 
              
| ... | ... | 
                  @@ -7,7 +7,8 @@ use base 'Object::Simple';  | 
              
| 7 | 7 | 
                   | 
              
| 8 | 8 | 
                  use Carp 'croak';  | 
              
| 9 | 9 | 
                   | 
              
| 10 | 
                  -__PACKAGE__->attr([qw/default_filter filter filter_check filters sth/]);  | 
              |
| 10 | 
                  +__PACKAGE__->attr([qw/default_filter filter  | 
              |
| 11 | 
                  + filter_check filters sth/]);  | 
              |
| 11 | 12 | 
                   | 
              
| 12 | 13 | 
                   sub fetch {
                 | 
              
| 13 | 14 | 
                  my $self = shift;  | 
              
| ... | ... | 
                  @@ -15,6 +16,8 @@ sub fetch {
                 | 
              
| 15 | 16 | 
                  # Filters  | 
              
| 16 | 17 | 
                       my $filters = $self->{filters} || {};
                 | 
              
| 17 | 18 | 
                       my $filter  = $self->{filter}  || {};
                 | 
              
| 19 | 
                  +    my $auto_filter = $self->{_auto_filter} || {};
                 | 
              |
| 20 | 
                  +    $filter = {%$auto_filter, %$filter};
                 | 
              |
| 18 | 21 | 
                   | 
              
| 19 | 22 | 
                  # Fetch  | 
              
| 20 | 23 | 
                       my @row = $self->{sth}->fetchrow_array;
                 | 
              
| ... | ... | 
                  @@ -77,6 +80,8 @@ sub fetch_hash {
                 | 
              
| 77 | 80 | 
                  # Filters  | 
              
| 78 | 81 | 
                       my $filters = $self->{filters} || {};
                 | 
              
| 79 | 82 | 
                       my $filter  = $self->{filter}  || {};
                 | 
              
| 83 | 
                  +    my $auto_filter = $self->{_auto_filter} || {};
                 | 
              |
| 84 | 
                  +    $filter = {%$auto_filter, %$filter};
                 | 
              |
| 80 | 85 | 
                   | 
              
| 81 | 86 | 
                  # Fetch  | 
              
| 82 | 87 | 
                       my $row = $self->{sth}->fetchrow_arrayref;
                 | 
              
| ... | ... | 
                  @@ -186,16 +191,6 @@ sub _check_filter {
                 | 
              
| 186 | 191 | 
                  # Default filter name not exists  | 
              
| 187 | 192 | 
                       croak qq{Default fetch filter "$default_filter" is not registered}
                 | 
              
| 188 | 193 | 
                         if $default_filter && ! exists $filters->{$default_filter};
                 | 
              
| 189 | 
                  -  | 
              |
| 190 | 
                  - # Column name not exists  | 
              |
| 191 | 
                  -    my %columns = map {$_ => 1} @{$self->sth->{NAME_lc}};
                 | 
              |
| 192 | 
                  -    foreach my $column (keys %$filter) {
                 | 
              |
| 193 | 
                  -        croak qq{Column name "$column" in fetch filter must lower case string}
                 | 
              |
| 194 | 
                  - unless $column eq lc $column;  | 
              |
| 195 | 
                  -  | 
              |
| 196 | 
                  -        croak qq{Column name "$column" in fetch filter is not found in result columns}
                 | 
              |
| 197 | 
                  -          unless $columns{$column};
                 | 
              |
| 198 | 
                  - }  | 
              |
| 199 | 194 | 
                  }  | 
              
| 200 | 195 | 
                   | 
              
| 201 | 196 | 
                  1;  | 
              
| ... | ... | 
                  @@ -469,18 +469,6 @@ $result->filter({key1 => 'not_exists'});
                 | 
              
| 469 | 469 | 
                   eval{$result->fetch_first};
                 | 
              
| 470 | 470 | 
                  like($@, qr/\QFetch filter "not_exists" is not registered/, "$test : array :fetch_filter");  | 
              
| 471 | 471 | 
                   | 
              
| 472 | 
                  -$result = $dbi->select(table => 'table1');  | 
              |
| 473 | 
                  -$result->filter({not_exists => 'encode_utf8'});
                 | 
              |
| 474 | 
                  -eval{$result->fetch_first};
                 | 
              |
| 475 | 
                  -like($@, qr/\QColumn name "not_exists" in fetch filter is not found in result columns/,  | 
              |
| 476 | 
                  - "$test : array : fetch_filter");  | 
              |
| 477 | 
                  -  | 
              |
| 478 | 
                  -$result = $dbi->select(table => 'table1');  | 
              |
| 479 | 
                  -$result->filter({Key1 => 'encode_utf8'});
                 | 
              |
| 480 | 
                  -eval{$result->fetch_first};
                 | 
              |
| 481 | 
                  -like($@, qr/\QColumn name "Key1" in fetch filter must lower case string/,  | 
              |
| 482 | 
                  - "$test : array : contain upper case charactor");  | 
              |
| 483 | 
                  -  | 
              |
| 484 | 472 | 
                  $dbi->filter_check(0);  | 
              
| 485 | 473 | 
                  $result = $dbi->select(table => 'table1');  | 
              
| 486 | 474 | 
                   $result->filter({Key1 => 'encode_utf8'});
                 | 
              
| ... | ... | 
                  @@ -501,25 +489,12 @@ $result->filter({key1 => 'not_exists'});
                 | 
              
| 501 | 489 | 
                   eval{$result->fetch_hash_first};
                 | 
              
| 502 | 490 | 
                  like($@, qr/\QFetch filter "not_exists" is not registered/, "$test : hash :fetch_filter");  | 
              
| 503 | 491 | 
                   | 
              
| 504 | 
                  -$result = $dbi->select(table => 'table1');  | 
              |
| 505 | 
                  -$result->filter({not_exists => 'encode_utf8'});
                 | 
              |
| 506 | 
                  -eval{$result->fetch_hash_first};
                 | 
              |
| 507 | 
                  -like($@, qr/\QColumn name "not_exists" in fetch filter is not found in result columns/,  | 
              |
| 508 | 
                  - "$test : hash : fetch_filter");  | 
              |
| 509 | 
                  -  | 
              |
| 510 | 
                  -$result = $dbi->select(table => 'table1');  | 
              |
| 511 | 
                  -$result->filter({Key1 => 'encode_utf8'});
                 | 
              |
| 512 | 
                  -eval{$result->fetch_hash_first};
                 | 
              |
| 513 | 
                  -like($@, qr/\QColumn name "Key1" in fetch filter must lower case string/,  | 
              |
| 514 | 
                  - "$test : hash : contain upper case charactor");  | 
              |
| 515 | 
                  -  | 
              |
| 516 | 492 | 
                  $dbi->filter_check(0);  | 
              
| 517 | 493 | 
                  $result = $dbi->select(table => 'table1');  | 
              
| 518 | 494 | 
                   $result->filter({Key1 => 'encode_utf8'});
                 | 
              
| 519 | 495 | 
                   eval{$result->fetch_hash_first};
                 | 
              
| 520 | 496 | 
                  ok(!$@, "$test : hash : filter_check off");  | 
              
| 521 | 497 | 
                   | 
              
| 522 | 
                  -  | 
              |
| 523 | 498 | 
                  test 'filter_check in parameter binding';  | 
              
| 524 | 499 | 
                   $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              
| 525 | 500 | 
                   $dbi->execute($CREATE_TABLE->{0});
                 | 
              
| ... | ... | 
                  @@ -533,10 +508,6 @@ $dbi->default_bind_filter(undef);  | 
              
| 533 | 508 | 
                   eval{$dbi->select(table => 'table1', filter => {key1 => 'not_exists'})};
                 | 
              
| 534 | 509 | 
                  like($@, qr/\QBind filter "not_exists" is not registered/, "$test : bind_filter");  | 
              
| 535 | 510 | 
                   | 
              
| 536 | 
                  -eval{$dbi->select(table => 'table1', filter => {not_exists => 'encode_utf8'})};
                 | 
              |
| 537 | 
                  -like($@, qr/\QColumn name "not_exists" in bind filter is not found in paramters/,  | 
              |
| 538 | 
                  - "$test : fetch_filter");  | 
              |
| 539 | 
                  -  | 
              |
| 540 | 511 | 
                  test 'execute';  | 
              
| 541 | 512 | 
                   $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              
| 542 | 513 | 
                   $dbi->execute($CREATE_TABLE->{0});
                 | 
              
| ... | ... | 
                  @@ -631,3 +602,178 @@ is($dbi->twice(5), 10 , "$test : second");  | 
              
| 631 | 602 | 
                   eval {$dbi->XXXXXX};
                 | 
              
| 632 | 603 | 
                  like($@, qr/\QCan't locate object method "XXXXXX" via "DBIx::Custom"/, "$test : not exists");  | 
              
| 633 | 604 | 
                   | 
              
| 605 | 
                  +test 'auto bind filter';  | 
              |
| 606 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 607 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 608 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 609 | 
                  +$dbi->register_filter(three_times => sub { $_[0] * 3});
                 | 
              |
| 610 | 
                  +$dbi->auto_filter(  | 
              |
| 611 | 
                  + 'table1', ['key1', 'twice', 'twice'], ['key2', 'three_times', 'three_times']);  | 
              |
| 612 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
                 | 
              |
| 613 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 614 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 615 | 
                  +is_deeply($row, {key1 => 2, key2 => 6}, "$test : insert");
                 | 
              |
| 616 | 
                  +  | 
              |
| 617 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 618 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 619 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 620 | 
                  +$dbi->register_filter(three_times => sub { $_[0] * 3});
                 | 
              |
| 621 | 
                  +$dbi->auto_filter(  | 
              |
| 622 | 
                  + 'table1', ['key1', 'twice', 'twice'], ['key2', 'three_times', 'three_times']);  | 
              |
| 623 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 624 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 625 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 626 | 
                  +is_deeply($row, {key1 => 1, key2 => 2}, "$test : insert disabe auto_filter_table 1");
                 | 
              |
| 627 | 
                  +  | 
              |
| 628 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 629 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 630 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 631 | 
                  +$dbi->register_filter(three_times => sub { $_[0] * 3});
                 | 
              |
| 632 | 
                  +$dbi->auto_filter(  | 
              |
| 633 | 
                  + 'table1', ['key1', 'twice', 'twice'], ['key2', 'three_times', 'three_times']);  | 
              |
| 634 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, auto_filter_table => []);
                 | 
              |
| 635 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 636 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 637 | 
                  +is_deeply($row, {key1 => 1, key2 => 2}, "$test : insert disabe auto_filter_table 2");
                 | 
              |
| 638 | 
                  +  | 
              |
| 639 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 640 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 641 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 642 | 
                  +$dbi->auto_filter(  | 
              |
| 643 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 644 | 
                  +);  | 
              |
| 645 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 646 | 
                  +$dbi->update(table => 'table1', param => {key1 => 2}, where => {key2 => 2});
                 | 
              |
| 647 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 648 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 649 | 
                  +is_deeply($row, {key1 => 4, key2 => 2}, "$test : update");
                 | 
              |
| 650 | 
                  +  | 
              |
| 651 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 652 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 653 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 654 | 
                  +$dbi->auto_filter(  | 
              |
| 655 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 656 | 
                  +);  | 
              |
| 657 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 658 | 
                  +$dbi->update(table => 'table1', param => {key1 => 2}, where => {key2 => 2}, auto_filter_table => []);
                 | 
              |
| 659 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 660 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 661 | 
                  +is_deeply($row, {key1 => 2, key2 => 2}, "$test : update : disable bind filter1");
                 | 
              |
| 662 | 
                  +  | 
              |
| 663 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 664 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 665 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 666 | 
                  +$dbi->auto_filter(  | 
              |
| 667 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 668 | 
                  +);  | 
              |
| 669 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 670 | 
                  +$dbi->update(table => 'table1', param => {key1 => 2}, where => {key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 671 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 672 | 
                  +$row = $result->fetch_hash_first;  | 
              |
| 673 | 
                  +is_deeply($row, {key1 => 2, key2 => 2}, "$test : update : disable bind filter2");
                 | 
              |
| 674 | 
                  +  | 
              |
| 675 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 676 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 677 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 678 | 
                  +$dbi->auto_filter(  | 
              |
| 679 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 680 | 
                  +);  | 
              |
| 681 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 682 | 
                  +$dbi->delete(table => 'table1', where => {key1 => 1});
                 | 
              |
| 683 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 684 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 685 | 
                  +is_deeply($rows, [], "$test : delete");  | 
              |
| 686 | 
                  +  | 
              |
| 687 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 688 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 689 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 690 | 
                  +$dbi->auto_filter(  | 
              |
| 691 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 692 | 
                  +);  | 
              |
| 693 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 694 | 
                  +$dbi->delete(table => 'table1', where => {key1 => 1}, auto_filter_table => undef);
                 | 
              |
| 695 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 696 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 697 | 
                  +is_deeply($rows, [{key1 => 2, key2 => 2}], "$test : delete : disable1");
                 | 
              |
| 698 | 
                  +  | 
              |
| 699 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 700 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 701 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 702 | 
                  +$dbi->auto_filter(  | 
              |
| 703 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 704 | 
                  +);  | 
              |
| 705 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 706 | 
                  +$dbi->delete(table => 'table1', where => {key1 => 1}, auto_filter_table => []);
                 | 
              |
| 707 | 
                  +$result = $dbi->execute($SELECT_SOURCES->{0});
                 | 
              |
| 708 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 709 | 
                  +is_deeply($rows, [{key1 => 2, key2 => 2}], "$test : delete : disable2");
                 | 
              |
| 710 | 
                  +  | 
              |
| 711 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 712 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 713 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 714 | 
                  +$dbi->auto_filter(  | 
              |
| 715 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 716 | 
                  +);  | 
              |
| 717 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 718 | 
                  +$result = $dbi->select(table => 'table1', where => {key1 => 1});
                 | 
              |
| 719 | 
                  +$result->filter({'key2' => 'twice'});
                 | 
              |
| 720 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 721 | 
                  +is_deeply($rows, [{key1 => 4, key2 => 4}], "$test : select");
                 | 
              |
| 722 | 
                  +  | 
              |
| 723 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 724 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 725 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 726 | 
                  +$dbi->auto_filter(  | 
              |
| 727 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 728 | 
                  +);  | 
              |
| 729 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 730 | 
                  +$result = $dbi->select(table => 'table1', where => {key1 => 2}, auto_filter_table => []);
                 | 
              |
| 731 | 
                  +$result->filter({'key2' => 'twice'});
                 | 
              |
| 732 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 733 | 
                  +is_deeply($rows, [{key1 => 2, key2 => 4}], "$test : select : disable");
                 | 
              |
| 734 | 
                  +  | 
              |
| 735 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 736 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 737 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 738 | 
                  +$dbi->auto_filter(  | 
              |
| 739 | 
                  + 'table1', ['key1', 'twice', 'twice']  | 
              |
| 740 | 
                  +);  | 
              |
| 741 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 742 | 
                  +$result = $dbi->execute("select * from table1 where {= key1} and {= key2};",
                 | 
              |
| 743 | 
                  +                        param => {key1 => 1, key2 => 2},
                 | 
              |
| 744 | 
                  + auto_filter_table => ['table1']);  | 
              |
| 745 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 746 | 
                  +is_deeply($rows, [{key1 => 4, key2 => 2}], "$test : execute");
                 | 
              |
| 747 | 
                  +  | 
              |
| 748 | 
                  +$dbi = DBIx::Custom->connect($NEW_ARGS->{0});
                 | 
              |
| 749 | 
                  +$dbi->execute($CREATE_TABLE->{0});
                 | 
              |
| 750 | 
                  +$dbi->execute($CREATE_TABLE->{2});
                 | 
              |
| 751 | 
                  +$dbi->register_filter(twice => sub { $_[0] * 2 });
                 | 
              |
| 752 | 
                  +$dbi->register_filter(three_times => sub { $_[0] * 3 });
                 | 
              |
| 753 | 
                  +$dbi->auto_filter(  | 
              |
| 754 | 
                  + 'table1', ['key2', 'twice', 'twice']  | 
              |
| 755 | 
                  +);  | 
              |
| 756 | 
                  +$dbi->auto_filter(  | 
              |
| 757 | 
                  + 'table2', ['key3', 'three_times', 'three_times']  | 
              |
| 758 | 
                  +);  | 
              |
| 759 | 
                  +$dbi->insert(table => 'table1', param => {key1 => 5, key2 => 2}, auto_filter_table => undef);
                 | 
              |
| 760 | 
                  +$dbi->insert(table => 'table2', param => {key1 => 5, key3 => 6}, auto_filter_table => undef);
                 | 
              |
| 761 | 
                  +$result = $dbi->select(  | 
              |
| 762 | 
                  + table => ['table1', 'table2'],  | 
              |
| 763 | 
                  + column => ['key2', 'key3'],  | 
              |
| 764 | 
                  +     where => {'table1.key2' => 1, 'table2.key3' => 2}, relation => {'table1.key1' => 'table2.key1'});
                 | 
              |
| 765 | 
                  +  | 
              |
| 766 | 
                  +$result->filter({'key2' => 'twice'});
                 | 
              |
| 767 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 768 | 
                  +is_deeply($rows, [{key2 => 4, key3 => 18}], "$test : select : join");
                 | 
              |
| 769 | 
                  +  | 
              |
| 770 | 
                  +$result = $dbi->select(  | 
              |
| 771 | 
                  + table => ['table1', 'table2'],  | 
              |
| 772 | 
                  + column => ['key2', 'key3'],  | 
              |
| 773 | 
                  +     where => {'key2' => 1, 'key3' => 2}, relation => {'table1.key1' => 'table2.key1'});
                 | 
              |
| 774 | 
                  +  | 
              |
| 775 | 
                  +$result->filter({'key2' => 'twice'});
                 | 
              |
| 776 | 
                  +$rows = $result->fetch_hash_all;  | 
              |
| 777 | 
                  +is_deeply($rows, [{key2 => 4, key3 => 18}], "$test : select : join : omit");
                 | 
              |
| 778 | 
                  +  | 
              |
| 779 | 
                  +  |