Jiri Cincura have created a small how-to for Firebird Embedded and .NET.
Monday, January 29, 2007
Saturday, January 27, 2007
An intrepid new Delphi user posted this in the newsgroups:
I'm trying to learn about Delphi.Please give me some advice to learn
Delphi for beginners.Thanks all.
Nick Hodges posted few links:
Marco Cantu's Essential Delphi Tutorial
Neil Moffat's Marvelous Delphi Basics
Liz's Delphi Tutorial
3DBuzz's Delphi Tutorials
Creating Your First Application on The Delphi Wiki
delphi.about.com's A Beginner's Guide to Delphi
Posted by Fikret Hasovic at 1/27/2007 10:31:00 PM
BlazeTop (former SQLHammer) version 126.96.36.199 is available for download
What’s new in version 188.8.131.52?
New features and enhancements:1.Borland InterBase 2007 support has been added:
2.Improved mechanism of checking Open Office data export; it enabled us to increase the performance.
Bugs fixed:1.ALTER PROCEDURE did not operate correctly if the procedure used declared variables. Fixed.
2.The SQLEditor worked incorrectly when you commented/uncommented the selected text in the pop-up menu.
Posted by Fikret Hasovic at 1/27/2007 10:26:00 PM
Friday, January 26, 2007
Release Candidate kits of Firebird 2.0.1 are now available for download at the Firebird main site.
This sub-release introduces a number of bug fixes done since the v.2.0 release in November. It does not add any new functionality to the database engine. A minor improvement is detection of Gentoo or FreeBSD during configuration.
An important reversion to 1.5 behaviour has occurred in this sub-release, as follows:
In Firebird 2.0, a deliberate restriction was imposed to prevent anyone from dropping, altering or recreating a PSQL module if it had been used since the database was opened. An attempt to prepare the DDL statement would result in an "Object in Use" exception.
Many people complained that the restriction was unacceptable because they depended on performing these metadata changes "on the fly". The restriction has therefore been removed. However, the reversion in no way implies that performing DDL on active PSQL modules is "safer" in Firebird 2.0.1 than it was in V.1.5.x.
Posted by Fikret Hasovic at 1/26/2007 04:37:00 PM
Thursday, January 25, 2007
The new Null Guide is finally online, at its usual locations:
Posted by Fikret Hasovic at 1/25/2007 03:39:00 PM
The owners of the InterBase and Firebird Developer Magazine iBase.ru and IBPhoenix today agreed to collaborate in producing future issues of the magazine. Under the agreement, free copies of the magazine will be distributed to IBPhoenix Support and Subscription customers automatically in advance of publication.
Posted by Fikret Hasovic at 1/25/2007 03:37:00 PM
What is IBExpertLive?
HK-Software has implemented a streaming system based on the Firebird database
server, which publishes pictures and audio, as needed to view the presentations from
the 2004, 2005 and 2006 Firebird Conferences. There are also IBExpert
tutorial videos enabling you to learn more about working with Firebird and
InterBase with IBExpert. There is currently about 55GB of video data available,
with around 200 hours of firebird-related presentations from last two Firebird
Conferences and other events.
To use IBExpertLive, you need a firebird connection via Internet using port 13050 to our
server on IP 184.108.40.206. If it does not work, please check your firewall settings.
The IBExpertLive Player is freeware and included in IBExpert Setup or can be downloaded
The sessions are also free, but the player requires a free email registration
An overview of all sessions can be found below (partly in german language).
110 FBCON2006 B01-Paul Ruizendaal - Solution Stacks Built on Firebird and PHP - Another Flame in the Lamp?
111 FBCON2006 C01-Milan Babuskov - Developing Cross Platform Aplications with Firebird and wxWidgets
112 FBCON2006 B02-Martijn Tonies - The Firebird System Tables
113 FBCON2006 C02-Mauritio Longo - Supporting Complex On Line Systems with Satellite Databases
114 FBCON2006 B03-Thomas Steinmaurer - Owner Migration the Easy Way
115 FBCON2006 C03-Andrew Morgan - Towards a Universal UDF Testing Framework
116 FBCON2006 B04-Björn Reimer/Dirk Baumeister - Firebird Clients and System Tables
117 FBCON2006 C04-Fikret Hasovic - Cross - Platform Development Using Lazarus
118 FBCON2006 A05-FirebirdFoundation - Opening and Welcome(only just audio)
119 FBCON2006 A06-PaulReeves - Building Firebird on Windows and Linux
120 FBCON2006 B06-DmitrySibiryakov - Replication with IBReplicator
121 FBCON2006 C06-CarlosCantu - New Shutdown Modes and Backups in Firebird 2.0
122 FBCON2006 A07-DmitryYemanov - Cost-based Optimization and Statistics
123 FBCON2006 B07-ErickSasse - N-Tier applications with Firebird and RemObjects DataAbstract
124 FBCON2006 C07-HolgerKlemt - Creating modern database webaplications using Firebird, php and AJAX
125 FBCON2006 A08-IvanPrenosil - Data Types in Practice/Optimizing Counts(Dual Topics)
126 FBCON2006 B08-GaryFranklin/BillOliver - Real World Applications Using Firebird
127 FBCON2006 C08-AlexSkvirski - Firebird Connectivity Tools or is there any Performance loss out there?
128 FBCON2006 A09-RomanRokytskyy - External routines:interface, usage and possibilities
129 FBCON2006 B09-MauricioLongo - Applications with Morfik WebOS and Firebird
130 FBCON2006 C09-DmitriKouzmenko - Optimizing Server Performance
131 FBCON2006 A10-HolgerKlemt - Creating Transaction Logs in Interbase
132 FBCON2006 B10-MilanBabuskov - Managing Metadata Chaanges
133 FBCON2006 C10-GaryFranklin/BillOliver - Delivering and using the Vulcan embeddet Server as Part of SAS
134 FBCON2006 D11-VladislavHorsun - New SQL Features in coming Versions of Firebird
135 FBCON2006 B12-RomanRokytskyy - Jaybird new release new features
136 FBCON2006 C12-DmitriKouzmenko - Database Health and Corruption
150 FBCON2005 Andrew Morgan - Embedding and using sophisticated mathematics in Firebird (FBC2005)
151 FBCON2005 Ann Harrison - Detecting correcting and preventing database corruption (FBC2005)
152 FBCON2005 Evgeney Putilin - Firebird and Java Stored Procedures (FBC2005)
153 FBCON2005 Nando Dessena - Deploying Firebird transparently on Windows (FBC2005)
154 FBCON2005 Paul Reeves - From Basic to Advanced ISQL scripting (FBC2005)
155 FBCON2005 Fikret Hasovic - Open source Delphi (FBC2005)
156 FBCON2005 Luiz Paulo de Oliveira Santos - Firebird API in Delphi Lazarus and Free Pascal (FBC2005)
157 FBCON2005 Jason Wharton - IB Objects for Newbies (FBC2005)
158 FBCON2005 Luiz Paulo de Oliveira Santos - Techniques for migrating from MySQL to Firebird (FBC2005)
159 FBCON2005 Stefan Heymann - What Developers Should Know about Character Sets and Unicode etc (FBC2005)
160 FBCON2005 Lucas Franzen - STORED PROCEDURES (FBC2005)
161 FBCON2005 Claus Heeg - Migration and integration of other databases into Firebird using Cold Fusion
162 FBCON2005 Holger Klemt - Setting Up a bidirectional Replication based on EXECUTE STATEMENT Commands
163 FBCON2005 Paul Ruizendaal - Solution Stacks Built on Firebird and PHP - Another Flame in the LAMP
164 FBCON2005 Pavel Cisar - Firebird Quality Assurance (FBC2005)
165 FBCON2005 Dmitri Kouzmenko - Firebird Performance Optimization for Different Applications (FBC2005)
166 FBCON2005 Thomas Steinmaurer - Audit Trails Transaction Log Redo with the IB LogManager product family
167 FBCON2005 Milan Babuskov - The power of Firebird events (FBC2005)
168 FBCON2005 Martijn Tonies - The Firebird system tables (FBC2005)
169 FBCON2005 Kim Madsen - SOA using kbmMW (FBC2005)
170 FBCON2005 Daniel Magin - Developing DataBase ASP.net Application with Delphi 2006 (FBC2005)
171 FBCON2005 Mauricio Longo - Dynamic Databases - A Conceptual Overview (FBC2005)
172 FBCON2005 Carlos Cantu - PSQL in Action (FBC2005)
173 FBCON2005 Jim Starkey - Configuring Firebird and Vulcan (FBC2005)
174 FBCON2005 Jim Starkey - Vulcan status features and goals (FBC2005)
175 FBCON2005 Arno Brinkman - Understanding the Optimizer I (FBC2005)
176 FBCON2005 Paul Beach Dmitry Yemanov - Firebird future development (FBC2005)
177 FBCON2005 Mauricio Longo - FireQ - Firebird Based Messaging Infrastructure (FBC2005)
178 FBCON2005 Roman Rokytskyy - JayBird - JCA/JDBC driver for Firebird (FBC2005)
179 FBCON2005 Roman Rokytskyy - JayBird - JCA/JDBC driver for Firebird (FBC2005)
180 FBCON2005 Lester Caine - Firebird on PHP Integrate or Abstract (FBC2005)
181 FBCON2005 Jeanot Bijpost - An introduction to Cathedron (FBC2005)
182 FBCON2005 Andrew Morgan - Creating and managing recursive structures (FBC2005)
183 FBCON2005 Holger Klemt - Server Performance - How to make your application run faster (FBC2005)
184 FBCON2005 Ann Harrison - First steps in performance tuning (FBC2005)
185 FBCON2005 Milan Babuskov - FlameRobin - administration tool for Firebird DBMS (FBC2005)
186 FBCON2005 Claus Heeg - Building ERP web applications based on Firebird and cold Fusion (FBC2005)
187 FBCON2005 Serg Vostrikov - Getting Started with FIBPlus (FBC2005)
188 FBCON2005 Arno Brinkman Dmitry Yemanov - Under the hood Data access paths (FBC2005)
189 FBCON2005 Pavel Cisar - Making your own Firebird PowerTools with Python (FBC2005)
190 FBCON2005 Stefan Heymann - Using Firebird for Quality Management Software (FBC2005)
191 FBCON2005 Serg Vostrikov - Special FIBPlus features network traffic optimization and FIBPlus
192 FBCON2005 Fikret Hasovic - Firebird in n-tier setup with Delphi and kbmMW (FBC2005)
193 FBCON2005 Jeanot Bijpost - From Model Driven Development to Model Driven Architectures (FBC2005)
194 FBCON2005 Alex Peshkov - New security features in Firebird 2.0 (FBC2005)
196 FBCON2005 Arno Brinkman - Understanding the Optimizer II (FBC2005)
200 FBCON2004 Frank Ingermann - The Sparkey of the year Event (FBC2004)
201 FBCON2004 Ann Harrison - QLI (FBC2004)
202 FBCON2004 Helen Borrie - Creating a shop (the new Firebird Example Database) (FBC2004)
203 FBCON2004 Helen Borrie - Stocking the Shelves and Browsing the store (FBC2004)
204 FBCON2004 Arno Brinkmann - Understanding the Optimizer in Firebird (FBC2004)
205 FBCON2004 Arno Brinkmann - The Optimizer in SQL Examples (FBC2004)
206 FBCON2004 Pavel Cisar - Wrestling Firebird (FBC2004)
207 FBCON2004 Pavel Cisar - Firebird QA (FBC2004)
208 FBCON2004 Lucas Franzen - STORED PROCEDURES I (FBC2004)
209 FBCON2004 Lucas Franzen - STORED PROCEDURES II (FBC2004)
210 FBCON2004 Ann Harrison - Lock print (FBC2004)
211 FBCON2004 Frank Ingermann - Client Performance (FBC2004)
212 FBCON2004 Frank Ingermann - FBFreeDB (FBC2004)
213 FBCON2004 Holger Klemt - The Power of “Execute Statement” (FBC2004)
214 FBCON2004 Holger Klemt - corrupt Databases, examples and Solutions (FBC2004)
215 FBCON2004 Holger Klemt - Firebird performance Workshop (FBC2004)
216 FBCON2004 Manuel Morbitzer - PHP and Firebird (FBC2004)
217 FBCON2004 Manuel Morbitzer - Firebird and Visual Studio .NET (FBC2004)
218 FBCON2004 Paul Reeves - Building Firebird Installation Kits for Win32 (FBC2004)
219 FBCON2004 Paul Reeves - Firebird System Tables (FBC2004)
220 FBCON2004 Nicolay Samofatov - External tables (FBC2004)
221 FBCON2004 Nicolay Samofatov - new backup technology (FBC2004)
222 FBCON2004 Jim Starkey - Vulcan Architecture (FBC2004)
223 FBCON2004 Jim Starkey - Vulcan Design Goals (FBC2004)
224 FBCON2004 Thomas Steinmaurer - Serverseitige Programmier-Techniken (FBC2004)
225 FBCON2004 Thomas Steinmaurer - Neuerungen in Firebird 1.5 (FBC2004)
226 FBCON2004 Martijn Tonies - An Introduction to Firebird for database developers (FBC2004)
227 FBCON2004 Martijn Tonies - The Firebird PSQL language (FBC2004)
228 FBCON2004 Jason Wharton - IBO and Firebird / IBO Advanced (FBC2004)
229 FBCON2004 Hilmar Brodner - AvERP I Grundlagen und Administration (FBC2004)
230 FBCON2004 Hilmar Brodner - AvERP II Programmierung (FBC2004)
231 FBCON2004 Paul Ruizendaal - Moving applications from Oracle to Firebird (FBC2004)
232 FBCON2004 Artur Anjos - Using Firebird over the Internet (FBC2004)
233 FBCON2004 Bastian Morbitzer - PHPtree - Firebird basierende PHP Anwendung für Dokumentation und
234 FBCON2004 Bastian Morbitzer - The Future of a global Firebird Online Documentation System (FBC2004)
235 FBCON2004 Lester Caine - PHP - Life after Builder6 (FBC2004)
236 FBCON2004 Marc o Dunehue - Firebird and Java I (FBC2004)
237 FBCON2004 Marc o Donehue - Firebird and Java II (FBC2004)
238 FBCON2004 Bernd UA - Delphi 8 and Firebird .NET Provider (FBC2004)
101 HK Presentation: Improving performance with IBExpert (Budapest 02/2005)
102 HK Presentation: A review of IBExpert’s range of functions (Budapest 02/2005)
001. HK German Tutorial: Grundlagen SQL und Einrichtung IBExpert Demodatenbank
002. HK German Tutorial: Einfache Firebird SQL Befehle
003. HK German Tutorial: Tabellen mit SQL verknüpfen
004. HK German Tutorial: Where Bedingungen
005. HK German Tutorial: Erstellen einer eigenen Datenbank
006. HK German Tutorial: Tabellen erstellen
007. HK German Tutorial: Tabellen mit Fremdschlüssel erstellen
008. HK German Tutorial: Benutzer erstellen und Rechte vergeben
009. HK German Tutorial: Datenbank Parameter und Hintergrundwissen
010. HK German Tutorial: Tabellen abfragen, Indizes erstellen und SQL Performance vergleichen
011. HK German Tutorial: Auswirkungen langer Char Felder
012. HK German Tutorial: UDF benutzerdefinierte Funktionen einbinden
013. HK German Tutorial: IBExpert Demo Database Collection
014. HK German Tutorial: Datenbankdesigner Entity Relationship Modeling
016. HK German Tutorial: Erstellen eines triggerbasierenden Transaktionslogs
017. HK German Tutorial: Logging in IBExpert und Trigger in der Employee Datenbank
018. HK German Tutorial: Sprachelemente für Stored Procedures
019. HK German Tutorial: Rekursionen in Prozeduren und erste eigene Prozeduren
020. HK German Tutorial: Prozeduren entwickeln und optimieren
021. HK German Tutorial: Trigger entwickeln für Transaktionsprotokolle
022. HK German Tutorial: Views und Updatable Views
023. HK German Tutorial: Views für mehrere Tabellen
024. HK German Tutorial: Wie funktioniert Firebird intern? I
025. HK German Tutorial: Wie funktioniert Firebird intern? II
026. HK German Tutorial: Wie funktioniert Firebird intern? III
027. HK German Tutorial: Wie funktioniert Firebird intern? IV
028. HK German Tutorial: FBConnections, gfix, Cache und sonstige Parameter festlegen
029. HK German Tutorial: IBETransactionMonitor, Server Properties, Backup Restore, Logging,
030. HK German Tutorial: IBExpertSQLMonitor, Firebird ODBC und MS Access, Export, IBEBlock ODBC
031. HK German Tutorial: IBExpert Spezialfunktionen, Plananalyzer, Selektivität,Kommandozeilenprogramme,
032. HK German Tutorial: Installation und Vergleich FB15-FB20, Performanceanalyse, IBExpert Doku, Extract
Metadaten, Datenbanken reparieren
033. HK German Tutorial: Alias.conf, firebird.conf, Temp Pfad und Dateien
034. HK German Tutorial: firebird.log, Freeadhocudf
035. HK German Tutorial: Demodatabase Transaktionslog, rfunc UDF, Replikation
036. HK German Tutorial: Internet Firebirdverbindung mit Zebedee
037. HK German Tutorial: Testdaten generieren, Performancemessung, Indizes, Plan, Selektivität,
038. HK German Tutorial: Set Statistics, Indexoptimierung, order by, Fremschlüsselindizes
039. HK German Tutorial: Datenbankstatistik, Backup Restore Optimierung,
040. HK German Tutorial: Trigger statt FK, MGA, Versionierung
041. HK German Tutorial: SQL,in,exists,updateable views,Performance, firebird.conf Konfiguration, lange
042. HK German Tutorial: external files,csv export,
043. HK German Tutorial: IBExpert Export
044. HK German Tutorial: CSV Import Insertex, Tabelle in andere Datenbank kopieren,
045. HK German Tutorial: IBExpert.usr Menüs einschränken, Sprachanpassung
046. HK German Tutorial: mit ibeblock Metadatenextract per Kommandozeile automatisieren und mit DLL in
eigene Programme integrieren
047. HK German Tutorial: Metadatenextract mit Daten, Blobunterstützung in Scripts
048. HK German Tutorial: ibeblock ODBC Zugriff, MS Access Datenbanken einbinden,Daten von ODBC nach
049. HK German Tutorial: ibeblock Datenbanken verknüpfen
050. HK German Tutorial: Dateien importieren, Bilder importieren per Script
051. HK German Tutorial: Dateien per Script updaten
052. HK German Tutorial: Verbindungen über das Internet mit Zebedee verschlüsseln und komprimieren, Dyndns
mit no-ip.com nutzen
053. HK German Tutorial: Performance Internetbetrieb von Datenbankservern, Pingzeit,Route
054. HK German Tutorial: HK Services, Transaction Monitor
055. HK German Tutorial: Delphi BDE Applikationen auf IBObjects umstellen mit GReplace
056. HK German Tutorial: Datenbanken nachträglich Character Set und Dialekt konvertieren
057. HK German Tutorial: Extrahieren von Daten und ausführen per DLL
058. HK German Tutorial: Applikation Optimieren durch Einsatz spezieller IBO Komponenten, IB_DSQL,
059. HK German Tutorial: Performancevergleich IBO Query, IBO Cursor, BDE Query etc.
060. HK German Tutorial: Performanceprobleme durch Autobackground Commit Close Open vermeiden, Master
061. HK German Tutorial: Lazarus: Open Source Delphi für Windows und Linux, Zeos, AvERP Open Source
Warenwirtschaft, Datenmodellierung, Laufzeitformular
Posted by Fikret Hasovic at 1/25/2007 03:34:00 PM
Thursday, January 18, 2007
Oracle on Tuesday released fixes for 51 vulnerabilities that affect its software products. The update is part of the company's quarterly patch cycle. Oracle preannounced its patch release Thursday, when, for the first time, it published an advance notification so customers could plan ahead to apply the fixes.
Posted by Fikret Hasovic at 1/18/2007 11:42:00 AM
In a non-tech thread in the forums, Nick Hodges (Delphi Product Manager) has stated that "the next release of Delphi will use MSBuild as the build engine". This is very good news, as the Project Manager in recent versions of Delphi got some extra features and a change to install build tools, but with limited capabilities. MSBuild, instead, is the Microsoft build tool used in Visual Studio and allows developers to customize the build (and deployment) process with many different tasks.
At the moment you can achieve something similar using third-party build tools, like FinalBuilder. I think this is a very good addition, also because the same build process will be available within the IDE and fromt he command line. Moreover, you'll be able to use MSBuild also for C++ Builder (while in Visual Studio C++ compilations are not managed by MSBuild). More about this in David Dean blog.
Posted by Fikret Hasovic at 1/18/2007 11:17:00 AM
Wednesday, January 17, 2007
The JVCS team is happy to announce the JEDI VCS 2.41 server release,
which is intended as a maintenance release for 2.40 but also includes some
- support of MySQL5 directly out of the installer (ZEOS 6.6)
- Multiple logins with the same user is now possible which allows the simultaneous use of the standalone JVCS Client and the JVCS IDE client
- faster file transfer (get, checkout, checkin...) especially on large files and in LAN environment
- minor bug fixes
Complete change history is available through the JVCS tracker on
Downloads are available from here:
Updating is quite easy, stop the JVCS server application or the JVCS
service, run the installer, restart server application or service. There is no
JVCS 2.41 client release will follow soon.
We also will release a unstable JVCS 2.5 with branching support soon.
Posted by Fikret Hasovic at 1/17/2007 10:26:00 AM
Friday, January 12, 2007
Dmitry Yemanov posted to the Firebird-devel list his proposals for merging the Firebird 2 code with the Vulcan code.
Here it comes, with comments from others:
1) The result of the merge is a new CVS tree
2) Modules refactored by Jim are taken from the Vulcan tree
3) The rest is taken from the FB tree
4) All the pieces are adjusted to fit each other
5) Vulcan's code is fixed to use the project coding rules
1) The common library will mostly based on the FB
class library with some classes taken from Vulcan (QSort, SyncObject,
StatusVector, etc). The common string class is Firebird::String. The
exception handling is based on the FB classes with some changes. Based
on Alex's research, I conclude that the memory manager should be taken
from Vulcan and adapted to the FB pool infrastructure. The configuration
stuff is also taken from Vulcan.
- Dmitry (syncs and other platform specifics)
- Alex (memory management, classes library, exceptions)
- Adriano (config stuff) -- ???
2) The Y-valve is taken from Vulcan and fixed to fit the new common
library and the project coding conventions. An exception handling and
MT-safety review is required, as well as some cleanup.
3) The lock manager is taken from Vulcan, cleaned up and reviewed. I
don't agree with the way how the two cache modes are implemented there,
it looks ugly. Also, we need to carefully examine all the Windows and
Solaris specific changes made there.
4) The JRD files are merged from the both trees. The page cache code and
the metadata classes (as well as some other refactored code like blob
classes, the mover, etc) are taken from Vulcan with a careful review.
Other files (cmp/exe/dfw/etc) are taken from FB and adjusted to the
Vulcan synchronization and metadata cache classes.
Arno Brinkman commented: opt, btr, idx, Rsbxxx modules should be inherited from Vulcan IMO.
Only missing pieces are the INTL stuff, which is not that big.
//end of comment
Dmitry Yemanov commented: As for Rsb modules, I agree. The same for opt.cpp and Optimizer.cpp, as
they're already in sync with HEAD. I just want them to be ported at the end.
But why do you want to preserve Vulcan's btr.cpp and idx.cpp? AFAIK,
HEAD is more up-to-date in those parts (and more patches are in the way).
//end of comment
- Dmitry (synchronization, metadata, other)
- Vlad (page cache, metadata)
- Alex (execute statement, authentication)
- Adriano (INTL stuff, other)
5) The DSQL files are taken from Vulcan, with a total review of the
metadata cache integration. This is the hardest part of the merge, IMO.
I'm not satisfied with the half-way DSQL integration done in Vulcan, but
I'm not sure we can offer something better in the short term. Changes in
pass1/gen/make are ported from the FB codebase. The parser generator is
most likely to be migrated from FB, it just lacks the MT-safe skeleton
implementation. A replacement with a hand-made RDP can be considered in
the long term.
Arno Brinkman commented: Although it's for the long term, i send you something for review a long time ago?
//end of comment
Dmitry Yemanov commented: Yep, and I didn't have time to comment on it properly. Mea culpa.
//end of comment
Responsible: Vlad, Dmitry, Adriano, Alex
6) The remote subsystem is taken from Vulcan, unless Alex objects. The
multi-client mode related fixes by Alex, protocol extensions by
Alex/Vlad/myself and various bugfixes should be backported from FB.
Amount of our changes there is not very big, so it looks doable.
Responsible: Alex, Vlad, Dmitry
7) The entire INTL aware code is taken from the FB codebase, a proper
MT-related review is to be performed.
8) Utilities code is to be taken from FB, the only merge-related thing
is an interface with the Vulcan services provider. The UDF libraries are
taken from FB. Guardian is to be considered for dying.
1) The non-shared-cache mode is preserved, but it should be
implemented using the config switch rather than #ifdefs. In particular,
it means that synchronization primitives should unconditionally exist in
all engine favors.
2) The internal DSQL implementation (FbDbc) is not ported from Vulcan.
We should either make it much more light-weight (to not carry the
redundant semantics like metadata representation), or consider some
other connectivity code, or keep GDML in the sources for the time being.
Any volunteer for this task?
3) I don't expect any serious INTL issues, as most of the INTL aware
code will be taken from FB, but I expect Adriano to track all the
4) The RSB refactoring is ported after all else is done. Being not
critical part of Vulcan/FB3, it was one of the most buggiest parts of
Vulcan and I'm not sure we solved all the issues. Also, Arno intends to
make some improvements based on that code in the meantime.
Arno Brinkman commented: Almost done, only more testing and some refactoring left.
//end of comment
Dmitry Yemanov commented: That's great :-)
//end of comment
5) If anybody not explicitly counted as an assignee above would like to
assist in some parts, it would be appreciated.
6) New code is committed into CVS on a per subsystem basis.
1) HEAD is cleaned up to follow the new threading rules. It mostly means
getting rid of the non-MT code branches (including signal-based ASTs).
We could also perform whatever global cleanup we consider useful. It
could be done in a separate CVS branch, if we'd like to keep the cleaned
version reserved for production.
Status: 80% done (in my private tree).
2) Lock manager is replaced with the Vulcan's one, we perform some dbb
adjustments and global synchronizations. Scheduler is removed. At this
point we have a skeleton of the non-shared-cache implementation (based
on the CS code) that could be tested.
Status: 50% done (LM only).
3) Y-valve is ported from Vulcan, DSQL is trivially moved into the
engine. At this point we have a proper architecture in place.
Status: 50% done (Y-valve only).
4) JRD is merged. We get rid of the SUPERSERVER/SUPERCLIENT/REQUESTER
conditionals. NBACKUP is carefully reviewed for compatibility with the
Vulcan's page cache.
5) DSQL is merged. Compiled statement cache is implemented.
6) INTL is adjusted to the new code.
At this point, we can start testing the embedded mode.
7) Remote subsystem is replaced with Vulcan's one.
Here we have the server mode working.
8) Utilities and services are adjusted to the new code.
Of course, some items could be moved in time, e.g. the remote subsystem
merge could be started earlier.
Your Major Question
Why is FB used as the background for the whole tree if many of its
subsystems will be replaced with Vulcan's ones? My answer consists of
1) Using the FB codebase, we may have the initial steps performed
without losing the stability much (and hence test the beast
incrementally), because we replace subsystems one per one. With Vulcan
being the base point, we start with bugs everywhere.
2) Number of post-Vulcan-diverge changes in FB is really large. Tracking
them one by one is not going to work and using a visual diff tool will
be much complicated for the refactored modules. In this situation,
porting the design ideas into a working code looks easier to me.
3) Unfortunately, Vulcan's code is far from looking as a production one.
Currently, it's a mixture of FB-style and Vulcan-style code that behave
differently, with some parts being commented out or totally broken. It
requires a total cleanup, reformatting, functional review and fixing. I
doubt we can afford that now.
Comments, additions, critique?
Posted by Fikret Hasovic at 1/12/2007 12:26:00 PM
Sunday, January 07, 2007
LinuxQuestions.org has just launched the voting for its 2006 Members' Choice Awards. The awards enable Linux community members to select their favorite products of the year in 21 categories, including distribution, browser, office suite, desktop environment, and database.
The polls will close on Feb. 18, with winners being announced shortly afterward. Last year's winners include Ubuntu, Firefox, OpenOffice.org and MySQL. Two years ago Firebird WON!
Voting in all categories can be done here. Free registration is required at LinuxQuestions.org in order to vote.
Posted by Fikret Hasovic at 1/07/2007 01:54:00 AM
Thursday, January 04, 2007
Devrace BlazeTop (former SQLHammer) version 1.7 is available for immediate download. Besides many fixes and enhancements it includes Firebird 2.0 support, SQL Editor optimization (text syntax highlighting) and full UNICODE support. Now you also ave an option to purchase BlazeTop for the price of 129 Euro only!
Posted by Fikret Hasovic at 1/04/2007 01:41:00 AM
A plugin for Delphi/C++Builder 5/6/7/2005, BDS 2006 and Turbo Delphi/C++/C# Professional. It speeds up the time to load the IDE and it also improves the whole speed of the IDE. This is achieved by replacing some often used RTL functions by FastCode function that are optimized for the used CPU. It also adds some caches for function that work on filenames like ExpandFileName().
Important information: All these optimizations do not affect the compiled projects in any way. They are made in memory so all the files on disk are not modified. Uninstalling DelphiSpeedUp makes every change undone because the optimizations are not persistent. They only exist in memory and are limited to the Delphi/BCB/BDS process.
WARNING: Not every access violation in DelphiSpeedUp.dll is a bug in DelphiSpeedUp. Actually many of the exceptions in the RTL package are now thrown in the DelphiSpeedUp.dll because the RTL functions are replaced by the DelphiSpeedUp functions and wrong parameters like nil-pointers, invalid pointers, ... now lead to access violations in the replacement code.
- Improves Delphi/BCB/BDS's load times
- Optimizes often used RTL functions by functions form the FastCode project
- All optimizations are done in memory and do not change any file on disk
- Adds a "Close all and kill" menu item to the "File" menu that terminates the IDE very fast
- The fast termination is used when you close the IDE while pressing the CTRL key.
- Version 2.3 (2007-01-01)
- Added: Package Import Resolver for many System.pas functions and TList/TObjectList/TInterfaceList
- Added: Some FastSys tweaks to improve speed in runtime packages
- Added: .NET's SetThreadPriority(HIGHEST) during IDE loading is now ignored (Delphi 2005, BDS 2006)
- Added: The IDE is terminated faster by pressing CTRL when closing the main form.
- Added: DelphiSpeedUp calls BeginUpdate/EndUpdate for BDS's Tool Palette during startup.
Posted by Fikret Hasovic at 1/04/2007 01:37:00 AM
From the Sweet Mother of Databases dept.:The code for the Falcon Storage Engine for MySQL has been released as open source. Jim Starkey, known as the father of Interbase, is behind its creation; previously he was involved with the Firebird SQL database project.
Posted by Fikret Hasovic at 1/04/2007 01:34:00 AM