Rebuilding a Firebird index

After looking at Damyan Ivanov posix script to rebuild indexes, I saw that he was using an undocumented “implementation artifact” (thanks to Dmitry Yemanov for confirming this) to rebuild indexes (including PK and FKs indexes). What he does is to call ALTER INDEX xxxx ACTIVE, where xxxx is an already active index!

Beside the fact that trying to activate an already active  index sounds “weird”, this will make Firebird to rebuild the index. Seems to be an easy way to rebuild PK/FK/UNIQs indexes (since they cannot be deactivated).

BTW, Damyan’s script will rebuild all indexes containing “text” fields in their keys. He created the script for the case where a previously created database needs to be run in a Firebird compiled with different version of the ICU libraries.

Migrating users from FB 2.1 to FB 2.5

People moving to FB 2.5.0 may be asking if it is safe to copy the security2.fdb file from previous versions of Firebird to Firebird 2.5, keeping the users previously created, so avoiding to recreate them.

In theory, copying the file should work, but with no guarantees. Firebird 2.5 uses a new ODS (11.2). You can do a backup/restore in FB 2.5 to update the ODS of security2.fdb, but some problems will still persists, regarding the use of the new role RDB$ADMIN (which gives SYSDBA rights to “normal” users) – in this case, normal users who were granted RDB$ADMIN role, will have problems to use the new SQL commands CREATE/ALTER/DROP USER. Note: Firebird 2.5.1 will bring a sql script to fix this problem.

So, the safest way to move users to FB 2.5 right now, is to recreate them in Firebird 2.5, either using gsec.exe or the new CREATE USER statement.

Thanks to Dmitry Yemanov for detailed information about the problem.

Wanna transaction in MySQL? Ok, pay now, or go to Firebird.

Looks like Oracle decided to charge money for those who wants to use InnoDB with MySQL. InnoDB offers features like transaction control, not found in the “classic” version of MySQL. Read more  here and here.

Need Transactions, Stored Procedures, Triggers, etc. and don’t wanna to pay? GO FIREBIRD!

Update: As pointed by some of our readers, InnoDB is still offered for free in the MySQL “Community” edition.

Top 10 Firebird wishlist

Some people doesn’t know, but anyone registered in the Firebird Tracker (registration is open, quick and free) can ask for improvements, report bugs, or vote in some existing tickets to raise their “priority”.

It is true that a high ranked ticket may never be implemented/solved. It is also true that the FB developers are free to implement what they want, without following any specific order or wishes. In fact, a ticket can be left untouched for a long time, if none of the developers feel inclined to work on that issue. But it is also true that having the users community voting for items, may sign to the Core Team developers with a direction to follow.

Here is a list of the top 10 ranked tickets at the moment:

Key Summary Assignee
CORE-2530 Improve even more the FB network protocol Unassigned
CORE-775 True SMP support for SuperServer Dmitry Yemanov
CORE-726 True Boolean Datatype Unassigned
CORE-720 Local temporary tables Vlad Khorsun
CORE-776 Database Links Vlad Khorsun
CORE-657 Database encryption Vlad Khorsun
CORE-733 Compress Data over the Network Unassigned
CORE-749 Object names of at least 64bytes Dmitry Yemanov
CORE-808 UNION, INTERSECT and MINUS support Unassigned
CORE-694 Support timezones with timestamp Unassigned

Note that the top 10 issues are not bugs (the FB Core Team is a very efficient bug killer 😉 ), but enhancements/improvements to Firebird.

It seems that 775 and 657 are expected to be solved in Firebird 3. Core 773 and 2530 are related to the Firebird wire protocol.

Sadly, the top voted item (2530) is still unassigned. If you ever tried to use Firebird over the Internet and felt it is too slow, this is the issue you need to vote 😉 This improvement requires a new wire protocol, and changes to the API that would break the currently third-party access components. So, not easy task, but I hope to see it implemented in the future.

Delta Quadrant: Horizons

From Sergey Mereutsa (posted to fb-devel):

Dear friends!

While it is an offtopic here, but it may be interesting for all, who is in any form involved in Firebird development.

Several years ago, we announced a web-based game, written in Firebird SQL. It was DQ:Empires and a lot of peoples around the world played this game.

Now, I`m pleased to announce next game, in the same game universe, but slightly other – Delta Quadrant: Horizons, a web-based space 4X strategy.

I will not write much details here about the game (someone compared it with online version of Masters of Orion game, but it is not MOO2 clone) – you can read more on game`s site, http://www.dqhorizons.com/ .

Some technical details:

1 29 30 31 32 33 100