Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → Unfinished Work and Loose Ends |
Parts of the interface for the various remote network modules have been encapsulated as a Port structure. The encapsulation, however, was driven more by pragmatics than coherent design. The encapsulation itself as well as the division of work between the base classes and individual networks modules could use a careful redesign. The interface is non-architectural, and can be changed at any point.
The remote line protocol is defined in terms of XDR, the lower layer of Sun's remote procedure protocol. In practice, however, XDR adds nothing but cumbersome overhead. XDR should be replaced by simpler in-line code without impacting the line protocol or forward and backward compatibility.
Firebird Vulcan supports internal engine SQL. Following implementation of the compiled statement cache, GDML should generally be replaced by SQL for metadata handling within the engine.
The Gateway Provider is demonstrable but incomplete. The Gateway is also compiled to support a single remote interface. It should probably be reworked to pick up information about the foreign system from the configuration file.
Firebird Vulcan includes the skeleton of code to group commits. When a transaction commits, all pages it changed must be written to disk. Some of those pages are common to many transactions: the header page, the tip, generator pages, etc. Considerable saving can be achieved by grouping commits to those pages are written once for the whole group.
The ability to group commits was not required to achieve the performance goals, but the structure to do so is in the code.
Firebird Vulcan was developed on four compilers simultaneously: gcc 2.96, gcc 3.3.4, Solaris/Forte 5.5, and Microsoft VC7. To make that work, Firebird Vulcan eliminated the dependency on std.lib, minimized all other dependencies outside the core clib (c library), and reduced the complexity of template usage.
To be provided
Firebird Documentation Index → Firebird Vulcan Release Notes v. 1.1 → Process Architecture → Unfinished Work and Loose Ends |