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.