Too complicated IMHO.
Most GDML queries in the engine is access to single record of single table or
simple join or small set of records.
It can be easily handled by simple functions:
Relation Database::getTable(tableId);
Record Relation::getRecord(fieldId, value);
std::iterator<Record> Table::getRecords(fieldId, value);
and so on.
Table and field ids are from relations.h and fields.h so any mistype is
caught by compiler.
Adriano dos Santos Fernandes wrote 22.10.2023 16:12:
> Let's see it from another perspective: it's GitHub Actions, an established, free
> service, widely used and documented product.
Right, it is MS choice and they force everybody else to use it for Github's
CI. They have rights to do so as owners of the Github.
But Firebird is a separate project and while it has to use YAML for CI there
is no reason to draw it into anything else.
> anyone can learn and change for good.
Yes, that's my point. One have to learn YAML to change CI settings.
Since I started working with Firebird code, more than 20 years ago,
probably there isn't any commit of you [Jim Starkey]. I suppose any code of you
entered in Firebird code was some Vulcan code that list files from a
directory and that I get from it and added to Firebird.
Actually, for the record, my name isn't on any commit, as commit was a git concept that didn't appear until decades later.
The originally, I didn't use any code management system. Builds were performed either by Unix "make" on most platforms or my own implementation of "make" for VMS (DEC had a make clone called MMS for which they wanted $2,500 per copy).
As we added engineers this became untenable, so I implemented "Marion" (the librarian) layered on, of course, JRD. Marion required module checkout to avoid collisions but was otherwise a reasonable code management system (for its day). I clearly remember the moment that I loaded the Interbase code base into Interbase, wondering whether this was a very good idea. We also had a test control system, obscurely called TCS, that ran on every development system every night and Test Analyzer (TAN) that collected and displayed all test failures.
We also had a distributed email program written by the support group, again layered on the database. The Internet was known but still closed to non-government sponsored organization, though eventually I think a connection to UseNet (may it burn in hell) was added.
I could go on about the evolution of lock managers, etc. But the
low point came when I got a call from Apollo's senior architect
that we had detected an architecturally unfixable conflict between
their brand new threading system and their signal handling
system. This required a major architectural change to product
implementation to shift from signal handling to threads which, in
turn, required that I write the first VMS threading package.
--
You received this message because you are subscribed to the Google Groups "firebird-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-deve...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebird-devel/CALAsn_LDuodBySY6_yQD2uax7oXLptTvHBpA0DB66SW7AyiURA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "firebird-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-deve...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/firebird-devel/c4a99441-f644-4cbf-b3ff-36dca20711db%40gmail.com.
'Mark Rotteveel' via firebird-devel wrote 26.10.2023 13:57:
> That doesn't mean that someone else can't write (unit/integration) tests *as
> well*, but it is pretty alien to me to not be writing any tests yourself while
> developing something.
I personally have no idea how to write tests for anything that is not a
classic function, returning single deterministic result from given parameters
without any side effect and previous set up