The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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'