Lines Matching defs:moi
559 struct mdb_op_info *moi = NULL;
577 moi = (mdb_op_info *)oex;
579 if (( moi->moi_flag & (MOI_FREEIT|MOI_KEEPER)) == MOI_FREEIT ) {
580 moi->moi_ref--;
581 if ( moi->moi_ref < 1 ) {
582 mdb_txn_reset( moi->moi_txn );
583 moi->moi_ref = 0;
584 LDAP_SLIST_REMOVE( &op->o_extra, &moi->moi_oe, OpExtra, oe_next );
585 op->o_tmpfree( moi, op->o_tmpmemctx );
613 struct mdb_op_info *moi = NULL;
625 rc = mdb_opinfo_get( op, mdb, rw == 0, &moi );
628 txn = moi->moi_txn;
711 mdb_op_info *moi = NULL;
729 moi = (mdb_op_info *)oex;
732 if ( !moi ) {
733 moi = *moip;
735 if ( !moi ) {
737 moi = op->o_tmpalloc(sizeof(struct mdb_op_info),op->o_tmpmemctx);
739 moi = ch_malloc(sizeof(mdb_op_info));
741 moi->moi_flag = MOI_FREEIT;
742 *moip = moi;
744 LDAP_SLIST_INSERT_HEAD( &op->o_extra, &moi->moi_oe, oe_next );
745 moi->moi_oe.oe_key = mdb;
746 moi->moi_ref = 0;
747 moi->moi_txn = NULL;
752 if ( moi->moi_flag & MOI_READER ) {
753 moi = *moip;
754 LDAP_SLIST_INSERT_HEAD( &op->o_extra, &moi->moi_oe, oe_next );
757 *moip = moi;
759 moi->moi_ref++;
760 if ( !moi->moi_txn ) {
762 moi->moi_txn = mdb_tool_txn;
769 rc = mdb_txn_begin( mdb->mi_dbenv, NULL, flag, &moi->moi_txn );
781 if ( !moi->moi_txn ) {
783 moi->moi_txn = mdb_tool_txn;
788 rc = mdb_txn_begin( mdb->mi_dbenv, NULL, MDB_RDONLY, &moi->moi_txn );
798 rc = mdb_txn_begin( mdb->mi_dbenv, NULL, MDB_RDONLY, &moi->moi_txn );
812 data = moi->moi_txn;
815 mdb_txn_abort( moi->moi_txn );
816 moi->moi_txn = NULL;
822 moi->moi_txn = data;
825 moi->moi_flag |= MOI_READER;
828 if ( moi->moi_ref < 1 ) {
829 moi->moi_ref = 0;
832 rc = mdb_txn_renew( moi->moi_txn );
835 moi->moi_ref++;
836 if ( *moip != moi )
837 *moip = moi;
845 mdb_op_info **moip = (mdb_op_info **)ptr, *moi = *moip;
852 moi = *moip;
853 moi->moi_flag |= MOI_KEEPER;
857 rc = mdb_txn_commit( moi->moi_txn );
860 op->o_tmpfree( moi, op->o_tmpmemctx );
864 mdb_txn_abort( moi->moi_txn );
865 op->o_tmpfree( moi, op->o_tmpmemctx );