| Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → SQL Integration |
![]() |
Firebird Vulcan moves SQL processing from the Y-valve into the database engine. This has several advantages.
The SuperServer version of Firebird maintains a metadata cache within the engine and a metadata cache for each connection. Building a new metadata cache is a significant part of the cost of establishing a new connection.
In a Firebird Vulcan shared server, all connections share a single copy of metadata.
In Firebird Vulcan internal metadata management uses internal statements like this:
PStatement statement = connection->prepareStatement (
"SELECT"
" vrel.RDB$CONTEXT_NAME,"
" vrel.RDB$RELATION_NAME"
" FROM RDB$VIEW_RELATIONS vrel"
" WHERE vrel.RDB$VIEW_NAME = ?");
statement->setString(1, viewName);
RSet resultSet = statement->executeQuery();
while (resultSet->next())
{
const char *contextName = resultSet->getString(1);
const char *relationName = resultSet->getString(2);
&
}
Moving away from GDML and gpre is hard, but necessary.
| Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → SQL Integration |