... | ... |
@@ -170,6 +170,7 @@ sub create_query { |
170 | 170 |
|
171 | 171 |
sub execute { |
172 | 172 |
my ($self, $query, $params) = @_; |
173 |
+ $params ||= {}; |
|
173 | 174 |
|
174 | 175 |
# Create query if First argument is template |
175 | 176 |
if (!ref $query) { |
... | ... |
@@ -28,6 +28,7 @@ my $sql; |
28 | 28 |
my $result; |
29 | 29 |
my @rows; |
30 | 30 |
my $rows; |
31 |
+my $query; |
|
31 | 32 |
|
32 | 33 |
|
33 | 34 |
# Prepare table |
... | ... |
@@ -39,66 +40,62 @@ $sth->execute(1, 2); |
39 | 40 |
$sth->execute(3, 4); |
40 | 41 |
|
41 | 42 |
|
42 |
-__END__ |
|
43 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
43 |
+test 'DBI::Custom::Result test'; |
|
44 |
+$tmpl = "select key1, key2 from table1"; |
|
45 |
+$query = $dbi->create_query($tmpl); |
|
46 |
+$result = $dbi->execute($query); |
|
44 | 47 |
|
45 | 48 |
@rows = (); |
46 | 49 |
while (my $row = $result->fetch) { |
47 | 50 |
push @rows, [@$row]; |
48 | 51 |
} |
49 |
-is_deeply(\@rows, [[1, 2], [3, 4]], 'fetch'); |
|
52 |
+is_deeply(\@rows, [[1, 2], [3, 4]], "$test : fetch scalar context"); |
|
50 | 53 |
|
51 | 54 |
|
52 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
53 |
- |
|
55 |
+$result = $dbi->execute($query); |
|
54 | 56 |
@rows = (); |
55 | 57 |
while (my @row = $result->fetch) { |
56 | 58 |
push @rows, [@row]; |
57 | 59 |
} |
58 |
-is_deeply(\@rows, [[1, 2], [3, 4]], 'fetch list context'); |
|
60 |
+is_deeply(\@rows, [[1, 2], [3, 4]], "$test : fetch list context"); |
|
59 | 61 |
|
60 | 62 |
|
61 |
-$result = $dbi->execute("select key1, key2 from table1;"); |
|
62 |
- |
|
63 |
+$result = $dbi->execute($query); |
|
63 | 64 |
@rows = (); |
64 | 65 |
while (my $row = $result->fetch_hash) { |
65 | 66 |
push @rows, {%$row}; |
66 | 67 |
} |
67 |
-is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], 'fetch_hash'); |
|
68 |
- |
|
68 |
+is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : fetch_hash scalar context"); |
|
69 | 69 |
|
70 |
-$result = $dbi->execute("select key1, key2 from table1;"); |
|
71 | 70 |
|
71 |
+$result = $dbi->execute($query); |
|
72 | 72 |
@rows = (); |
73 | 73 |
while (my %row = $result->fetch_hash) { |
74 | 74 |
push @rows, {%row}; |
75 | 75 |
} |
76 |
-is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], 'fetch hash list context'); |
|
76 |
+is_deeply(\@rows, [{key1 => 1, key2 => 2}, {key1 => 3, key2 => 4}], "$test : fetch hash list context"); |
|
77 | 77 |
|
78 | 78 |
|
79 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
80 |
- |
|
79 |
+$result = $dbi->execute($query); |
|
81 | 80 |
$rows = $result->fetch_all; |
82 |
-is_deeply($rows, [[1, 2], [3, 4]], 'fetch_all'); |
|
81 |
+is_deeply($rows, [[1, 2], [3, 4]], "$test : fetch_all scalar context"); |
|
83 | 82 |
|
84 | 83 |
|
85 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
86 |
- |
|
84 |
+$result = $dbi->execute($query); |
|
87 | 85 |
@rows = $result->fetch_all; |
88 |
-is_deeply(\@rows, [[1, 2], [3, 4]], 'fetch_all list context'); |
|
86 |
+is_deeply(\@rows, [[1, 2], [3, 4]], "$test : fetch_all list context"); |
|
89 | 87 |
|
90 | 88 |
|
91 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
92 |
- |
|
89 |
+$result = $dbi->execute($query); |
|
93 | 90 |
@rows = $result->fetch_all_hash; |
94 |
-is_deeply($rows, [[1, 2], [3, 4]], 'fetch_all_hash'); |
|
91 |
+is_deeply($rows, [[1, 2], [3, 4]], "$test : fetch_all_hash scalar context"); |
|
95 | 92 |
|
96 | 93 |
|
97 |
-$result = $dbi->execute("select key1, key2 from table1"); |
|
98 |
- |
|
94 |
+$result = $dbi->execute($query); |
|
99 | 95 |
@rows = $result->fetch_all; |
100 |
-is_deeply(\@rows, [[1, 2], [3, 4]], 'fetch_all_hash list context'); |
|
96 |
+is_deeply(\@rows, [[1, 2], [3, 4]], "$test : fetch_all_hash list context"); |
|
101 | 97 |
|
98 |
+__END__ |
|
102 | 99 |
|
103 | 100 |
$dbi->fetch_filter(sub { |
104 | 101 |
my ($key, $value, $type, $sth, $i) = @_; |