IDEMA – Are you ready?

SAN JOSE, Calif., June 29, 2010 /PRNewswire via COMTEX/ — IDEMA (The International Disk Drive Equipment and Materials Association) today announced the launch of the “Are You Ready?” campaign, an effort to raise awareness in the computer industry about the advances and advantages of long data sectors. IDEMA is the data-storage industry’s trade association dedicated to driving technology standards that support the advancement of data storage. The campaign focuses on helping the computer industry prepare for the transition of hard disk drive (HDD) processing from the historical sector lengths of 512 to 520 byte increments, to increments of 4,096 bytes per sector using a technology referred to as Advanced Format. IDEMA is joined by major hard disk drive manufacturers in the launch and support of the “Are You Ready?” effort.

Read full history here.

New Firebird tech articles

Morning all,

I’ve uploaded a couple of new documents to the document area. Unfortunately, due to a few problems with VPN timing out over the weekend, I’ve not been able to get the front page updated. I will do soon and the links will be visible.

How the cache works in Firebird:

pdf: http://www.firebirdsql.org/pdfmanual/Firebird-cache.pdf
html: http://www.firebirdsql.org/manual/fbcache.html

That is based on information Ann supplied here on the list a while back. She has permitted me to document it and make a manual out of it.

Firebird Internals:

pdf: http://www.firebirdsql.org/pdfmanual/Firebird-Internals.pdf
html: Not uploaded yet – VPN problems.

A work in progress and as yet fairly incomplete. It will be improved as and when I can. Comments & corrections gratefully received!

Enjoy.

Cheers,
Norman.

Stored Procedures contest winners!

Dear All,

Stored procedures contest is over!
We had 12 submissions for the contest and have chosen 3 winners.

Winners are:

  1. Set of mathematical operations implemented in pure Firebird SQL,
    by pizmon (muirsheendur@gmail.com)
    Download www.mindthebird.com/MathematicOperation.pdf
  2. XML File creation using Firebird in stored procedures, by Fernando
    Medeiros
    Download www.mindthebird.com/ToCreateXML.pdf
  3. SP_ESCAPE and SP_UNESCAPE stored procedures: generate text with
    line feeds, carriage returns, quotes and tabs in Firebird sql scripts,
    by Fabiano Bonin.
    Download www.mindthebird.com/SP_ESCAPE.pdf

Each winner can choose one of the following licenses from MindTheBird  sponsors:

The truth about automated sweep

Several documents, including books, manuals, papers, tutorials, etc. says that Firebird will start the sweep of a database if the difference between OAT (Oldest Active Transaction) and OIT (Oldest Interesting Transaction) reaches the pre-defined value of sweep interval setting. Some docs, like the ones from InterBase 6.0, even states that the automated sweep will start when the difference between the Next Transaction and OIT reaches the sweep interval value.

So, this post intention is to to clarify what is the truth about automated sweep start, in the hope that people/authors around the world correct those documents to stop this confusion.

In a private talk with Vlad Khorsun, one of the core developers of the Firebird project, he confirmed that all the previous assumptions listed above are WRONG! Yep, it is not NT – OAT, and it is not OAT – OIT. The automated sweep will start if the difference between OST (Oldest Snapshot Transaction) and OIT is greater than the sweep interval defined. So, the correct formula is OST – OIT.

This is valid for all Firebird versions up to date. If you know any document or paper with the incorrect info, please notify the author so he can correct it.

Here is the piece of code that proves that:

if (trans->tra_oldest_active > dbb->dbb_oldest_snapshot)
 {
 dbb->dbb_oldest_snapshot = trans->tra_oldest_active;
...
 }

 // If the transaction block is getting out of hand, force a sweep

 if (dbb->dbb_sweep_interval &&
 !(tdbb->getAttachment()->att_flags & ATT_no_cleanup) &&
 (trans->tra_oldest_active - trans->tra_oldest > dbb->dbb_sweep_interval) &&
 oldest_state != tra_limbo)
 {
 // Why nobody checks the result? Changed the function to return nothing.
 start_sweeper(tdbb, dbb);
 }

The code is somewhat confusing, specially for people who is not used to Firebird code so, you must note that in the above code, tra_oldest_active represents the value of OST calculated at transaction start time. dbb_oldest_snapshot is cached value of OST, updated when any transaction starts. This may explain why so many docs are wrong… at a first look, tra_oldest_active may be interpreted as OAT, but it is not!

7th Firebird Developers Day – subscribe now!

Only for Brazilians (or Portuguese speakers):

Inscrições abertas para o 7º FDD
Você já pode se inscrever para a sétima edição do Firebird Developers Day, a ser realizada no dia 17/Julho, em Piracicaba-SP. O site do evento está no ar, com a grade parcial de palestras e todas as demais informações. Inscreva-se agora e pague menos! As palestras estão com temas muito bons, e novas palestras serão inseridas nos próximos dias, fiquem de olho!

Introductory tips with Jaybird and JRuby

Hello,

I’ve created in Hebrew few tips on how to work with JayBird in Java and JRuby using Firebird. Links for the (google) translated versions:

1 33 34 35 36 37 100