A new revision of the eBook Migration Guide to Firebird 3 is out today. Revision 1.02 brings some corrections as well add some new content to the publication.
People who already bought the guide will receive the update in the next hours, by email.
Anyone interested in buying the eBook can go to this page and buy one copy for USD 16.
New article from IBSurgeon: All Firebird and InterBase On-Disk-Structure (ODS) versions
It contains the list of ODS versions of all Firebird and InterBase releases, and describes their compatibility.
The Portuguese version of my new eBook, Guia de migração para o Firebird 3 (Migration guide to Firebird 3) was just released! The book has tips and explanations to make the life of anyone who wishes to move to Firebird 3 easier.
An English version of the guide will be available in the following weeks at Amazon, both in paperback and digital formats. This is my third book devoted to Firebird, and the first one to be published also in English.
Brazilians can buy the guide right now in the FireBase on-line store.
Carlos H. Cantu
I think might be helpful, today for a customer i do the Haversine formulas for Firebird Sql as a stored procedure.
This formula allow you to calculate the distance in meter between two WGS84 datum points(degree points of Earth).
You can call the procedure like this:
SELECT * FROM HAVERSINE_GENERIC(1, 45,474081, 9,179348, 45,456091, 9)
At the 12th Firebird Developers Day, I talked about Using Firebird in high latency networks (aka. internet). Below are two slides from my presentation, where you can see the improvements in Firebird 3 wire protocol, compared to FB 2.5 and to MySQL.
Obs: Left axis values are expressed in seconds. Test server was hosted in Amazon (USA) and client accessing it was located in Brazil. Ping reported latency of 219ms. The smaller the bar, the better.
Above graph shows the result of fetching 10.000 records from a real table used to store customers data. Red bars represents records with all the fields filled (ie: there was no fields containing nulls) and blue bars represents fetching records where some of the fields were nulls. Tests where done with and without compression.
The same table used in previous graph was created in MySQL InnoDB (same data). Blue bars means that wire compression was disabled, and red has compression enabled. Left side graphs has all fields filled (ie. there wasn’t null fields) and in right side graphs, some records has some null fields.
As you see, FB 3 won 😉
I should mention that there was no blob fields in the table, and this makes a lot of difference. Fetching non-null blobs makes the fetch slower in Firebird (more roundtrips are needed).
PS: The improvements in the FB 3 wire protocol were sponsored by donations collected in the 9th edition of FDD conference, and were implemented by Dmitry Yemanov. Compression was implemented by Alex Peshkov.