Add Firebird - #3059
Draft
alexey-milovidov wants to merge 2 commits into
Draft
Add Firebird#3059alexey-milovidov wants to merge 2 commits into
alexey-milovidov wants to merge 2 commits into
Conversation
Firebird 5.0.4 from the official release tarball, loaded with a small C++ loader using the batch API in embedded mode, with the PostgreSQL queries adapted to the Firebird dialect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexey-milovidov
had a problem deploying
to
benchmark-approval
November 4, 2026 20:31 — with
GitHub Actions
Error
Contributor
|
The run of Logs:
|
In embedded mode the user defaults to the OS user (`firebird`), which has no rights on the table created by SYSDBA, so the first EC2 run failed with `no permission for SELECT access to TABLE HITS`. Calling `exit` from a failing thread also shut down the engine under the other threads, which then crashed; use `_exit` instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
The run of Logs:
|
Contributor
|
The run of Logs:
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Firebird 5.0.4, a row-oriented relational database, installed from the official release tarball (Ubuntu packages only Firebird 3.0), in the default SuperServer mode.
VARCHAR(n) CHARACTER SET NONE(raw bytes; the data has invalid UTF-8), sized just above the longest value of each column. Firebird limits the declared row size to 64 KB, and its sort, used for everyGROUP BYandORDER BY, padsVARCHARkeys to their declared length: on 1M rows, grouping by short values took 20.8 s asVARCHAR(100)and 490 s asVARCHAR(8000).COPY, and external tables need fixed-width records, soloader.cppparseshits.tsvand inserts with theIBatchAPI in embedded mode, with 4 threads (more were slower). A Python driver loop managed only 220 rows/s. Forced writes are off during the load and switched back on afterwards; the primary key(CounterID, EventDate, UserID, EventTime, WatchID)is added after the load using parallel workers.FETCH/OFFSETsyntax,CHAR_LENGTH,SUBSTRING ... SIMILARin place ofREGEXP_REPLACE(Q29),DATEADD/DATEDIFFin place ofDATE_TRUNC(Q43), andGROUP BYpositions instead of aliases.Expected: single-threaded queries; Q34 and Q35 (
GROUP BY URLover 100M rows, ~800 GB of 8 KB sort keys) should fail for lack of disk space.The official ARM64 binaries of 5.0.4 are built with
-p(gprof instrumentation;_mcounttook 40% of the load's CPU time). It was removed on Firebirdmasterin FirebirdSQL/firebird@5231e27746 but remains inv5.0-release; x86-64 is unaffected.Validated locally (aarch64, private server instance) on a 1M-row sample: load and primary key work, all queries run, and the answers of the rewritten Q29 and Q43 match clickhouse-local running the original queries. Timings on this host are not meaningful (contended disk).
🤖 Generated with Claude Code