Subject Re: [firebird-support] FB SS 2.5 SMP - clarification
Author Ann Harrison
On Sat, Apr 21, 2012 at 5:02 AM, Michael Ludwig <milu71@...> wrote:

So, "BLR stands for Binary Language Representation", I didn't know this.

When BLR was created, 30 years ago, there were at least three relational
languages in use: Quel (Ingres and others, a descendant of Codd's Alpha),
SQL, and Data Language (DEC Rdb products, Datatrieve, descendant of CCA's
Data Language). At the time, it seemed unlikely that people would actually
write relational language in programs, but instead, applications would be
written in higher level languages and compiled into language to communicate
with databases. Misguided, or at least several decades too early. BLR was
developed to be easily machine generated, machine interpreted, and capable
of expressing all known relational languages.

> Is metadata the same as BLR? All definitions of tables, permissions,
> procedures, etc?

No. Parts of metadata - the procedural bits like constraints & triggers -
are compiled from SQL to BLR. The major part of the metadata is just
system tables - tables like any other. Firebird is moving away from active
system tables (which is good and overdue), but the original intention was
that when you stored a new record in RDB$TABLES, a table would appear.

Good luck,


[Non-text portions of this message have been removed]