... | ... |
@@ -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 |
+ |