File: 26exe_array.t

package info (click to toggle)
libdbd-oracle-perl 1.83-3
  • links: PTS, VCS
  • area: contrib
  • in suites: sid
  • size: 1,724 kB
  • sloc: ansic: 8,354; perl: 7,868; makefile: 20
file content (64 lines) | stat: -rw-r--r-- 1,589 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!perl
# Completely new test for DBD::Oracle which came from DBD::ODBC
# Author: Martin J. Evans
#
# loads of execute_array and execute_for_fetch tests using DBI's methods

use strict;
use warnings;

use lib 't/lib';
use DBDOracleTestLib qw/ oracle_test_dsn db_handle /;

use Test::More;
use Data::Dumper;
require Test::NoWarnings;    # deliberately not calling import()

$| = 1;

use DBI qw(:sql_types);
use ExecuteArray;

$ENV{NLS_NCHAR} = 'US7ASCII';
$ENV{NLS_LANG}  = 'AMERICAN';

my $dbh = db_handle( { PrintError => 0 } )
  or plan skip_all => 'Unable to connect to Oracle';

my $ea = ExecuteArray->new( $dbh, 1 );    # set odbc_disable_array_operations
$dbh = $ea->dbh;

$ea->drop_table($dbh);
ok( $ea->create_table($dbh), 'create test table' ) or exit 1;

$ea->simple( $dbh, { array_context => 1, raise => 1 } );
$ea->simple( $dbh, { array_context => 0, raise => 1 } );
$ea->error( $dbh, { array_context => 1, raise => 1 } );
$ea->error( $dbh, { array_context => 0, raise => 1 } );
$ea->error( $dbh, { array_context => 1, raise => 0 } );
$ea->error( $dbh, { array_context => 0, raise => 0 } );

$ea->row_wise( $dbh, { array_context => 1, raise => 1 } );

$ea->update( $dbh, { array_context => 1, raise => 1 } );

for my $raise ( 0 .. 1 ) {
    for my $context ( 0 .. 1 ) {
        $ea->error(
            $dbh,
            {
                array_context => $context,
                raise         => $raise,
                notuplestatus => 1
            }
        );
    }
}

if ( $dbh && $ea ) {
    $ea->drop_table($dbh);
}

Test::NoWarnings::had_no_warnings();

done_testing;