package DBI;

use strict;
use warnings;

use syntax qw(method);

BEGIN { $INC{'DBI.pm'} = __FILE__ }

my @raw_data = qw(
    Anton     Bertram
    Bernd     Claasen
    Christine Drechsler
    Detlev    Eder
    Ernst     Fischer
    Fred      Gross
    Gerd      Hase
    Hildegart Iser
    Ilse      Kober
    Klaus     Lechner
    Luise     Mehner
);
my @data;
while ( my ($given_name, $surname) = splice @raw_data, 0, 2 ) {
    push
        @data,
        {
            given_name => $given_name,
            surname    => $surname,
        };
}

method connect () {
    return bless {}, $self;
}

method prepare () {
    return $self;
}

method execute ($limit_begin, $limit_length) {
    if ( defined $limit_length ) {
        $self->{index}  = $limit_begin;
        $self->{length} = $limit_length;
    }

    return $self;
}

method fetchrow_array () {
    return 0 + @data;
}

method fetchall_arrayref () {
    return [ splice @data, $self->{index}, $self->{length} ];
}

method finish () {
    return $self;
}

1;