WEBSITE ALPHA · AI-assisted, source-reviewed documentation · Full-stack docs reconciled 2026-09-14
64x64base

DBF Flavors and Index Defaults

The current x64base DBF flavor matrix and the default index containers used by SET INDEX and SET ORDER.

x64base is an object-oriented hybrid. The runtime centers on DbArea and XBaseEngine objects, while workspaces wrap active areas and preserve table, cursor, index, relation, memo, and metadata state. The storage layer is not only DBF_64; the current headers define a three-part DBF family.

Header trinity

FlavorHeader evidenceRuntime position
Classic / MS-DOS DBFinclude/xbase.hpp, include/xbase_vfp.hpp; versions 0x03, 0x83, and FoxPro memo 0xF5Classic-like V32 area. Uses 10-byte descriptor field names and classic/FoxPro descriptor rules.
Visual FoxPro DBFinclude/xbase_vfp.hpp; versions 0x30, 0x31, 0x32VFP-compatible V64 area with newer field/data type handling, including currency-oriented work and VFP descriptor extras.
x64 DBF_64include/xbase_64.hpp; version 0x64x64 extension layer with large-header metadata, vector table/field names, fallback descriptor tokens, and x64 field metadata.

include/xbase.hpp is the neutral runtime contract. include/xbase_vfp.hpp bridges classic/MS-DOS, FoxPro, and VFP descriptor formats. include/xbase_64.hpp owns the x64 extension structures, vector metadata, and fallback name-resolution policy.

Index defaults

The command handlers make the current default behavior explicit:

Area flavorSET ORDER default containerSET INDEX accepted containersNotes
V32 classic/MS-DOS/FoxPro-like<table>.cnx.inx or .cnxINX is single-order attachment. Tag activation through SET ORDER is handled through CNX, not INX.
V64 VFP/x64<table>.cdx.cdx or .cnxCDX is the command-facing container. Its physical backend depends on residence: LMDB on disk, native CDX-V64 in RAM. .cnx is accepted on v64 and auto-resolves only when a .cnx exists and no .cdx does; the default is untouched.

This should be documented as current implementation behavior, not a permanent restriction. The Open Index API lane is the right place to describe future backend-neutral expansion.

INX and IDX are different things and are not interchangeable. INX is a single-tag on-disk container, listed above for V32. IDX is a memory-only educational index lab and is not a storage format for real work.

Name policy

x64 DBF metadata can carry authoritative table and field names beyond classic DBF descriptor limits. When x64 metadata is missing, the runtime falls back to descriptor tokens and mangled names. That fallback is intentional: old tools can still see a legal DBF-shaped file, while x64-aware code can resolve the richer vector metadata.