fixed documentation miss about execute method's table_a...
...lias option and improved documents
| ... | ... | @@ -1,3 +1,5 @@ | 
| 1 | +0.27 (2012-09-17) | |
| 2 | + - fixed documentation miss about execute method's table_alias option. | |
| 1 | 3 | 0.26 | 
| 2 | 4 | - fixed bug that when id option's value is object, don't work. | 
| 3 | 5 | 0.25 | 
| ... | ... | @@ -2,7 +2,7 @@ use 5.008007; | 
| 2 | 2 | package DBIx::Custom; | 
| 3 | 3 | use Object::Simple -base; | 
| 4 | 4 |  | 
| 5 | -our $VERSION = '0.26'; | |
| 5 | +our $VERSION = '0.27'; | |
| 6 | 6 |  | 
| 7 | 7 | use Carp 'croak'; | 
| 8 | 8 | use DBI; | 
| ... | ... | @@ -2185,33 +2185,38 @@ DBIx::Custom - DBI extension to execute insert, update, delete, and select easil | 
| 2185 | 2185 |    $dbi->delete(table  => 'book', where => {author => 'Ken'}); | 
| 2186 | 2186 |  | 
| 2187 | 2187 | # Select | 
| 2188 | - my $result = $dbi->select(table => 'book', | |
| 2189 | -    column => ['title', 'author'], where  => {author => 'Ken'}); | |
| 2188 | + # select title, author from book where author = ? | |
| 2189 | + my $result = $dbi->select( | |
| 2190 | + ['title', 'author'], | |
| 2191 | + table => 'book', | |
| 2192 | +    where  => {author => 'Ken'} | |
| 2193 | + ); | |
| 2190 | 2194 |  | 
| 2191 | 2195 | # Select, more complex | 
| 2196 | + # select book.title as book.title, | |
| 2197 | + # book.author as book.author, | |
| 2198 | + # comnapy.name as company.name | |
| 2199 | + # form book | |
| 2200 | + # left outer join company on book.company_id = company.id | |
| 2201 | + # where book.author = ? | |
| 2202 | + # order by id limit 0, 5 | |
| 2192 | 2203 | my $result = $dbi->select( | 
| 2193 | - table => 'book', | |
| 2194 | - column => [ | |
| 2204 | + [ | |
| 2195 | 2205 |        {book => [qw/title author/]}, | 
| 2196 | 2206 |        {company => ['name']} | 
| 2197 | 2207 | ], | 
| 2208 | + table => 'book', | |
| 2198 | 2209 |      where  => {'book.author' => 'Ken'}, | 
| 2199 | 2210 | join => ['left outer join company on book.company_id = company.id'], | 
| 2200 | - append => 'order by id limit 5' | |
| 2211 | + append => 'order by id limit 0, 5' | |
| 2201 | 2212 | ); | 
| 2202 | 2213 |  | 
| 2203 | - # Fetch | |
| 2204 | -  while (my $row = $result->fetch) { | |
| 2205 | - | |
| 2206 | - } | |
| 2207 | - | |
| 2208 | - # Fetch as hash | |
| 2209 | -  while (my $row = $result->fetch_hash) { | |
| 2210 | - | |
| 2211 | - } | |
| 2214 | + # Get all rows or only one row | |
| 2215 | + my $rows = $result->all; | |
| 2216 | + my $row = $result->one; | |
| 2212 | 2217 |  | 
| 2213 | - # Execute SQL with parameter. | |
| 2214 | - $dbi->execute( | |
| 2218 | + # Execute SQL. | |
| 2219 | + my $result = $dbi->execute( | |
| 2215 | 2220 | "select id from book where author = :author and title like :title", | 
| 2216 | 2221 |      {author => 'ken', title => '%Perl%'} | 
| 2217 | 2222 | ); | 
| ... | ... | @@ -2259,19 +2264,13 @@ Create C<order by> clause flexibly | 
| 2259 | 2264 |  | 
| 2260 | 2265 | =back | 
| 2261 | 2266 |  | 
| 2262 | -=head1 DOCUMENTATION | |
| 2267 | +=head1 DOCUMENTS | |
| 2263 | 2268 |  | 
| 2264 | -L<DBIx::Custom::Guide> - How to use L<DBIx::Custom> | |
| 2269 | +L<DBIx::Custom Documents|https://github.com/yuki-kimoto/DBIx-Custom/wiki/DBIx::Custom-Documents> | |
| 2265 | 2270 |  | 
| 2266 | -L<DBIx::Custom Wiki|https://github.com/yuki-kimoto/DBIx-Custom/wiki> | |
| 2267 | -- Theare are various examples. | |
| 2271 | +L<DBIx::Custom API reference|http://search.cpan.org/~kimoto/DBIx-Custom/> | |
| 2268 | 2272 |  | 
| 2269 | -Module documentations - | |
| 2270 | -L<DBIx::Custom::Result>, | |
| 2271 | -L<DBIx::Custom::Query>, | |
| 2272 | -L<DBIx::Custom::Where>, | |
| 2273 | -L<DBIx::Custom::Model>, | |
| 2274 | -L<DBIx::Custom::Order> | |
| 2273 | +L<DBIx::Custom Examples|Wiki|https://github.com/yuki-kimoto/DBIx-Custom/wiki> | |
| 2275 | 2274 |  | 
| 2276 | 2275 | =head1 ATTRIBUTES | 
| 2277 | 2276 |  | 
| ... | ... | @@ -2939,9 +2938,9 @@ You must set C<table> option. | 
| 2939 | 2938 |  | 
| 2940 | 2939 | =item C<table_alias> | 
| 2941 | 2940 |  | 
| 2942 | -  table_alias => {user => 'worker'} | |
| 2941 | +  table_alias => {worker => 'user'} # {ALIAS => TABLE} | |
| 2943 | 2942 |  | 
| 2944 | -Table alias. Key is real table name, value is alias table name. | |
| 2943 | +Table alias. Key is alias table name, value is real table name, . | |
| 2945 | 2944 | If you set C<table_alias>, you can enable C<into1> and C<into2> type rule | 
| 2946 | 2945 | on alias table name. | 
| 2947 | 2946 |  | 
| ... | ... | @@ -1,9 +0,0 @@ | 
| 1 | -=head1 NAME | |
| 2 | - | |
| 3 | -DBIx::Custom::Guide - DBIx::Custom Guide | |
| 4 | - | |
| 5 | -=head1 LINK | |
| 6 | - | |
| 7 | -Guide is moved to the following page. | |
| 8 | - | |
| 9 | -L<https://github.com/yuki-kimoto/DBIx-Custom/wiki/DBIx%3A%3ACustom-Guide> | 
| ... | ... | @@ -171,7 +171,7 @@ sub method { | 
| 171 | 171 |  | 
| 172 | 172 | =head1 NAME | 
| 173 | 173 |  | 
| 174 | -DBIx::Custom::Model - Model | |
| 174 | +DBIx::Custom::Model - Model object | |
| 175 | 175 |  | 
| 176 | 176 | =head1 SYNOPSIS | 
| 177 | 177 |  | 
| ... | ... | @@ -9,7 +9,7 @@ sub singleton { $not_exists } | 
| 9 | 9 |  | 
| 10 | 10 | =head1 NAME | 
| 11 | 11 |  | 
| 12 | -DBIx::Custom::NotExists | |
| 12 | +DBIx::Custom::NotExists - Not exsits object | |
| 13 | 13 |  | 
| 14 | 14 | =head1 SYNOPSYS | 
| 15 | 15 |  | 
| ... | ... | @@ -51,7 +51,7 @@ sub to_string { | 
| 51 | 51 |  | 
| 52 | 52 | =head1 NAME | 
| 53 | 53 |  | 
| 54 | -DBIx::Custom::Order - Order by | |
| 54 | +DBIx::Custom::Order - Order by clause | |
| 55 | 55 |  | 
| 56 | 56 | =head1 SYNOPSIS | 
| 57 | 57 |  | 
| ... | ... | @@ -55,4 +55,8 @@ XE = | 
| 55 | 55 | ) | 
| 56 | 56 | ) | 
| 57 | 57 |  | 
| 58 | +If "the password will expire within 7 days" is displayed on test, | |
| 59 | +please change password | |
| 60 | + | |
| 61 | + PASSWORD | |
| 58 | 62 |  | 
| ... | ... | @@ -4989,4 +4989,39 @@ $model->insert({$key1 => 1, $key3 => 3}); | 
| 4989 | 4989 | is($model->count(id => 1), 1); | 
| 4990 | 4990 |  is($model->count(where => {"$table2.$key3" => 3}), 1); | 
| 4991 | 4991 |  | 
| 4992 | +test 'table_alias option'; | |
| 4993 | +$dbi = DBIx::Custom->connect; | |
| 4994 | +eval { $dbi->execute("drop table $table1") }; | |
| 4995 | +$dbi->execute($create_table1_type); | |
| 4996 | +$dbi->insert({$key1 => '2010-01-01'}, table => $table1); | |
| 4997 | +$dbi->user_column_info($user_column_info); | |
| 4998 | +$dbi->type_rule( | |
| 4999 | +  into1 => { | |
| 5000 | +    $date_typename => sub { '2010-' . $_[0] } | |
| 5001 | + } | |
| 5002 | +); | |
| 5003 | +$result = $dbi->execute( | |
| 5004 | +  "select * from $table1 TABLE1_ALIAS where :TABLE1_ALIAS.${key1}{=}", | |
| 5005 | +  {"TABLE1_ALIAS.${key1}" => '01-01'}, | |
| 5006 | +  table_alias => {TABLE1_ALIAS => $table1} | |
| 5007 | +); | |
| 5008 | +like($result->one->{$key1}, qr/^2010-01-01/); | |
| 5009 | + | |
| 5010 | +$dbi = DBIx::Custom->connect; | |
| 5011 | +eval { $dbi->execute("drop table $table1") }; | |
| 5012 | +$dbi->execute($create_table1_type); | |
| 5013 | +$dbi->insert({$key1 => '2010-01-01'}, table => $table1); | |
| 5014 | +$dbi->user_column_info($user_column_info); | |
| 5015 | +$dbi->type_rule( | |
| 5016 | +  into2 => { | |
| 5017 | +    $date_typename => sub { '2010-' . $_[0] } | |
| 5018 | + } | |
| 5019 | +); | |
| 5020 | +$result = $dbi->execute( | |
| 5021 | +  "select * from $table1 TABLE1_ALIAS where :TABLE1_ALIAS.${key1}{=}", | |
| 5022 | +  {"TABLE1_ALIAS.${key1}" => '01-01'}, | |
| 5023 | +  table_alias => {TABLE1_ALIAS => $table1} | |
| 5024 | +); | |
| 5025 | +like($result->one->{$key1}, qr/^2010-01-01/); | |
| 5026 | + | |
| 4992 | 5027 | 1; |