/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 1996, 1997, 1998
* Sleepycat Software. All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include "config.h"
#ifndef lint
#endif /* not lint */
#ifndef NO_SYSTEM_INCLUDES
#include <stdlib.h>
#endif
#include "db_int.h"
#include "db_page.h"
#include "btree.h"
#ifdef DEBUG
/*
* __bam_cprint --
* Display the current cursor list.
*
* PUBLIC: int __bam_cprint __P((DB *));
*/
int
{
"%#0x->%#0x: page: %lu index: %lu dpage %lu dindex: %lu recno: %lu",
}
return (0);
}
#endif /* DEBUG */
/*
* __bam_ca_delete --
* Update the cursors when items are deleted and when already deleted
* items are overwritten. Return the number of relevant cursors found.
*
* PUBLIC: int __bam_ca_delete __P((DB *, db_pgno_t, u_int32_t, int));
*/
int
int delete;
{
/* Recno is responsible for its own adjustments. */
return (0);
/*
* Adjust the cursors. We don't have to review the cursors for any
* thread of control other than the current one, because we have the
* page write locked at this point, and any other thread of control
* had better be using a different locker ID, meaning only cursors in
* our thread of control can be on the page.
*
* It's possible for multiple cursors within the thread to have write
* locks on the same page, but, cursors within a thread must be single
* threaded, so all we're locking here is the cursor linked list.
*/
if (delete)
else
++count;
}
}
return (count);
}
/*
* __bam_ca_di --
* Adjust the cursors during a delete or insert.
*
* PUBLIC: void __bam_ca_di __P((DB *, db_pgno_t, u_int32_t, int));
*/
void
int adjust;
{
/* Recno is responsible for its own adjustments. */
return;
/*
* Adjust the cursors. See the comment in __bam_ca_delete().
*/
}
}
/*
* __bam_ca_dup --
* Adjust the cursors when moving items from a leaf page to a duplicates
* page.
*
* PUBLIC: void __bam_ca_dup __P((DB *,
* PUBLIC: db_pgno_t, u_int32_t, u_int32_t, db_pgno_t, u_int32_t));
*/
void
{
/* Recno is responsible for its own adjustments. */
return;
/*
* Adjust the cursors. See the comment in __bam_ca_delete().
*/
/*
* Ignore matching entries that have already been moved,
* we move from the same location on the leaf page more
* than once.
*/
}
}
}
/*
* __bam_ca_rsplit --
* Adjust the cursors when doing reverse splits.
*
* PUBLIC: void __bam_ca_rsplit __P((DB *, db_pgno_t, db_pgno_t));
*/
void
{
/* Recno is responsible for its own adjustments. */
return;
/*
* Adjust the cursors. See the comment in __bam_ca_delete().
*/
}
}
/*
* __bam_ca_split --
* Adjust the cursors when splitting a page.
*
* PUBLIC: void __bam_ca_split __P((DB *,
* PUBLIC: db_pgno_t, db_pgno_t, db_pgno_t, u_int32_t, int));
*/
void
int cleft;
{
/* Recno is responsible for its own adjustments. */
return;
/*
* Adjust the cursors. See the comment in __bam_ca_delete().
*
* If splitting the page that a cursor was on, the cursor has to be
* adjusted to point to the same record as before the split. Most
* of the time we don't adjust pointers to the left page, because
* we're going to copy its contents back over the original page. If
* the cursor is on the right page, it is decremented by the number of
* records split to the left page.
*/
if (cleft)
} else {
}
if (cleft)
} else {
}
}
}