Showing 7 changed files with 183 additions and 110 deletions
+4
Changes
... ...
@@ -1,3 +1,7 @@
1
+0.1607
2
+  renamed build_query to create_query(not backword compatible)
3
+0.1606
4
+  fix testing bug
1 5
 0.1605
2 6
   remove DBIx::Custom::QueryBuilder::tag_syntax()  (not backword compatible)
3 7
   renamed DBIx::Custom::TagProcessor to DBIx::Custom::TagProcessors (not backword compatible)
+151 -77
lib/DBIx/Custom.pm
... ...
@@ -310,7 +310,7 @@ sub select {
310 310
     return $result;
311 311
 }
312 312
 
313
-sub build_query {
313
+sub create_query {
314 314
     my ($self, $source) = @_;
315 315
     
316 316
     # Cache
... ...
@@ -367,7 +367,7 @@ sub execute{
367 367
     my $params = $args{param} || {};
368 368
     
369 369
     # First argument is SQL template
370
-    $query = $self->build_query($query)
370
+    $query = $self->create_query($query)
371 371
       unless ref $query;
372 372
     
373 373
     my $filter = $args{filter} || $query->filter || {};
... ...
@@ -446,25 +446,26 @@ sub _build_bind_values {
446 446
 
447 447
 =head1 NAME
448 448
 
449
-DBIx::Custom - DBI with hash parameter binding and filtering system
449
+DBIx::Custom - DBI interface, having hash parameter binding and filtering system
450 450
 
451 451
 =cut
452 452
 
453
-our $VERSION = '0.1605';
453
+our $VERSION = '0.1606';
454 454
 
455 455
 =head1 STABILITY
456 456
 
457
-This module is not stable. Method name and implementations will be changed.
457
+B<This module is not stable>. 
458
+Method name and implementations will be changed for a while.
458 459
 
459 460
 =head1 SYNOPSYS
460 461
 
461
-Connect to database.
462
-
463
-    # Connect
462
+Connect to the database.
463
+    
464
+    use DBIx::Custom;
464 465
     my $dbi = DBIx::Custom->connect(data_source => "dbi:mysql:database=books",
465 466
                                     user => 'ken', password => '!LFKD%$&');
466 467
 
467
-Insert, update, delete statement.
468
+Insert, update, and delete
468 469
 
469 470
     # Insert 
470 471
     $dbi->insert(table  => 'books',
... ...
@@ -490,39 +491,39 @@ Insert, update, delete statement.
490 491
     # Delete all
491 492
     $dbi->delete_all(table => 'books');
492 493
 
493
-Select statement.
494
+Select
494 495
 
495 496
     # Select
496 497
     my $result = $dbi->select(table => 'books');
497 498
     
498
-    # Select(more complex)
499
+    # Select, more complex
499 500
     my $result = $dbi->select(
500 501
         table  => 'books',
501 502
         column => [qw/author title/],
502 503
         where  => {author => 'Ken'},
503 504
         append => 'order by id limit 1',
504
-        filter => {tilte => 'encode_utf8'}
505
+        filter => {title => 'encode_utf8'}
505 506
     );
506 507
     
507
-    # Select(Join table)
508
+    # Select, join table
508 509
     my $result = $dbi->select(
509
-        table => ['books', 'rental'],
510
-        column => ['books.name as book_name']
510
+        table    => ['books', 'rental'],
511
+        column   => ['books.name as book_name']
511 512
         relation => {'books.id' => 'rental.book_id'}
512 513
     );
513 514
 
514
-Execute SQL source.
515
+Execute SQL
515 516
 
516
-    # Execute from SQL source
517
+    # Execute SQL
517 518
     $dbi->execute("select title from books");
518 519
     
519
-    # Execute SQL with parameters and filter
520
+    # Execute SQL with hash binding and filtering
520 521
     $dbi->execute("select id from books where {= author} && {like title}",
521 522
                   param  => {author => 'ken', title => '%Perl%'},
522
-                  filter => {tilte => 'encode_utf8'});
523
+                  filter => {title => 'encode_utf8'});
523 524
 
524 525
     # Create query and execute it
525
-    my $query = $dbi->build_query(
526
+    my $query = $dbi->create_query(
526 527
         "select id from books where {= author} && {like title}"
527 528
     );
528 529
     $dbi->execute($query, param => {author => 'ken', title => '%Perl%'})
... ...
@@ -551,35 +552,49 @@ Fetch row.
551 552
 
552 553
 =head1 DESCRIPTION
553 554
 
554
-L<DBIx::Custom> is useful L<DBI> extention.
555
-This module have hash parameter binding and filtering system.
555
+=head2 1. Features
556 556
 
557
-Normally, binding parameter is array.
558
-L<DBIx::Custom> enable you to pass binding parameter as hash.
557
+L<DBIx::Custom> is one of L<DBI> interface modules,
558
+such as L<DBIx::Class>, L<DBIx::Simple>.
559 559
 
560
-This module also provide filtering system.
561
-You can filter the binding parameter
562
-or the value of fetching row.
560
+This module is not O/R mapper. O/R mapper is useful,
561
+but you must learn many syntax of the O/R mapper,
562
+which is almost another language
563
+Create SQL statement is offten not effcient and damage SQL performance.
564
+so you have to execute raw SQL in the end.
563 565
 
564
-And have useful method such as insert(), update(), delete(), and select().
566
+L<DBIx::Custom> is middle area between L<DBI> and O/R mapper.
567
+L<DBIx::Custom> provide flexible hash parameter binding adn filtering system,
568
+and suger method, such as C<select()>, C<update()>, C<delete()>, C<select()>
569
+to execute a query easily.
565 570
 
566
-=head2 Features
571
+L<DBIx::Custom> respects SQL. SQL is not beautiful, but de-facto standard,
572
+so all people learing database system know it.
573
+If you know SQL statement,
574
+you learn a little thing about L<DBIx::Custom> to do your works.
567 575
 
568
-=over 4
576
+=head2 2. Basic usage
569 577
 
570
-=item *
578
+=head3 connect to the database
571 579
 
572
-Hash parameter binding.
580
+C<connect()> method create a new L<DBIx::Custom>
581
+object and connect to the database.
573 582
 
574
-=item *
583
+    use DBIx::Custom;
584
+    my $dbi = DBIx::Custom->connect(data_source => "dbi:mysql:database=books",
585
+                                    user => 'ken', password => '!LFKD%$&');
586
+
587
+=head3 Suger methods
588
+
589
+L<DBIx::Custom> has suger methods, such as C<insert()>, C<update()>,
590
+C<delete()> and C<select()>. If you want to do simple works,
591
+You don't have to create SQL statement.
592
+
593
+B<Execute insert statement:>
575 594
 
576
-Value filtering.
577 595
 
578
-=item *
579 596
 
580
-Provide suger methods, such as insert(), update(), delete(), and select().
581 597
 
582
-=back
583 598
 
584 599
 =head1 ATTRIBUTES
585 600
 
... ...
@@ -614,19 +629,13 @@ C<connect()> method use this value to connect the database.
614 629
 
615 630
 L<DBI> object. You can call all methods of L<DBI>.
616 631
 
617
-    my $sth    = $dbi->dbh->prepare("...");
618
-    my $errstr = $dbi->dbh->errstr;
619
-    $dbi->dbh->begin_work;
620
-    $dbi->dbh->commit;
621
-    $dbi->dbh->rollback;
622
-    
623 632
 =head2 C<filters>
624 633
 
625 634
     my $filters = $dbi->filters;
626 635
     $dbi        = $dbi->filters(\%filters);
627 636
 
628 637
 Filter functions.
629
-By default, "encode_utf8" and "decode_utf8" is registered.
638
+"encode_utf8" and "decode_utf8" is registered by default.
630 639
 
631 640
 =head2 C<default_bind_filter>
632 641
 
... ...
@@ -656,15 +665,15 @@ Default to L<DBIx::Custom::Result>.
656 665
     $dbi          = $dbi->sql_builder(DBIx::Custom::QueryBuilder->new);
657 666
 
658 667
 SQL builder. sql_builder must be 
659
-the instance of L<DBIx::Custom::QueryBuilder> subclass
660
-Default to L<DBIx::Custom::QueryBuilder>.
668
+the instance of L<DBIx::Custom::QueryBuilder> subclass.
669
+Default to L<DBIx::Custom::QueryBuilder> object.
661 670
 
662 671
 =head2 C<cache>
663 672
 
664 673
     my $cache = $dbi->cache;
665 674
     $dbi      = $dbi->cache(1);
666 675
 
667
-Enable cache of the query after parsing SQL source.
676
+Enable parsed L<DBIx::Custom::Query> object caching.
668 677
 Default to 1.
669 678
 
670 679
 =head2 C<cache_method>
... ...
@@ -672,7 +681,7 @@ Default to 1.
672 681
     $dbi          = $dbi->cache_method(\&cache_method);
673 682
     $cache_method = $dbi->cache_method
674 683
 
675
-Method for cache.
684
+Method to set and get caches.
676 685
 
677 686
 B<Example:>
678 687
 
... ...
@@ -702,8 +711,9 @@ and implements the following new ones.
702 711
                                     user => 'ken', password => '!LFKD%$&');
703 712
 
704 713
 Create a new L<DBIx::Custom> object and connect to the database.
705
-By default, "AutoCommit" and "RaiseError" option is true, 
706
-and "PrintError" option is false.
714
+L<DBIx::Custom> is a wrapper of L<DBI>.
715
+C<AutoCommit> and C<RaiseError> option is true, 
716
+and C<PrintError> option is false by default. 
707 717
 
708 718
 =head2 C<insert>
709 719
 
... ...
@@ -712,9 +722,16 @@ and "PrintError" option is false.
712 722
                  append => $append,
713 723
                  filter => \%filter);
714 724
 
715
-Insert row.
716
-Retrun value is the count of affected rows.
717
-    
725
+Execute insert statement.
726
+C<insert> method have C<table>, C<param>, C<append>
727
+and C<filter> arguments.
728
+C<table> is a table name.
729
+C<param> is column-value pairs. this must be hash reference.
730
+C<append> is a string added at the end of the SQL statement.
731
+C<filter> is filters when parameter binding is executed.
732
+This is overwrites C<default_bind_filter>.
733
+Return value of C<insert> is the count of affected rows.
734
+
718 735
 B<Example:>
719 736
 
720 737
     $dbi->insert(table  => 'books', 
... ...
@@ -730,15 +747,23 @@ B<Example:>
730 747
                  append => $append,
731 748
                  filter => \%filter)
732 749
 
733
-Update rows.
734
-Retrun value is the count of affected rows.
750
+Execute update statement.
751
+C<update> method have C<table>, C<param>, C<where>, C<append>
752
+and C<filter> arguments.
753
+C<table> is a table name.
754
+C<param> is column-value pairs. this must be hash reference.
755
+C<where> is where clause. this must be hash reference.
756
+C<append> is a string added at the end of the SQL statement.
757
+C<filter> is filters when parameter binding is executed.
758
+This is overwrites C<default_bind_filter>.
759
+Return value of C<update> is the count of affected rows.
735 760
 
736 761
 B<Example:>
737 762
 
738 763
     $dbi->update(table  => 'books',
739 764
                  param  => {title => 'Perl', author => 'Taro'},
740 765
                  where  => {id => 5},
741
-                 append => "some statement",
766
+                 append => "for update",
742 767
                  filter => {title => 'encode_utf8'});
743 768
 
744 769
 =head2 C<update_all>
... ...
@@ -748,8 +773,10 @@ B<Example:>
748 773
                      filter => \%filter,
749 774
                      append => $append);
750 775
 
751
-Update all rows.
752
-Retrun value is the count of affected rows.
776
+Execute update statement to update all rows.
777
+Arguments is same as C<update> method,
778
+except that C<update_all> don't have C<where> argument.
779
+Return value of C<update_all> is the count of affected rows.
753 780
 
754 781
 B<Example:>
755 782
 
... ...
@@ -764,9 +791,14 @@ B<Example:>
764 791
                  append => $append,
765 792
                  filter => \%filter);
766 793
 
767
-Delete rows.
768
-Retrun value is the count of affected rows.
769
-    
794
+Execute delete statement.
795
+C<delete> method have C<table>, C<where>, C<append>, and C<filter> arguments.
796
+C<table> is a table name.
797
+C<where> is where clause. this must be hash reference.
798
+C<append> is a string added at the end of the SQL statement.
799
+C<filter> is filters when parameter binding is executed.
800
+Return value of C<delete> is the count of affected rows.
801
+
770 802
 B<Example:>
771 803
 
772 804
     $dbi->delete(table  => 'books',
... ...
@@ -778,8 +810,10 @@ B<Example:>
778 810
 
779 811
     $dbi->delete_all(table => $table);
780 812
 
781
-Delete all rows.
782
-Retrun value is the count of affected rows.
813
+Execute delete statement to delete all rows.
814
+Arguments is same as C<delete> method,
815
+except that C<delete_all> don't have C<where> argument.
816
+Return value of C<delete_all> is the count of affected rows.
783 817
 
784 818
 B<Example:>
785 819
     
... ...
@@ -794,18 +828,24 @@ B<Example:>
794 828
                               relation => \%relation,
795 829
                               filter   => \%filter);
796 830
 
797
-Select rows.
798
-Return value is the instance of L<DBIx::Custom::Result>.
831
+Execute select statement.
832
+C<select> method have C<table>, C<column>, C<where>, C<append>
833
+C<relation> and C<filter> arguments.
834
+C<table> is a table name.
835
+C<where> is where clause. this must be hash reference
836
+or a string containing such tags as "{= title} or {= author}".
837
+C<append> is a string added at the end of the SQL statement.
838
+C<filter> is filters when parameter binding is executed.
799 839
 
800 840
 B<Example:>
801 841
 
802 842
     # select * from books;
803 843
     my $result = $dbi->select(table => 'books');
804 844
     
805
-    # select * from books where title = 'Perl';
806
-    my $result = $dbi->select(table => 'books', where => {title => 1});
845
+    # select * from books where title = ?;
846
+    my $result = $dbi->select(table => 'books', where => {title => 'Perl'});
807 847
     
808
-    # select title, author from books where id = 1 for update;
848
+    # select title, author from books where id = ? for update;
809 849
     my $result = $dbi->select(
810 850
         table  => 'books',
811 851
         column => ['title', 'author'],
... ...
@@ -821,23 +861,22 @@ B<Example:>
821 861
         relation => {'books.id' => 'rental.book_id'}
822 862
     );
823 863
 
824
-=head2 C<build_query>
864
+=head2 C<create_query>
825 865
     
826
-    my $query = $dbi->build_query(
866
+    my $query = $dbi->create_query(
827 867
         "select * from authors where {= name} and {= age};"
828 868
     );
829 869
 
830
-Build the instance of L<DBIx::Custom::Query>
831
-using L<DBIx::Custom::QueryBuilder>.
870
+Create the instance of L<DBIx::Custom::Query> from SQL source.
832 871
 
833 872
 =head2 C<execute>
834 873
 
835 874
     my $result = $dbi->execute($query,  param => $params, filter => \%filter);
836 875
     my $result = $dbi->execute($source, param => $params, filter => \%filter);
837 876
 
838
-Execute the instace of L<DBIx::Custom::Query> or
839
-the string written by SQL template.
840
-Return value is the instance of L<DBIx::Custom::Result>.
877
+Execute query or SQL source. Query is L<DBIx::Csutom::Query> object.
878
+Return value is L<DBIx::Custom::Result> in select statement,
879
+or the count of affected rows in insert, update, delete statement.
841 880
 
842 881
 B<Example:>
843 882
 
... ...
@@ -853,7 +892,42 @@ B<Example:>
853 892
     $dbi->register_filter(%filters);
854 893
     $dbi->register_filter(\%filters);
855 894
     
856
-Resister filter.
895
+Register filter. Registered filters is available in the following methods
896
+or arguments.
897
+
898
+=over 4
899
+
900
+=item *
901
+
902
+C<default_bind_filter()>
903
+
904
+=item *
905
+
906
+C<default_fetch_filter()>
907
+
908
+=item *
909
+
910
+C<filter> argument of C<insert()>, C<update()>,
911
+C<update_all()>, C<delete()>, C<delete_all()>, C<select()>,
912
+C<execute> method.
913
+
914
+=item *
915
+
916
+C<DBIx::Custom::Query::default_filter()>
917
+
918
+=item *
919
+
920
+C<DBIx::Csutom::Query::filter()>
921
+
922
+=item *
923
+
924
+C<DBIx::Custom::Result::default_filter()>
925
+
926
+=item *
927
+
928
+C<DBIx::Custom::Result::filter()>
929
+
930
+=back
857 931
 
858 932
 B<Example:>
859 933
 
... ...
@@ -876,7 +950,7 @@ B<Example:>
876 950
 
877 951
 =head1 BUGS
878 952
 
879
-Please tell me bugs.
953
+Please tell me bugs if found.
880 954
 
881 955
 C<< <kimoto.yuki at gmail.com> >>
882 956
 
+3 -3
lib/DBIx/Custom/QueryBuilder.pm
... ...
@@ -255,7 +255,7 @@ Query
255 255
 
256 256
 Register tag processor.
257 257
 
258
-B<Examples:>
258
+B<Example:>
259 259
 
260 260
     $builder->register_tag_processor(
261 261
         '?' => sub {
... ...
@@ -265,11 +265,11 @@ B<Examples:>
265 265
         }
266 266
     );
267 267
 
268
-See L<DBIx::Custom::QueryBuilder::TagProcessors> about tag processor.
268
+See also L<DBIx::Custom::QueryBuilder::TagProcessors> to know tag processor.
269 269
 
270 270
 =head1 Tags
271 271
 
272
-You can use the following tags in SQL source.
272
+The following tags is available.
273 273
     
274 274
     [Tags]           [Replaced]
275 275
     {? NAME}    ->   ?
+2 -2
lib/DBIx/Custom/QueryBuilder/TagProcessors.pm
... ...
@@ -88,9 +88,9 @@ sub update {
88 88
 
89 89
 DBIx::Custom::SQLBuilder::TagProcessors - Tag processors
90 90
 
91
-=head1 Processors
91
+=head1 Tag processors
92 92
 
93
-Processor is function,
93
+Tag processor is function,
94 94
 which receive arguments and return a part of SQL statment
95 95
 and column names.
96 96
 The part of SQL statment contains placeholders.
+1 -1
lib/DBIx/Custom/Result.pm
... ...
@@ -252,7 +252,7 @@ This overwrites C<default_filter>.
252 252
 
253 253
 =head1 METHODS
254 254
 
255
-L<DBIx::Custom::Resutl> inherits all methods from L<Object::Simple>
255
+L<DBIx::Custom::Result> inherits all methods from L<Object::Simple>
256 256
 and implements the following new ones.
257 257
 
258 258
 =head2 C<fetch>
+2 -7
t/00-load.t
... ...
@@ -1,14 +1,9 @@
1 1
 #!perl -T
2 2
 
3
-use Test::More tests => 6;
3
+use Test::More tests => 1;
4 4
 
5 5
 BEGIN {
6
-	use_ok( 'DBIx::Custom' );
7
-	use_ok( 'DBIx::Custom::MySQL' );
8
-	use_ok( 'DBIx::Custom::Query' );
9
-	use_ok( 'DBIx::Custom::Result' );
10
-	use_ok( 'DBIx::Custom::SQLTemplate' );
11
-	use_ok( 'DBIx::Custom::SQLite' );
6
+    use_ok('DBIx::Custom' );
12 7
 }
13 8
 
14 9
 diag( "Testing DBIx::Custom $DBIx::Custom::VERSION, Perl $], $^X" );
+20 -20
t/dbix-custom-core-sqlite.t
... ...
@@ -43,8 +43,8 @@ my $NEW_ARGS = {
43 43
 # Variables
44 44
 my $dbi;
45 45
 my $sth;
46
-my $tmpl;
47
-my @tmpls;
46
+my $source;
47
+my @sources;
48 48
 my $select_tmpl;
49 49
 my $insert_tmpl;
50 50
 my $update_tmpl;
... ...
@@ -69,8 +69,8 @@ $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
69 69
 $dbi->insert(table => 'table1', param => {key1 => 3, key2 => 4});
70 70
 
71 71
 test 'DBIx::Custom::Result test';
72
-$tmpl = "select key1, key2 from table1";
73
-$query = $dbi->build_query($tmpl);
72
+$source = "select key1, key2 from table1";
73
+$query = $dbi->create_query($source);
74 74
 $result = $dbi->execute($query);
75 75
 
76 76
 @rows = ();
... ...
@@ -97,8 +97,8 @@ is_deeply($rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : fetc
97 97
 test 'Insert query return value';
98 98
 $dbi->execute($DROP_TABLE->{0});
99 99
 $dbi->execute($CREATE_TABLE->{0});
100
-$tmpl = "insert into table1 {insert key1 key2}";
101
-$query = $dbi->build_query($tmpl);
100
+$source = "insert into table1 {insert key1 key2}";
101
+$query = $dbi->create_query($source);
102 102
 $ret_val = $dbi->execute($query, param => {key1 => 1, key2 => 2});
103 103
 ok($ret_val, $test);
104 104
 
... ...
@@ -119,7 +119,7 @@ $dbi->register_filter(twice       => sub { $_[0] * 2},
119 119
                     three_times => sub { $_[0] * 3});
120 120
 
121 121
 $insert_tmpl  = "insert into table1 {insert key1 key2};";
122
-$insert_query = $dbi->build_query($insert_tmpl);
122
+$insert_query = $dbi->create_query($insert_tmpl);
123 123
 $insert_query->filter({key1 => 'twice'});
124 124
 $dbi->execute($insert_query, param => {key1 => 1, key2 => 2});
125 125
 $result = $dbi->execute($SELECT_TMPLS->{0});
... ...
@@ -130,10 +130,10 @@ $dbi->execute($DROP_TABLE->{0});
130 130
 test 'Filter in';
131 131
 $dbi->execute($CREATE_TABLE->{0});
132 132
 $insert_tmpl  = "insert into table1 {insert key1 key2};";
133
-$insert_query = $dbi->build_query($insert_tmpl);
133
+$insert_query = $dbi->create_query($insert_tmpl);
134 134
 $dbi->execute($insert_query, param => {key1 => 2, key2 => 4});
135 135
 $select_tmpl = "select * from table1 where {in table1.key1 2} and {in table1.key2 2}";
136
-$select_query = $dbi->build_query($select_tmpl);
136
+$select_query = $dbi->create_query($select_tmpl);
137 137
 $select_query->filter({'table1.key1' => 'twice'});
138 138
 $result = $dbi->execute($select_query, param => {'table1.key1' => [1,5], 'table1.key2' => [2,4]});
139 139
 $rows = $result->fetch_hash_all;
... ...
@@ -145,14 +145,14 @@ $dbi->execute($CREATE_TABLE->{1});
145 145
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
146 146
 $dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
147 147
 
148
-$tmpl = "select * from table1 where {= key1} and {<> key2} and {< key3} and {> key4} and {>= key5};";
149
-$query = $dbi->build_query($tmpl);
148
+$source = "select * from table1 where {= key1} and {<> key2} and {< key3} and {> key4} and {>= key5};";
149
+$query = $dbi->create_query($source);
150 150
 $result = $dbi->execute($query, param => {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
151 151
 $rows = $result->fetch_hash_all;
152 152
 is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic tag1");
153 153
 
154
-$tmpl = "select * from table1 where {<= key1} and {like key2};";
155
-$query = $dbi->build_query($tmpl);
154
+$source = "select * from table1 where {<= key1} and {like key2};";
155
+$query = $dbi->create_query($source);
156 156
 $result = $dbi->execute($query, param => {key1 => 1, key2 => '%2%'});
157 157
 $rows = $result->fetch_hash_all;
158 158
 is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic tag2");
... ...
@@ -163,8 +163,8 @@ $dbi->execute($CREATE_TABLE->{1});
163 163
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
164 164
 $dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
165 165
 
166
-$tmpl = "select * from table1 where {in key1 2};";
167
-$query = $dbi->build_query($tmpl);
166
+$source = "select * from table1 where {in key1 2};";
167
+$query = $dbi->create_query($source);
168 168
 $result = $dbi->execute($query, param => {key1 => [9, 1]});
169 169
 $rows = $result->fetch_hash_all;
170 170
 is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic");
... ...
@@ -197,8 +197,8 @@ eval {DBIx::Custom->connect(data_source => 'dbi:SQLit')};
197 197
 ok($@, "$test : connect error");
198 198
 
199 199
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
200
-eval{$dbi->build_query("{p }")};
201
-ok($@, "$test : build_query invalid SQL template");
200
+eval{$dbi->create_query("{p }")};
201
+ok($@, "$test : create_query invalid SQL template");
202 202
 
203 203
 test 'insert';
204 204
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
... ...
@@ -431,9 +431,9 @@ ok(! $result->fetch_first, "$test: rollback");
431 431
 test 'cache';
432 432
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});
433 433
 $dbi->execute($CREATE_TABLE->{0});
434
-$tmpl = 'select * from table1 where {= key1} and {= key2};';
435
-$dbi->build_query($tmpl);
436
-is_deeply($dbi->{_cached}->{$tmpl}, 
434
+$source = 'select * from table1 where {= key1} and {= key2};';
435
+$dbi->create_query($source);
436
+is_deeply($dbi->{_cached}->{$source}, 
437 437
           {sql => "select * from table1 where key1 = ? and key2 = ?;", columns => ['key1', 'key2']}, "$test : cache");
438 438
 
439 439
 $dbi = DBIx::Custom->connect($NEW_ARGS->{0});