x64base

Documentation / Getting started

Getting started

Build the engine, create a table, and query it -- using the same steps the engine's own regression runs.

Requirements

  • A C++20 compiler -- MSVC on Windows, or GCC/Clang on Linux and WSL
  • CMake 3.21 or newer
  • vcpkg, for dependency resolution (manifest is committed)

Build

git clone https://github.com/deraldg/x64base
cd x64base
cmake --preset core-vcpkg
cmake --build --preset core-vcpkg

That is the core build GitHub CI runs on every push, on Ubuntu/GCC and Windows/MSVC. It is the lean product, without the LMDB index store; the full development presets, and what each needs, are on the Downloads page. The result is a single command host. The engine libraries link into it; there is no separate daemon or service to start. No tagged release with binaries exists yet -- see the status board.

First session

This builds its own table, so it works on an empty data directory. The lines are taken from sqlsel_select_v1_regression.dts, a default-suite spec the engine re-runs on every REGRESSION ALL.

CREATE X64 SQLSTU (SID N(6,0), LNAME C(12), MAJOR C(4))
APPEND
REPLACE SID WITH "1"
REPLACE LNAME WITH "ADAMS"
REPLACE MAJOR WITH "CSCI"
APPEND
REPLACE SID WITH "2"
REPLACE LNAME WITH "BAKER"
REPLACE MAJOR WITH "MATH"
CLOSE
USE SQLSTU
STRUCT
LIST

Create a 64-bit table, append two records, close it, reopen it into a work area, look at its structure, and read it back. Each is a separate, observable step -- which is the point of the shell.

Then query it

SQLSEL SELECT SID,LNAME FROM SQLSTU WHERE MAJOR = "CSCI"
SQLSEL SELECT SID,LNAME FROM SQLSTU ORDER BY LNAME DESC
SQLSEL SELECT COUNT(*) FROM SQLSTU

SQLSEL is the statement surface. The word SQL on its own is reserved and runs nothing. Joins, grouping, subqueries, set operations, and INSERT/UPDATE/DELETE use the same verb; see Query and relations.

Check it yourself

REGRESSION RUN SQLSEL_SELECT_V1

Every runtime-proven claim on this site names a spec like this one. If one fails on your machine, that is worth reporting.