Firebird News

Saturday, December 25, 2004

Releasing V1.5.2 - preparing the text

From firebird generals

>article model
[ED: it's about preparing good text for rc5 release]

Actually if you wait a little bit, we can use V1.5.2 not RC5, as we are in the process
of releasing V1.5.2
at the moment, so anybody has any "text" that they would like to see
in this announcement, it would be much appreciated.

Regards
Paul

YAFS (Yet another Firebird site)

Let me introduce a humble project everythingfirebird
[ED: I think we have competition :)]

When I searched for Firebird, there was very little information
available and outside of documentation and some articles the project
did not seem to have much publicity. I started the site (in blog
format) to collect all the news and developer-related information.

I will try to make the best effort to make the site comprehensive for
Firebird newbies, which I consider myself to be. If anyone has any
links, code samples or press releases, feel free to send them my way.
I am also planning to post some sample code for little experimental
apps that use Firebird.

http://www.everythingfirebird.com/

Wednesday, December 22, 2004

OT:FireCheetah (Firebird Database in Pascal)

Funny quote of the day related to firebird :)

Subject: FireCheetah (Firebird Database for Pascal)
I was imagining the FireCheetah (Pascal version of Firebird).
Hahaha, If you make it, I promise I'll make one cheetah burning into Fire for the logo!!
I would use the pascal version, but I believe the c++ would be faster. (Hey! I'll start one war by saying it ;-)
Doesnt already exists this h2pas?
There is also another good point, no fbclient.dll would be required. Once we could just add a unit called fbclient to our aplication. (I hate those dlls)
Ok, ok, we can still do it using c++, but using pascal is easier.


Here is the full thread
And the serious stuff (fbclient.(so/dll) in pascal):
"But, I think that there are 2 options:
- take the java client and port it.
- take the .NET client and port it.
As far as I know, they are both native clients.

I suppose that the Java client is the easiest to port, because .NET may
have some constructs which will be difficult to port to FPC.

And as for porting the rest of firebird: let's see first how difficult
it is to port the java client..."

Firebird mention on NewsForge

Firebird is mentioned in the following article on NewsForge: "Database vendors are joining the open source party" by Jay Lyman
ps: yes is very small mention :(

Friday, December 17, 2004

Vote for Firebird!

Firebird is racing home in a Newsforge poll of favourite open source RDBMSs. As the pollsters themselves say "This whole thing is wildly inaccurate. Rounding errors, ballot stuffers, dynamic IPs, firewalls. If you're using these numbers to do anything important, you're insane." Still, it's worth voting if you haven't already done so.
Update:
We won that one :) Poll results
results

Tuesday, December 14, 2004

Firebird 1.5.2 RC5

Latest--and hopefully last--beta build (4731) of Firebird 1.5.2 is now available in our pre-release area for download and final testing. Updated point release notes can be read on-line or downloaded.

Please submit any problem descriptions directly to the firebird-devel list (subscribe here): we don't want beta problems in the bug tracker.

Friday, December 10, 2004

Firebird is second!

Carlos Cantu reports that one of the biggest computer publications in Brazil Info Exame puts Firebird in second place in a survey of databases. Oracle 10g was first and there was no third.

Wednesday, December 08, 2004

The Young Turk of Firefox

The Young Turk of Firefox, A Q & A with Blake Ross, lead architect of the Firefox browser by Keith Ward on RedmondMag.com mentions the Firebird open source database project.

IBReplicator

IBReplicator V1.5.10 and IBReplicator Beta 2.0.0.11 are available for download. Changes since the last release are available in the on-line Release Notes.

InterBase V7.5

InterBase V7.5 from Borland is available for download and trial. Note this is a 70-120MB download.

Thursday, December 02, 2004

Fyracle 0.8.2 released

Fyracle 0.8.2 released
======================

Changes:

- fixed instability when using date functions (win)
- fixed instability when accessing blobs; this
issue also caused ODBC-driver errors
- fixed install issue with plsql on some linux systems
- fixed initialization failure of connector (lin)
- added suport for certain TOAD-generated syntax
- fixed a regression with nested queries
- fixed an auto-commit issue in JayBird
- upgraded the ODBC drivers to version 1.2.1
- upgraded the JDBC drivers to version 1.5.4 (lin)


Download:

The new demo installers can be downloaded from:
http://www.fyracle.org/downloads

The new Install Kit can be downloaded via:
http://www.janus-software.com/fb_buy.html


Upgrade:

The recommended upgrade procedure is to first
uninstall previous versions of Fyracle and only
then to install the new 0.8.2 release.

The uninstaller has a start menu entry on Windows
and can be found at the top of the install
directory on Linux and Windows.


Note:

The Compiere demo has Jaybird preinstalled. If
you downloaded this demo ("compiere2.zip") before
30-Nov-2004, you will need to download it again to
get rid of the "autocommit" failure reports.

Wednesday, December 01, 2004

Firebird V1.5.2 Release Candidate 4

Firebird V1.5.2 Release Candidate 4 is available for download and testing. Please report any issues, problems with this build to the Firebird Development list.

Tuesday, November 30, 2004

IBReplicator Beta 2.0.0.10 has been released

IBReplicator Beta 2.0.0.10 has been released and is available for download.

Want your own Firebird T-Shirt or Polo Shirt?

Want your own Firebird T-Shirt or Polo Shirt to impress your friends and advertise your favourite open source database? Well now you can - the Firebird Project has just started to make available, official branded Firebird merchandise. To start with T-Shirts and Polo Shirts, other goodies to follow.

Firebird currently beats Ingres on performance

On the CA Ingres community page there is an interesting discussion thread:
http://opensource.ca.com/projects/ingres/forum/10/650886925835?b_start:int=0

Problems in Firebird 1.5.2 RC 3

Some minor new problems showed up in the Release Candidate 3 build. Release candidate 4 will follow shortly. Meanwhile, point release notes v.0152_08 are available online in English and for download in English and German.

Friday, November 26, 2004

PHP5 the undocumented bit

from the php-firebird list , note the new fbird_gen_id function

If we are talking PHP5 then the undocumented bit is all the ibase_ can
be changed to fbird_ , so Johan could use
$userid = fbird_gen_id ('G_USERS');

Would be nice to see the ibase_ fall out of use when using Firebird.
It is just a wrapper round the ibase_* but in the future if any changes
are needed specific to Firebird, then the fbird_ version can be modified.


-- Lester Caine

Wednesday, November 24, 2004

IBReplicator Beta 2.0.0.9

IBReplicator Beta 2.0.0.9 is available for download.

Tuesday, November 23, 2004

Evans Data research survey of databases

Evans Data research survey of databases includes Firebird, for once. Firebird is listed under "What Open Source database are you using?" but appears not to rate with MySQL, MaxDB, PostgreSQL, Progress, et al., under these two: "Which of the following server database products do you work with?" and "Which database product do you use to do MOST of your programming?" Oh well.... Everyone who completes a survey is automatically entered into a draw to win $500.00 US.

SQLDirect Component Library V4.1.1

SQLDirect Component Library V4.1.1 is available. (SQLDirect is a light-weight BDE replacement for Borland Delphi V4 - 8 and C++Builder V4 - 6. It uses the native application programming interfaces to access to a number of database servers including InterBase and Firebird).

ZeosDBO 6.5.1 Alpha

Zeos Library, ZeosDBO 6.5.1 Alpha has been released.

Is Oracle A Legacy Technology?

Something to ponder: Is Oracle A Legacy Technology? On Mark Rittman's Oracle Weblog.

Firebird 1.5.2 RC3 is ready for testing

Release candidate 3 of Firebird 1.5.2 is now ready in the pre-release area for download and testing. Point release notes v.0152_07 are available online in English and for download in both English and German.

FlameRobin has Moved!

The FlameRobin project has now moved to its own home site on Sourceforge. All future releases will happen under the flamerobin SF project name. Those previously monitoring the package by way of the old fbmanager project will need to re-register your interest. The new Alpha 0.2 package is identical to the one released earlier in the week, so there is no need to download anything again.

Anyone subscribed to our current mailing lists should unsubscribe and re-subscribe to the new lists here.

InterBase Performance Monitoring: Vision and Control

In older versions of InterBase it was sometimes difficult to tell what was going on inside the server. This could make debugging applications very difficult. You could tell, for example, that there was a long-running transaction by looking at the DB header statistics, but you couldn't tell whose it was or what it was doing. Nor could the DBA preemptively end the transaction.

With InterBase 7 and higher, InterBase now provides insight into and control over the internal functions of the server via the temporary system tables. In some ways, InterBase developers and DBAs have a new problem: Instead of not enough information, we now have so much information and so many options for controlling the server that it's possible to get lost in the minutia of InterBase internals.

This session will focus on practical use of the feature. I'm not going to reproduce the InterBase documentation or explain every column of every table, but instead will focus on how to debug and enhance applications, and how to effectively administer an InterBase server.

Read more at: http://blogs.teamb.com/craigstuntz/articles/IBPerformanceMonitoring.aspx

Friday, November 19, 2004

Fyracle 0.8.1 released!

This release fixes a number of issues:

- fixed install failure when the installer was located on
a different drive than the installation directory (Win)
- fixed install failure where fyracle.dll did not get
installed properly (Win)
- fixed install failure where the desktop icons did not
always properly launch their program
- fixed issue with the installer where post-install errors
caused the installer to abort
- removed the maximum statement length in the plsql
compiler
- fixed incorrect command line parameter handling in the
plsql compiler

Download from http://www.fyracle.org/downloads/

Wednesday, November 17, 2004

FIBPlus 6.0 fixes

If you cannot wait for the service pack, you can try these quick fixes:

1. A report "Can''t read Buffer.Incorrect RecordNo" appeared on adding a new record to the database. An exception arose on trying to refresh an empty dataset.
function TRecordsCache.OldBuffer(RecordNo:integer): PChar;

begin
if SaveChangeLog then
begin
if RecordNo<=FRecordCount then
ReadRecordBuffer(RecordNo,FOldBuffer,True)
else
ClearOldBuffer
end
else
begin
if FOldBufRecordNumber<>RecordNo then
if RecordNo<=FRecordCount then
SaveOldBuffer(RecordNo)
else
ClearOldBuffer
end;
Result:=FOldBuffer
end;

procedure TRecordsCache.SaveOldBuffer(RecordNo: integer);
begin
if SaveChangeLog then
SaveToChangeLog(RecordNo)
else
begin
if RecordNo<=FRecordCount then
ReadRecord(RecordNo,FOldBuffer)
else
ClearOldBuffer;
FOldBufRecordNumber:=RecordNo;
end;
end;
2. Incorrect FullRefresh occurred with CacheModelKind=cmkLimitedBufferSize
unit FIBDataSet;


function TFIBCustomDataSet.RefreshAround(BaseQuery: TFIBQuery;var
BaseRecNum:integer;
IgnoreEmptyBaseQuery:boolean = True;ReopenBaseQuery:boolean = True
):boolean;

procedure ExecCurSelect( aCurSelect:TFIBQuery; SourceObject:ISQLObject);
begin
aCurSelect.Close;
AssignSQLObjectParams(aCurSelect,[SourceObject]);
aCurSelect.Params.AssignValues(FQSelect.Params);
aCurSelect.ExecQuery;
end;

function FetchAround(aCurSelect:TFIBQuery; RecordsLimit:integer;
Arrow:smallint;
FromRecNum:integer =-1
):boolean;
var
i:integer;
begin
if FromRecNum=-1 then
FCurrentRecord:=BaseRecNum
else
FCurrentRecord:=FromRecNum;
i:=RecordsLimit;
Result := False;
while (i>0) and (aCurSelect.Next<>nil) do
begin
Result := True;
Inc(FCurrentRecord,Arrow);
FetchRecordToCache(aCurSelect, FCurrentRecord);
if Arrow<0 then
begin
vPartition^.BeginPartRecordNo:=FCurrentRecord;
if vPartition^.EndPartRecordNo=-1 then
vPartition^.EndPartRecordNo:=vPartition^.BeginPartRecordNo
end
else
begin
vPartition^.EndPartRecordNo :=FCurrentRecord;
if vPartition^.BeginPartRecordNo=-1 then
vPartition^.BeginPartRecordNo:=vPartition^.EndPartRecordNo;
end;
Dec(i);
end;
if aCurSelect.Eof then
if Arrow<0 then
vPartition^.IncludeBof:=True
else
vPartition^.IncludeEof:=True;
end;

var
RecordSource :ISQLObject;
EmptyDataSet :boolean;
NotFetchedCount:integer;
begin
with BaseQuery do
begin
if ReopenBaseQuery then
begin
Close;
Params.AssignValues(FQSelect.Params);
ExecQuery;
Next;
Result:=not Eof;
end
else
Result :=RecordCount>0;

end;

EmptyDataSet :=True;

if Result or (not IgnoreEmptyBaseQuery) then
begin
if BaseRecNum<(FCacheModelOptions.FBufferChunks div 2) then
BaseRecNum:=FCacheModelOptions.FBufferChunks div 2;

if Result then
begin
EmptyDataSet :=False;
FetchRecordToCache(BaseQuery, BaseRecNum);
vPartition^.BeginPartRecordNo:=BaseRecNum;
vPartition^.EndPartRecordNo :=BaseRecNum;
RecordSource:=BaseQuery
end
else
begin
RecordSource:=Self;
end;

vPartition^.IncludeBof:=False;
vPartition^.IncludeEof:=False;

ExecCurSelect(FQSelectDescPart,RecordSource);
ExecCurSelect(FQSelectPart,RecordSource);
if not Result then
begin
vPartition^.BeginPartRecordNo:=-1;
vPartition^.EndPartRecordNo :=-1;
end;

if FetchAround(FQSelectDescPart,FCacheModelOptions.FBufferChunks div
2,-1) then
EmptyDataSet:=False;

if not Result then
Dec(BaseRecNum);

NotFetchedCount:=FCacheModelOptions.FBufferChunks-(vPartition^.EndPartRecordNo-vPartition^.BeginPartRecordNo+2);
if FetchAround(FQSelectPart,NotFetchedCount,1) then
EmptyDataSet:=False;

NotFetchedCount:=FCacheModelOptions.FBufferChunks-(vPartition^.EndPartRecordNo-vPartition^.BeginPartRecordNo+2);
if NotFetchedCount>0 then
FetchAround(FQSelectDescPart,NotFetchedCount,-1,vPartition^.BeginPartRecordNo);

FQSelectDescPart.Close;

if Result then
FCurrentRecord:=BaseRecNum
else
if EmptyDataSet then
FCurrentRecord:=-1
else
FCurrentRecord:=BaseRecNum+1;
FQCurrentSelect:=FQSelectPart ;

BaseQuery.Close;
end;
end;
3. Local sorting and the CloneCurRecord method did not work.
unit FIBDataSet;


procedure GetInspectRecBuffer;
var
dsState:TDataSetState;
begin
dsState:=State;
Allocated:=
(dsState<>dsCalcFields) and (Field.FieldKind in
[fkLookUp,fkCalculated]);
if Allocated then
begin
Buff :=AllocRecordBuffer;
ReadRecordCache(vInspectRecno, Buff, State=dsOldValue);
if (Field.FieldKind in [fkLookUp,fkCalculated]) then
try
SetTempState(dsCalcFields);
CalculateFields(Buff);
finally
RestoreState(dsState);
end
end
else
begin
Allocated:=(dsState in [dsOldValue,dsFilter]) or
(vTypeDispositionField=dfRRecNumber);
if Allocated then
begin
Buff :=AllocRecordBuffer;
ReadRecordCache(vInspectRecno, Buff, State=dsOldValue)
end
else
Buff:=GetActiveBuf;
end;
end;
4. On saving a dataset to the repository the query dialog always opened with an empty string.
unit RegFIBPlusEditors;


procedure TFIBGenSQlEd.SaveDataSetInfo;
var
vDescription:string;
begin
with Component as TpFibDataSet do
if DataSet_ID = 0 then ShowMessage(Name + SCompEditDataSet_ID)
else
if DataBase = nil then ShowMessage(SDataBaseNotAssigned)
else
begin
if not ExistDRepositaryTable(TFIBDataset(Component).DataBase) then
begin
if
MessageDlg(SCompEditInfoTableNotExist, mtConfirmation, [mbOK, mbCancel], 0
) <> mrOk
then Exit;
CreateDRepositaryTable(TFibDataSet(Component).DataBase);
end;
vDescription:=TpFibDataSet(Component).Description;
if not InputQuery(SCompEditSaveDataSetProperty, SCompEditDataSetDesc, vDescription) then
Exit;
SaveFIBDataSetInfo(TpFibDataSet(Component),vDescription);
TpFibDataSet(Component).Description:=vDescription;
end;
end;
5. When creating the SQL statements at design time, FibPlus 6 invoked an error in the Refreh SQL Query.
unit fraDSSQLEdit;


procedure TfDSSQLEdit.cmbTablesChange(Sender: TObject);
begin
with cmbTables do
if ItemIndex>-1 then
begin
FUpdTableSynonym:=
FormatIdentifier(FDatabase.SQLDialect,AliasForTable(SelectSQLEdit.SQLText,cmbTables.Text)) +'.';
if FUpdTableSynonym[1]='@' then FUpdTableSynonym:='';
end
else
FUpdTableSynonym:='';

LstKeyFields.Clear; LstUpdFields.Clear;
btnGetFieldsClick(btnGetFields);
end;
6. On trying to connect to the database in design-time FIBPlus used the client library gds32.dll, though the LibraryName property had fbclient.dll.
unit pFIBDBEdit;


procedure TDBEditForm.TestBClick(Sender: TObject);
var TempDB : TFIBDatabase;
begin
TestB.Enabled := false;
TempDB := TFIBDatabase.Create(nil);
try
if LocalC.Checked then
TempDB.DBName := DBNameE.Text
else
case ProtocolC.ItemIndex of
0: TempDB.DBName := Format('\\%s\%s', [ServerE.Text, DBNameE.Text]);
1: TempDB.DBName := Format('%s@%s', [ServerE.Text, DBNameE.Text]);
2: TempDB.DBName := Format('%s:%s', [ServerE.Text, DBNameE.Text]);
end;
TempDB.DBParams.Assign(ParamsM.Lines);
TempDB.UseLoginPrompt := UseLoginC.Checked;
/////////////
TempDB.LibraryName := aDatabase.LibraryName;
////^^^^^^^^^ to add

TempDB.SQLDialect := DialectC.ItemIndex + 1;
TempDB.Connected := True;
ShowMessage(SDBEditSuccessConnection);
finally
TempDB.Free;
TestB.Enabled := true;
end;
end;
6. If Select uses macro, refresh did not work.
function TFIBCustomDataSet.InternalRefreshRow(Qry: TFIBQuery; Buff:Pointer):boolean;

var
iCurScreenState: Integer;
begin
ChangeScreenCursor(iCurScreenState);
Result:=False;
try
if Buff=nil then
Exit;
if not EmptyStrings(Qry.SQL) and (Active) then
begin
if not FCachedUpdates and (CacheModelOptions.CacheModelKind=cmkStandard) then
SaveOldBuffer(Buff);
if not (Qry.Open or Qry.ProcExecuted) then
begin
SetQueryParams(Qry, Buff);
PrepareQuery(skRefresh);
if (poStartTransaction in Options) and
not Qry.Transaction.InTransaction
then
Qry.Transaction.StartTransaction;
Qry.ExecQuery;
end;
if Qry.Open then
with PRecordData(Buff)^ do
try
if (Qry.SQLType = SQLExecProcedure) or (Qry.Next <> nil) then
begin
FetchCurrentRecordToBuffer(Qry,PRecordData(Buff)^.rdRecordNumber,Buff);
Result:=True;
end
else
if poRefreshDeletedRecord in Options then
begin
if (CacheModelOptions.CacheModelKind=cmkStandard) then
begin
CacheDelete;
DoAfterRefresh;
end;
end;
finally
Qry.Close;
end;
end
else
if RecordCount>0 then
FIBError(feCannotRefresh, [CmpFullName(Self)]);
finally
RestoreScreenCursor(iCurScreenState);
end;
end;

FYRACLE listed on GrokDoc

"Grokdoc is an offshoot of the well-known site Groklaw. Groklaw has the goal of covering legal news. Grokdoc is our newbie usability study, our attempt to help new users of GNU/Linux systems make the transition in a pleasant way, using the open method that proved so successful in developing FOSS software."

Fyracle and Firebird are listed on the "application crossover" page under the "Databases" heading:
http://www.grokdoc.net/index.php/Application_Crossover_Chart

Firebird support in Neo 1.3

Johannes Ahrer announced Firebird support in Neo 1.3. Neo (.Net Entity Objects) is an open source framework for .NET developers who want an object-based domain model.

Advanced Data Generator

Upscene Productions is happy to announce a new version of the database developer tool: "Advanced Data Generator." More info and a 30-day trial version on Upscene

Tuesday, November 16, 2004

FlameRobin 0.2.0 just released !

We are glad to announce the release of FlameRobin 0.2.0 ALPHA, now with property sheets and editors for most database objects, brand new background backup & restore features and a MacOS X port. Not to mention the new program logo.
New features:
- Brand new Backup/Restore dialogs that work in background, let you suppress the output messages and store their settings among invocations. Plus, the output messages can be copied to the clipboard.
- Many dialogs have been redesigned and now feature a cleaner GUI.
- "Show value" and "Show all values" context menu commands implemented for generators.
- Exceptions are now shown in the tree view and have Create/Drop menu commands and a property page.
- Property pages for triggers, table constraints, dependencies (all objects), generators were added. Plus, a special empty property page now appears for not yet supported object types, instead of an error message.
- Ability to view/add/drop table constraints.
- Reconnect menu command for databases will physically disconnect and reconnect a database in one shot.
- "Create new" and "Drop" commands added for external functions.
- New MacOS X port.
Release notes here, download here. Please send us comments, bug reports, feature requests, wishes, etc.

Firebird Words Reference

Here you can find interesting list created by Lester Caine

http://81.138.11.136:8080/tikifirebird/wiki/index.php?page=FirebirdWordsReference

Thursday, November 11, 2004

The .NET Entity Objects Framework

The .NET Entity Objects Framework :- NEO is a framework for .NET developers who want to write enterprise applications with an object-based domain model. Version 1.3.0 of the Neo framework provides support for Firebird.

Wednesday, November 10, 2004

The Free Database Niche - Response

A response from an open source database supporter.

In a recent article entitled ""Freie Datenbanken in der Nische", Wolfgang Sommergut compared open source database offerings with the products of the big three database companies, IBM, Microsoft, and Oracle. His conclusion was that open source databases were and would continue to be niche products in the near future. We at IBPhoenix see the future differently. Niche markets are early adopters, incubators for new technologies.Open source databases are attracting attention now because they are breaking out of their original niches and threatening the hegemony of the big three.
http://ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_conputerwoche_response

ibWebAdmin 0.99.1 released - Version 1.0 soon

This release includes only small feature enhancements and bugfixes.
But it comes with a polish translation contributed by
Matthias Hryniszak and a first draft of a documentation which can be
found in the doc directory inside of the source tree.

Due to the fact that there are no known bugs for some time now I have
decided to change the development status from 'beta' to 'stable' with
this release. The version number will become 1.0 when the
documentation is finished.


Changes:
- added polish language file, contributed by Matthias Hryniszak
- fixed editing of data for values containing double quotes
- fixed trigger-source when modifying triggers
- fixed a bug for csv-import of text-blobs
- direct editing of textblobs when entering/editing data
- added a 'delete all' option to the delete udf selectlist
- fixed editing/deleting data from the watchtable panel when cookies
are disabled


More on the fbwebadmin page

FireFoot - alternative to the current Firebird API

New component library has been added to the contributed downloads section. FireFoot created as an alternative to the current Firebird API. It has been made using C and the GLib object model.

Monday, November 08, 2004

The Firebird ADO.NET Data Provider 1.7 Beta 1

The Firebird ADO.NET Data Provider 1.7 Beta 1 is available for download.


Download information can be found here:

http://www.firebirdsql.org/index.php?op=files&id=netprovider


Beta 1 ( 2004-11-05 )
---- - - ---- -- -- -

( Please, see the changelog for details )


* Bug fixes:

- Fixed Event Parameter buffer handling.

- Fixed plan retrieval using the connection character set.

- Fixed Globalization issues.

- Documentation fixes.

- Minor fix in the FbCommandBuilder class on quotes usage.

- Fixed Input parameter describe when the Prepare method
is called before the FbCommand instance has parameters assigned.

- Fixed Role usage in Connection Strings.

* Added new "Isolation Level" parameter for the connection string,
that allows to set the default IsolationLevel for implicit transactions.

* Improve handling of parameters when they have null values (embedded
server support only.)


* Added changes to try to handle arrays defined with lowerbound 0 correctly.



NOTE: The design time support included in this release for the
FbDataAdapter class is not complete, please, do not use it until it get
finished in future releases.




CVS Tag: NP_1_7_Beta1

Tuesday, November 02, 2004

IBReplicator V2.0.0.8 (Beta)

IBReplicator V2.0.0.8 (Beta) is available for download.

IBReplicator Features

Database replication synchronizes data when and where you want it!

A tailored solution
IBReplicator uses Firebird's/InterBase's own native API for all replication, so there is no reliance on middleware and drivers. IBReplicator is, therefore:
  • Fast: Replication occurs directly between servers: there are no intervening layers of processing from database engines or drivers, for example. Our tests indicate that actual replication speeds range from five operations per second over a 28.8 dial-up connection to 200 operations per second between two 200Mhz Pentium machines on a 10BaseT network, where an "operation" is an insert, update or delete.
  • Small: IBReplicator consists only of the necessary code; there is none of the overhead associated with any form of middleware.
  • Inexpensive: IBReplicator does not rely on any other software, so we pay no royalties, which means a cheaper product for you.
Furthermore, IBReplicator can take advantage of Firebirds/InterBase's advanced, non-standard features:
  • Advanced datatypes: IBReplicator can replicate data of all types, including BLObs and arrays.
  • Event-alerters: Replication can occur in response to database events.
  • Two-phase commits: IBReplicator uses InterBase's two-phase commit to ensure that source and target databases are always synchronized.
  • Internationalisation: International character sets are supported.

Ease of use
A replication tool is, by it's nature, a complex piece of software, especially if it is a highly configurable one, like IBReplicator. Nonetheless, careful design has ensured that our replication server is exceptionally easy to install and use:

  • Point-and-click configuration: This tool allows you to select which tables and fields are to be replicated, and to view and edit optional settings; it also generates the required triggers on the source database for you.
  • Minimal configuration: Target databases need no configuration at all.
  • Performance monitor: This tool provides a real-time graph showing how replications are going.

Powerful replication strategies
Just how data should be replicated depends on the what you're trying to do, so our replication server offers you great flexibility as you configure your replications:

  • Multiple source and target databases: IBReplicator allows you to publish the data in many databases, and to subscribe many databases to each of them.
  • Flexible replication timing: Replication can occur either synchronously or asynchronously, i.e. on request, at timed intervals, or in response to database events.
  • N-way replication: Each target database can also be a source database in its turn, with replication being controlled by different instances of the replication server, or even by the same one.
  • Conflict resolution: IBReplicator provides three ways to handle cases where replicated data conflicts with extant data in the target database:
    • Priority-based
      Databases can be given priorities, and the database with the higher priority takes precedence.
    • Time-stamped
      Either the earliest or the latest change takes effect.
    • Master/slave
      The source database always takes precedence.

Remote replication
Our replication engine doesn't have to be running on either the source or the target database server for replication to occur; it can be running on any machine on your network or intranet.

Operation logging
IBReplicator can record its transactions in a log which can be either a window onscreen or a disk file.

Sophisticated database operations
IBReplicator uses a variety of techniques to get the most out of an Firebird/InterBase server, and to give you all the flexibility you need to configure a replication that fits your needs:

  • Optimizations: Only transactions that must be replicated are, in fact, replicated. For example, if an insert is immediately followed by an update of the same row, then only the insert is replicated, but with the more recent data.
  • Multi-segment primary keys: IBReplicator recognizes primary keys made up of multiple columns, and allows each column to be of any InterBase datatype.
  • Complete transactions: Only committed transactions are replicated (and the replication server may bundle multiple transactions into super-transactions for reasons of efficiency).

Monday, November 01, 2004

Firebird V1.5.2 Release Candiate 1

Firebird 1.5.2 Release Candidate 1 is available for download and testing.
Note this is a "Release Candidate", not an official release. We would
like people to help test this before official release. Any comments
issues, problems etc should be reported to the Firebird Development
list.

Builds can be downloaded from:
http://www.firebirdsql.org/download/prerelease/

Windows, Linux, Linux NPTL and 64 bit Linux versions are all available
under the appropriate subdirectories at the above url.

Details on what bugs have been fixed in this release, can be found in the
release notes


This release includes a fix for the following known problem with events.
Those of you who have experienced this bug should please test 1.5.2 and
make sure that the problem has been resolved.

"An old legacy bug that has continued to bug us is that, when a client had some
events registered and its network connection had been terminated abnormally
(hardware failure, reset button or task manager), then the server would start
using 100% of the CPU time until the "parent" port (client connection which
called isc_que_events() API routine) reported on its failure.

This bug affected all FB versions (more or less, depending on the
DummyPacketInterval configuration option) and only TCP/IP connections.

Solution
Further work has been done to rectify the problem in v.1.5.2. It now appears to be solved."

Thursday, October 28, 2004

Firebird weekly news started

We have now a page where developers can post news about firebird db
The model is after debian weekly-news
http://www.debian.org/News/weekly/current/issue/
and others like gentoo weekly news etc
Every week we should gather what's happened around firebird development and after that post it here ,then on other sites like lxer.com or linuxtoday.com ...etc
What should you do ? I Need email address of members who want to join this blog .Send it to the firebird devel list or general
ps: i see fikret have a delphi/firebird page maybe we should join the forces and work on a single firebird news zone

this blog was mostly inspired by fikret page and eclipse traker