The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl
#
# $Id: nsql.t,v 1.5 2005/10/01 13:05:13 mpeppler Exp $

use lib 't';
use _test;

use strict;

use Test::More tests => 7; #qw(no_plan);

use vars qw($Pwd $Uid $Srv $Db);

BEGIN { use_ok('DBI');
        use_ok('DBD::Sybase');}

($Uid, $Pwd, $Srv, $Db) = _test::get_info();

#DBI->trace(3);
my $dbh = DBI->connect("dbi:Sybase:server=$Srv;database=$Db", $Uid, $Pwd, {syb_deadlock_retry=>10, syb_deadlock_verbose=>1});
#exit;
ok($dbh, 'Connect');

if(!$dbh) {
    warn "No connection - did you set the user, password and server name correctly in PWD?\n";
    for (4 .. 7) {
	ok(0);
    }
    exit(0);
}

my @d = $dbh->func("select * from sysusers", 'ARRAY', 'nsql');
ok(@d >= 1, 'array');
foreach (@d) {
    local $^W = 0;
    print "@$_\n";
}
#print "ok 3\n";

@d = $dbh->func("select * from sysusers", 'ARRAY', \&cb, 'nsql');
ok(@d == 1, 'array 2');
foreach (@d) {
    print "$_\n";
}

SKIP: {
    skip 'requires DBI 1.34', 2 unless $DBI::VERSION >= 1.34;
    @d = $dbh->syb_nsql("select * from sysusers", 'ARRAY');
    ok(@d >= 1, 'syb_nsql 1');
    foreach (@d) {
	local $^W = 0;
	print "@$_\n";
    }
#    print "ok 5\n";

    @d = $dbh->syb_nsql("select * from sysusers", 'ARRAY', \&cb);
    ok(@d == 1, 'syb_nsql 2');
    foreach (@d) {
	print "$_\n";
    }
#    print "ok 6\n";
}

sub cb {
    my @data = @_;
    local $^W = 0;
    print "@data\n";

    1;
}