The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

CIsam - Perl Object Oriented extension for ISAM files

SYNOPSIS

use CIsam;

DESCRIPTION

CIsam.pm is a thin wrapper to the C-ISAM functions calls.

Exported constants

AUDGETNAME
AUDHEADSIZE
AUDINFO
AUDSETNAME
AUDSTART
AUDSTOP
CHARTYPE
DECIMALTYPE
DOUBLETYPE
FLOATTYPE
INTTYPE
LONGTYPE
MINTTYPE
MLONGTYPE
STRINGTYPE
ISAUTOLOCK
ISCLOSED
ISCURR
ISD1
ISD2
ISDD
ISDESC
ISDUPS
ISEQUAL
ISEXCLLOCK
ISFIRST
ISFIXLEN
ISGREAT
ISGTEQ
ISINOUT
ISINPUT
ISLAST
ISLCKW
ISLOCK
ISMANULOCK
ISMASKED
ISNEXT
ISNOCARE
ISNODUPS
ISNOLOG
ISOUTPUT
ISPREV
ISRDONLY
ISSYNCWR
ISTRANS
ISVARCMP
ISVARLEN
ISWAIT

AUTHOR

Ilya Verlinsky, ilya@wsi.net

METHODS

$obj->new()

Parameters:

This is the object constructor. If IsamObjects::BUILD is passed to it, it
will create the nessasary Isam files for that object to be stored in.
If no options are passed it will try to open the Isam files for reading and
writing in its default mode ISINOUT + ISMANULOCK. If user desires some other
mode than default he must pass the opening mode to the constructor.

Example:

my $ps = new Person(IsamObjects::BUILD) - this will build the Isam files
my $ps = new Person; - this will open the db in the default mode
my $ps = new Person(&ISINOUT + &ISMANULOCK) - This will open the db in custom
mode
$obj->path("indexname")

Parameters:

indexname as contained in the database layout module of
the index to be used when accessing the file (set). Only one path
may be active at a time. The paths must be valid paths which are
specified in the layout as indexed fields.

Example:

$obj->path("foo");
$obj->get(ISMODE)

Parameters:

Informix access mode should be passed. This will tell the DB
the way to access the records. Examples of modes are ISFIRST,
ISLAST, ISGTEQ, ISEQUAL, ISGREAT, ISNEXT.
For all modes except ISFIRST, ISLAST, and ISNEXT the database
engine will also perform the search function. The function will
return a full record from the db with it will stuff in the
appropriate hash positions.

Example:

$obj->get(&ISGTEQ);
$obj->add();

Parameters:

No parameters needs to be passed to this function. It will add a
non-existant record to the database.
WARNING: If the record witht he same unique number is already in the
db unpredictable situation can occur. For such a case use update()
function.

Example:

$obj->add();
$obj->update

Parameters:

No parameters. It will update the existing record in the db.
WARNING: Do not use to add new records. Unpredictable errors can
occur.

Example:

$obj->update();
$obj->clear();

Parameters:

None. This function will clear the record and set all the values
to their defaults - 0 for numeric and ' ' for the character.

Example:

$obj->clear();

The CIsam module allowes for the user of IsamObjects to access even the lowes CIsam functions throught the Isam Object

$obj->{ISAM_OBJ}

CIsam.pm module include class methods indicated by CIsam->method and object methods indicated by $fd->method where $fd is a reference to an instance obtained by isopen, isbuild or iscluster eg. my $fd = CIsam->isopen("myfile",&ISINOUT);

CIsam->iserrno([INTVALUE])

Returns the value of the global CIsam variable iserrno unless INTVALUE is specified, in which case, sets the value of iserrno.

CIsam->isrecnum([LONGVALUE])

Returns the value of the global CIsam variable isrecnum unless LONGVALUE is specified, in which case, sets the value of isrecnum.

CIsam->isreclen([INTVALUE])

Returns the value of the global CIsam variable isreclen unless INTVALUE is specified, in which case, sets the value of isreclen.

CIsam->iserrio([INTVALUE])

Returns the value of the global CIsam variable iserrio unless INTVALUE is specified, in which case, sets the value of iserrio.

$fd->fd

Returns CIsam file descriptor

$fd->name

Returns the filename

$fd->isaddindex(KEYDESC)

Returns TRUE if successfully adds an index to $fd

CIsam->isbuild(NAME, LEN, KEYDESC, MODE)

Returns a reference to an CIsam object or undef if unsuccessful

CIsam->iscleanup

Returns TRUE if successful

$fd->isclose

Returns TRUE if successful

$fd->iscluster(KEYDESC)

KEYDESC is a reference to a Keydesc object. Returns a reference to an CIsam object or undef if unsuccessful

CIsam->iscommit

Returns TRUE if successful

$fd->isdelcurr

Returns TRUE if successful

$fd->isdelete(DATA)

DATA is a reference to a scalar. Returns TRUE if successful

$fd->isdelindex(KEYDESC)

KEYDESC is a reference to a Keydesc object. Returns TRUE if successful

$fd->isdelrec(RECNUM)

RECNUM is a long integer Returns TRUE if successful

CIsam->iserase(NAME)

NAME is a filename. Returns TRUE if successful

$fd->isflush

Returns TRUE if successful

$fd->isindexinfo(IDX)

IDX is an integer. returns undef if unsuccessful. If IDX == 0, returns a reference to a Dictinfo object. If IDX > 0, returns a reference to a Keydesc object

$fd->islock

Returns TRUE if successful

CIsam->islogclose

Returns TRUE if successful

CIsam->islogopen

Returns TRUE if successful

CIsam->isopen(NAME, MODE)

NAME is a filename, MODE is an integer Returns undef if unsuccessful, otherwise returns a reference to an CIsam object

$fd->isread(DATA, MODE)

DATA is a reference to a scalar. MODE is an integer. Returns TRUE if successful

CIsam->isrecover

Returns TRUE if successful

$fd->isrelease

Returns TRUE if successful

CIsam->isrename(OLDNAME, NEWNAME)

Returns TRUE if successful

$fd->isrewcurr(DATA)

DATA is a reference to a scalar. Returns TRUE if successful

$fd->isrewrec(RECNUM, DATA)

RECNUM is the record number, DATA is a reference to the Data. Returns TRUE if successful

$fd->isrewrite(DATA)

DATA is a reference to the Data. Returns TRUE if successful

CIsam->isrollback

Returns TRUE if successful

$fd->issetunique(UNIQUEID)

UNIQUEID is an integer scalar. Returns TRUE if successful

$fd->isstart(KEYDESC, LENGTH, DATA, MODE)

KEYDESC is a reference to a Keydesc object, LENGTH is 0 or the number of bytes of the key, DATA is a reference to a scalar, MODE is an integer value.

Returns TRUE if successful

$fd->isuniqueid

Returns undef if unsuccessful or an long value

$fd->isunlock

Returns TRUE if successful

$fd->iswrcurr(DATA)

DATA is a reference to a scalar. Returns TRUE if successful

$fd->iswrite(DATA)

DATA is a reference to a scalar. Returns TRUE if successful

SEE ALSO

perl(1). IsamObjects.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 904:

=over should be: '=over' or '=over positive_number'