Firebird es un SGBD Open Source, cuyo código fuente deriva de Interbase 6.0 liberado bajo licencia IPL en el 2000 por Borland, que finalmente decidio dejar en el olvido la version Open Source de Interbase 6.0 y volver a cobrar por el en las versiones posteriores ( 6.5 y 7.0 de momento ).
Interfaces disponibles
- ODBC.
- OLEDB.
- JDBC.
- Provider para .NET / Mono ( aqui me doy publicidad ya que soy yo quien lo esta
desarrollando).
- IBX, FreeIb, IbObjects, ... ( para Delphi o C++ Builder )
- PHP
- También hay librerías en C/C++ que hacen de "wrappers" de la libreria
cliente de Firebird.
Plataformas soportadas
- MS Windows (95/98/NT/2000/XP)
- Linux
- FreeBSD
- Mac OS - Darwin/10.0/10.1
- Solaris - Sparc and Intel
- HP/UX - v10 and v11
Algunas novedades de la versión 1.5
( los ejemplos los he sacado de las notas de la versión 1.5 :) )
- Código portado de C a C++.
- Mejoras en el tiempo de conexión.
- Mejoras en el optimizador de consultas.
- Han reescrito el gestor de memoria
- La versión "Classic" del Servidor ahora está disponible en Windows
- Se han implementado SAVEPOINTS para las transacciones.
-
Triggers universales (un mismo trigger que se puede ejecutar al y
actualizar, al insertar, etc...)
Nuevas funciones internas
Veamos algunos ejemplos
CREATE TRIGGER my_trigger FOR my_table BEFORE INSERT OR UPDATE AS BEGIN
IF (NEW.DOC_ID IS NULL) THEN
EXCEPTION my_exception;
END
UPDATE PRODUCTS SET STOCK = NULLIF(STOCK, 0)
SELECT
PROJ_NAME AS Projectname,
COALESCE(e.FULL_NAME, '[> not assigned <]') AS Employeename
FROM
PROJECT p LEFT JOIN EMPLOYEE e ON (e.EMP_NO = p.TEAM_LEADER)
</p>
SELECT
o.ID,
o.Description,
CASE o.Status
WHEN 1 THEN 'confirmed'
WHEN 2 THEN 'in production'
WHEN 3 THEN 'ready'
WHEN 4 THEN 'shipped'
ELSE 'unknown status ''' || o.Status || ''''
END
FROM
Orders o
Comandos nuevos
- EXECUTE VARCHAR
- RECREATE VIEW
- EXECUTE VARCHAR
- EXECUTE VARCHAR
Hay muchas mejoras más, recomiendo ver las notas de la versión 1.5 para hacerse una idea :D.
Podeís obtener más información en
FirebirdProjectUpdate.pdf
http://www.firebirdsql.org
http://www.ibphoenix.com