Mercurial > hg > monetdb-perl
annotate DBD/t/75mil.t @ 0:cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
author | Sjoerd Mullender <sjoerd@acm.org> |
---|---|
date | Mon, 19 Sep 2016 15:15:52 +0200 (2016-09-19) |
parents | |
children | a0ec9e080a5b |
rev | line source |
---|---|
0
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
1 #!perl -I./t |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
2 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
3 # This Source Code Form is subject to the terms of the Mozilla Public |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
4 # License, v. 2.0. If a copy of the MPL was not distributed with this |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
6 # |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
7 # Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
8 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
9 $| = 1; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
10 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
11 use strict; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
12 use warnings; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
13 use DBI(); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
14 use DBD_TEST(); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
15 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
16 use Test::More; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
17 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
18 if (defined $ENV{DBI_DSN}) { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
19 if ($ENV{DBI_DSN} =~ /dbi:monetdb:/) { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
20 plan tests => 30; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
21 } else { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
22 plan skip_all => 'dbi:monetdb: specific tests'; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
23 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
24 } else { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
25 plan skip_all => 'Cannot test without DB info'; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
26 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
27 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
28 pass('MIL tests'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
29 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
30 $ENV{DBI_DSN} .= ';language=mil'; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
31 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
32 my $dbh = DBI->connect or die "Connect failed: $DBI::errstr\n"; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
33 pass('Database connection created'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
34 |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
35 for ( 7 .. 9 ) |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
36 { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
37 my $sth = $dbh->prepare("print( $_ );"); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
38 ok( defined $sth,'Statement handle defined'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
39 ok( $sth->execute,'execute'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
40 my $row = $sth->fetch; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
41 is( $#$row, 0,'last index'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
42 is( $row->[0], $_,'field 0'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
43 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
44 { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
45 local $dbh->{PrintError} = 0; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
46 my $sth = $dbh->prepare('( xyz 1);'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
47 ok(!$sth->execute,'execute'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
48 like( $sth->errstr, qr/!ERROR:/,'Error expected'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
49 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
50 ok( $dbh->do( $_ ), $_) for 'var b := new( int, str );'; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
51 ok( $dbh->do( $_ ), $_) for 'insert( b, 3,"T3");'; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
52 { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
53 my $sth = $dbh->prepare('insert( b, ?, ? );'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
54 ok( defined $sth,'Statement handle defined'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
55 ok( $sth->bind_param( 1, 7 , DBI::SQL_INTEGER() ),'bind'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
56 ok( $sth->bind_param( 2,'T7' ),'bind'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
57 ok( $sth->execute,'execute'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
58 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
59 { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
60 my $sth = $dbh->prepare('print( b );'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
61 ok( defined $sth,'Statement handle defined'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
62 ok( $sth->execute,'execute'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
63 for ( 3, 7 ) |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
64 { |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
65 my $row = $sth->fetch; |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
66 is( $row->[0], $_ ,"fetch $_"); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
67 is( $row->[1],"T$_","fetch T$_"); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
68 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
69 } |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
70 ok( $dbh->rollback,'Rollback'); |
cedccb7e0143
Copy of clients/perl directory without Tests from MonetDB changeset 4d2d4532228a.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff
changeset
|
71 ok( $dbh->disconnect,'Disconnect'); |