line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package DBIx::PgLink::Adapter::SQLite; |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
# Note: DBD::SQLite 1.14 fixes a number of bugs with re-using statements |
4
|
|
|
|
|
|
|
# do not use v1.13 or earlier |
5
|
|
|
|
|
|
|
|
6
|
1
|
|
|
1
|
|
2385
|
use Moose; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
extends 'DBIx::PgLink::Adapter'; |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
has '+are_transactions_supported' => (default=>1); |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
with 'DBIx::PgLink::Adapter::Roles::EmulateColumnInfo'; |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
around 'expand_table_info' => sub { |
16
|
|
|
|
|
|
|
my ($next, $self, $info) = @_; |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
# skip system table |
19
|
|
|
|
|
|
|
return 0 if $info->{TABLE_NAME} =~ /^sqlite_sequence$/; |
20
|
|
|
|
|
|
|
$next->($self, $info); |
21
|
|
|
|
|
|
|
}; |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
1; |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
__END__ |
27
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
=head1 NOTES |
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
Reuse of statement handle after database error (i.e. constraint violation) depends on DBD::SQLite version: |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
1.14 repeat last error (and sometimes core dumps under v5.8.8 built for MSWin32-x86-multi-thread) |
33
|
|
|
|
|
|
|
1.13 repeat last error |
34
|
|
|
|
|
|
|
1.12 seems ok |
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
Strange devolution :( |
37
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
=cut |