Product Documentation

c-treeDB API API for C

Previous Topic

Next Topic


Insert a segment before the segment indicated by SegNumber, given the field and index numbers.


CTHANDLE ctdbInsSegmentByNbr(CTHANDLE Handle, NINT IndexNbr,

NINT SegNumber, NINT FieldNbr, CTSEG_MODE SegMode)


ctdbInsSegmentByNbr() inserts a segment before the segment indicated by SegNumber, given the index and field numbers. The operation of inserting a segment links the index with the field in the table. In order to insert a segment with this function, the segment must be defined based on individual full fields, using what is known as record schema. See the c-tree Plus documentation for further information on record schemas. This function handles the segment handle allocation. Segment handle deallocation is automatically handled by ctdbCloseTable() and ctdbCloseAll().

After the segments, indexes, and fields have been defined, the table can be created or altered with ctdbCreateTable() or ctdbAlterTable().

  • Handle [in] the Table Handle.
  • IndexNbr [in] the Index number.
  • SegNumber [in] the segment before which the new segment will be inserted.
  • FieldNbr [in] the Field number.
  • SegMode [in] the Index segment mode. The valid values for the segment modes are: CTSEG_SCHSEG, CTSEG_USCHSEG, CTSEG_VSCHSEG, CTSEG_UVSCHSEG, CTSEG_SCHSRL, described in c-treeDB definitions. If used with a different segment mode, this call will return error 4047, meaning invalid segment mode. ctdbInsSegmentEx() accepts any segment mode.


ctdbInsSegmentByNbr() returns the segment handle on success, or NULL on failure


pMyNewIseg = ctdbInsSegmentByNbr(pMyTable, 0, 0, 1, CTSEG_ REGSEG);

RetVal = ctdbAlterTable(pMyTable, 0);

See also

ctdbInsSegmentByName(), ctdbInsSegment(), ctdbInsSegmentEx()