Showing 13 changed files with 20 additions and 113 deletions
+1
Changes
... ...
@@ -1,4 +1,5 @@
1 1
 0.1724
2
+    - added EXPERIMENTAL like_value method to DBIx::Custom
2 3
     - sqlfilter option is renamed to after_build_sql, sqlfilter is DEPRECATED!
3 4
     - removed EXPERIMENTAL flag from DBIx::Custom::Mapper
4 5
     - removed EXPERIMENTAL flag from the following DBIx::Custom methods
+10
lib/DBIx/Custom.pm
... ...
@@ -747,6 +747,8 @@ sub include_model {
747 747
     return $self;
748 748
 }
749 749
 
750
+sub like_value { sub { "%$_[0]%" } }
751
+
750 752
 sub mapper {
751 753
     my $self = shift;
752 754
     return DBIx::Custom::Mapper->new(@_);
... ...
@@ -2876,6 +2878,14 @@ with C<timestamp> option.
2876 2878
 
2877 2879
 If multiple column are specified, same value is used.
2878 2880
 
2881
+=head2 C<like_value EXPERIMENTAL>
2882
+
2883
+    my $like_value = $dbi->like_value
2884
+
2885
+Constant code reference for the like value.
2886
+
2887
+    sub { "%$_[0]%" }
2888
+
2879 2889
 =head2 C<mapper>
2880 2890
 
2881 2891
     my $mapper = $dbi->mapper(param => $param);
t/_run/access.run
No changes.
t/_run/access2007-accdb.run
No changes.
t/_run/access2010-accdb.run
No changes.
-5
t/_run/common-db2.run
... ...
@@ -1,5 +0,0 @@
1
-### DB2 Install
2
-
3
-cd /usr/local/src
4
-
5
-curl -L https://www6.software.ibm.com/sdfdl/v2/regs2/db2pmopn/db2_v97/expc/Xa.2/Xb.aA_60_-iVlRRTUNBO90Dq4FHTisv_wdecoCQFeRQbw/Xc.db2exc_974_LNX_x86.tar.gz/Xd./Xf.LPr.D1vk/Xg.6107654/Xi.swg-db2expressc/XY.regsrvs/XZ.2ygJIAbTC5bn3tv2hlm2PnXUcz8/db2exc_974_LNX_x86.tar.gz > db2exc_974_LNX_x86.tar.gz
-5
t/_run/common-mysql.run
... ...
@@ -1,5 +0,0 @@
1
-# Create database
2
-create database dbix_custom;
3
-
4
-# Create User
5
-GRANT ALL PRIVILEGES ON dbix_custom.* TO dbix_custom@"localhost" IDENTIFIED BY 'dbix_custom';
-55
t/_run/common-oracle.run
... ...
@@ -1,55 +0,0 @@
1
-# Download
2
-http://download.oracle.com/otn/linux/oracle10g/xe/10201/oracle-xe-univ-10.2.0.1-1.0.i386.rpm
3
-
4
-# Install
5
-rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
6
-/etc/init.d/oracle-xe configure
7
-
8
-# Note
9
-Port number is set to 8090
10
-
11
-# HTTP access
12
-http://127.0.0.1:8090/apex
13
-
14
-# Create user
15
-id: dbix_custom
16
-password: dbix_custom
17
-
18
-Add all privirage
19
-
20
-# DBD::Oracle
21
-You must be install install client
22
-oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
23
-oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
24
-oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
25
-
26
-rpm -hiv oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
27
-rpm -hiv oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
28
-rpm -hiv oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
29
-
30
-vi /etc/profile.d/oracle.sh
31
-export ORACLE_HOME='/usr/lib/oracle/11.2/client'
32
-export C_INCLUDE_PATH='/usr/include/oracle/11.2/client'
33
-export LD_LIBRARY_PATH='/usr/lib/oracle/11.2/client/lib'
34
-
35
-vi /etc/ld.so.conf.d/oracle.conf
36
-/usr/lib/oracle/11.2/client/lib
37
-
38
-cpan DBD::Oracle
39
-
40
-sqlplus dbix_custom/dbix_custom@localhost:1521/XE
41
-
42
-mkdir -p $ORACLE_HOME/network/admin/
43
-vi $ORACLE_HOME/network/admin/tnsnames.ora
44
-
45
-XE =
46
-  (DESCRIPTION =
47
-    (ADDRESS_LIST =
48
-      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
49
-    )
50
-    (CONNECT_DATA =
51
-      (SID = orcl)
52
-    )
53
-  )
54
-
55
-
-35
t/_run/common-postgresql.run
... ...
@@ -1,35 +0,0 @@
1
-### CentOS5
2
-
3
-# Install
4
-yum -y install postgresql-server
5
-yum -y install postgresql
6
-yum -y install postgresql-devel
7
-chkconfig --level 2345 postgresql on
8
-
9
-# Start server
10
-service postgresql start
11
-
12
-# Change config file
13
-vi /var/lib/pgsql/data/pg_hba.conf
14
-  # "local" is for Unix domain socket connections only
15
-  local   all         all                               trust
16
-
17
-# Create user and database
18
-su - postgres
19
-createuser -a -d -U postgres -P dbix_custom
20
-  # Shall the new role be a superuser? (y/n) -> y
21
-  # Shall the new role be allowed to create databases? (y/n) -> y
22
-  # Shall the new role be allowed to create more new roles? (y/n) -> y
23
-
24
-createdb dbix_custom -U dbix_custom
25
-
26
-# Connect to database
27
-psql -U dbix_custom dbix_custom
28
-
29
-# Install DBD::pg
30
-cpanm DBD::Pg
31
-
32
-### Memo
33
-
34
-# Drop user
35
-dropuser dbix_custom
-13
t/_run/common-sqlserver.run
... ...
@@ -1,13 +0,0 @@
1
-# Site
2
-http://awoni.net/fc/sql-server-2008-express/
3
-
4
-
5
-# Install
6
-http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=967225eb-207b-4950-91df-eeb5f35a80ee
7
-
8
-
9
-# Note
10
-You enable SQL Server authentication.
11
-You create user "dbix_custom", password "dbix_custom"
12
-You give create_table, insert, update, delete, select authority to user "dbix_custom".
13
-
t/_run/mysql.run
No changes.
t/_run/mysql2.run
No changes.
+9
t/common.t
... ...
@@ -2556,6 +2556,15 @@ $param = $dbi->mapper(param => {id => 1, author => 'Ken', price => 1900})->map(
2556 2556
 is_deeply($param, {"$table1.id" => 1, "$table1.author" => '%Ken%',
2557 2557
   "$table1.price" => 1900});
2558 2558
 
2559
+$dbi = DBIx::Custom->connect;
2560
+$param = $dbi->mapper(param => {id => 1, author => 'Ken', price => 1900})->map(
2561
+    id => "$table1.id",
2562
+    author => ["$table1.author" => $dbi->like_value],
2563
+    price => ["$table1.price", {condition => sub { $_[0] eq 1900 }}]
2564
+);
2565
+is_deeply($param, {"$table1.id" => 1, "$table1.author" => '%Ken%',
2566
+  "$table1.price" => 1900});
2567
+
2559 2568
 $param = $dbi->mapper(param => {id => 0, author => 0, price => 0})->map(
2560 2569
     id => "$table1.id",
2561 2570
     author => ["$table1.author", sub { '%' . $_[0] . '%' }],