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 |