Showing 5 changed files with 312 additions and 943 deletions
+4
Changes
... ...
@@ -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
-873
Makefile.old
... ...
@@ -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 &lt;kimoto.yuki@gmail.com&gt;</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.
+127 -30
lib/DBIx/Custom.pm
... ...
@@ -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
 
+6 -11
lib/DBIx/Custom/Result.pm
... ...
@@ -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;
+175 -29
t/dbix-custom-core-sqlite.t
... ...
@@ -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
+