Mittwoch, 20. Dezember 2006
Firebird Roadmap 2007
Das Firebird Team hat eine Roadmap - wie auf der Firebird Konferenz angekündigt - ins Netz gestellt:

http://www.firebirdsql.org/index.php?op=devel&sub=engine&id=roadmap_2007&nosb=1

... link (0 Kommentare)   ... comment


Mittwoch, 1. November 2006
Firefox 2.0
Der Umstieg auf den neuen Firefox 2.0 hat bei mir prima geklappt.

Ein paar wenige Plugins funktionieren zwar nicht mehr (z.B. TabMix Plus), aber das wird sicher in den nächsten Tagen behoben.

Ein paar neue Plugins funktionieren jetzt mehr.

Im Detail finde ich immer wieder nette Detailverbesserungen.
Ein Update lohnt auf alle Fälle.

Leider gibt es kein automatisches Update von der 1.5er Version.

... link (0 Kommentare)   ... comment


Samstag, 14. Oktober 2006
Meine erste Vista Installation
Es ist soweit, ich konnte nicht mehr wiederstehen.

Nachdem ich mir den Luxus der ersten Vista DVDs geleistet habe und diese vor über einer Woche auch ankamen, konnte ich huete nicht mehr wiederstehen und dachte mir, mein Athlon X2 wäre sicher Vista tauglich.

Ok, halt, nein, nicht das gute alte XP überbügeln. Nur Vista in VM. Da man die VMWare Version ja als trial Version runterladen kann, alles kein Problem.

Gesagt getan.

Installation hing. Es gab keine Grafik-Anzeige.

Gut, es gibt viele Hinweise, der wichtigste und nicht überall vorhandene Hinweis war folgender:

svga.maxWidth = "640"
svga.maxHeight = "480"

ans ende der VMX-datei anfügen.

(Quelle: http://www.win-tweaks.de/windows_vista/installation_und_einrichtung/windows_vista_rc1_unter_vmware_installieren.html)

Die Installation lief problemlos durch, nur am Ende ein erster BlueScreen. Meine VM-Workstation hatte USB Support und den wollte VISTA nicht.
Nach einem Neustart kam ein freundlicher Hinweis.

Wehrmutstropfen: Die Auflösung von 640x480 ist nicht ganz zeitgemäß und die vier Farben auch nicht.

Also VMWare Tools installiert und währenddessen hat der Sicherheitscenter gleich Updates geladen.

Nach einem Neustart und der erhöung der Bildschirmauflösung, also dem Rückgängigmachen der Einträge in die VMX-Datei von oben, sieht Vista auch so aus, wie auf den Fotos in den Zeitschriften.

Die Performance in der VM-Ware Workstation ist prima. Mit 1 GB hat die Vista Kiste auch genug Speicher.

P.S.: Der BlueScreen bzgl. USB bleibt auch nach der Installation von VMWare Tools beim Runterfahren. Mal später schauen, ob es da eine andere Lösung gibt, wie USB abschalten.

... link (0 Kommentare)   ... comment


Sonntag, 8. Oktober 2006
Firebird Konferenz No. 4 in Prag
Auch dieses Jahr gibt es - diesmal in einem besseren Hotel - eine Firebird Konfernez in Prag.

Im Gegensatz zur letzten Konferenz gibt es einen etwas früheren Beginn, d.h. es gibt schon Vorträge am Sonntag Nachmittag vor dem Opening!

Ich habe mich durchgerungen, auch ein paar "paper" einzureichen und prompt darf ich mit Dirk zwei Vorträe halten.

Bin ja mal gespannt.

Als Nebeneffekt kann ich auf die Konfernez fahren, da die Uni die Konferenz dieses Jahr nicht gezahlt hätte...

Es muß eben überall gespart werden, koste es, was es wolle.

... link (0 Kommentare)   ... comment


Neuer Ghana-Brief von Christfried
Ich habe gerade den Weihnachtsbrief von Christfried auf der Ghana Website veröffentlicht.

Christfried freut sich über Leser und Spender und eine direktere Spenden-Möglichkeit für Afrika gibt es kaum.

Die Website: http://ghana.softbaer.de

... link (0 Kommentare)   ... comment


Mittwoch, 4. Oktober 2006
Firebird 2.0 RC5 - letzer RC?
Ab sofort ist Firebird 2.0 RC 5 als vmtl. letzter Release Candidate verfügbar.

Download - wie immer - über sourceforge.net:

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

... link (1 Kommentar)   ... comment


Donnerstag, 31. August 2006
MySQL und Berkley DB
Es steht zwar überall schon, jetzt auch hier.

MySQL wird ab der kommenden Version 5.1.12 die Transaktionsbasierte DB Engine Berkley DB nicht mehr unterstützen.

Als Alternative gib es noch Inno DB.
Es wird dringend empfohlen, auf diese Engine umzusteigen.

http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html

... link (0 Kommentare)   ... comment


Montag, 17. Juli 2006
gbak-Probleme
Es ist ein bekanntes Problem, das gbak Probleme beim restaurieren von Rechten von Objekten hat, die zu lang sind. Zu lang bedeutet dabei, dass sie nicht länger als 27 Zeichen sein dürfen.

Hier eine kleine Prozedur, die Hinweise gibt, wo etwas zu lang ist. Da in den Meta-Tabellen leider CHAR-Felder sind, sind ein paar Routinen aus UDFs nötig.

SET TERM ^ ;

CREATE PROCEDURE "PROCSYS_DBCheckLong"
RETURNS (
Res VARCHAR(84),
Fld VARCHAR(60),
Typ CHAR(10))
AS
DECLARE VARIABLE Rn CHAR(31);
DECLARE VARIABLE Rf CHAR(31);
DECLARE VARIABLE Ruser CHAR(31);
DECLARE VARIABLE L BIGINT;
begin
FOR SELECT P.RDB$RELATION_NAME, P.RDB$FIELD_NAME, P.RDB$USER FROM RDB$USER_PRIVILEGES P
INTO :RN, :RF, :RUSER DO BEGIN
FLD = RTRIM(RN);
IF (Strlen(FLD) > 27) THEN BEGIN
RES = FLD || ' zu lang';
TYP = 'N';
suspend;
END

FLD= RTRIM(RF);
IF (Strlen(FLD) > 27) THEN BEGIN
RES = FLD || ' zu lang';
TYP = 'F';
suspend;
END

FLD= RTRIM(RUSER);
IF (Strlen(FLD) > 27) THEN BEGIN
RES = FLD || ' zu lang';
TYP = 'U';
suspend;
END
END

end^

SET TERM ; ^

DESCRIBE PROCEDURE "PROCSYS_DBCheckLong"
'Überprüft Struktur auf zu lange Konstrukte, die bei FB gbak Probleme beim
Restaurieren machen
Typ:
T: Table
F: Feld
U: User';

Falls jemand eine andere Idee hat, Hinweise willkommen!

... link (0 Kommentare)   ... comment


Primärschlüssel Korrektur
Es ist lästig.

Man hat eine schöne Firebird Datenbank mit Generatoren (Oder Sequences) um Primärschlüssel zu füllen und dann leert man die DB um vor der scharfen Verwendung noch einmal sauber Daten zu importieren.

Dann passen die Generatoren aber nicht mehr und werden unnötig gross.

Ja, ich weis, es ist nur Kosmetik, aber warum nicht.

Hier eine Prozedur, die - wenn die Namenskonvention GEN__<field> eingehalten ist (wobei <field> auch weggelassen sein kann), Generatoren zu Tabellen findet, ein SELECT MAX(*) .. macht und den Generator entsprechend korrigiert.

SET TERM ^ ;

CREATE PROCEDURE "PROCSYS_DBCheckPKValues" (
"ShowOnly" SMALLINT,
"HideNothingToDo" SMALLINT)
RETURNS (
"Name" VARCHAR(32),
"MaxId" BIGINT,
"MaxGen" BIGINT,
"Message" VARCHAR(80),
"GenName" VARCHAR(32))
AS
DECLARE VARIABLE Q VARCHAR(1000);
DECLARE VARIABLE "Gen" VARCHAR(32);
DECLARE VARIABLE "Count" BIGINT;
begin
if ("ShowOnly" IS NULL) then
"ShowOnly" = 1;

if ("HideNothingToDo" IS NULL) then
"HideNothingToDo" = 1;

FOR SELECT RDB$RELATION_NAME --, RDB$DESCRIPTION
FROM RDB$RELATIONS R
WHERE RDB$VIEW_BLR IS NULL AND RDB$SYSTEM_FLAG = 0
-- AND (((RDB$RELATION_NAME starting with 'FAU') AND (RDB$RELATION_NAME containing '_')) OR (RDB$RELATION_NAME = 'DBINFO'))
ORDER BY 1
INTO :"Name" --, :"Description"
DO BEGIN

"Name" = RTrim("Name");

"Message" = '';
BEGIN
"MaxId" = NULL;
Q = 'SELECT CAST(Max("Id") AS BIGINT), CAST(Count("Id") AS BIGINT) FROM "'|| "Name"||'";';
EXECUTE STATEMENT Q INTO :"MaxId", :"Count";
WHEN ANY DO
"MaxId" = NULL;
END

if ("MaxId" IS NULL) then begin
"MaxId" = NULL;
Q = 'SELECT CAST(Max("ID") AS BIGINT), CAST(Count("ID") AS BIGINT) FROM "'|| "Name"||'";';
EXECUTE STATEMENT Q INTO :"MaxId", :"Count";
WHEN ANY DO
"MaxId" = NULL;
end

BEGIN
"Gen" = 'GEN_'||"Name"||'_ID'; -- Gesuchert Name

"GenName" = NULL; -- Echter Name
SELECT RDB$GENERATOR_NAME
FROM RDB$GENERATORS
WHERE ((RDB$SYSTEM_FLAG IS NULL) or (RDB$SYSTEM_FLAG = 0)) AND UPPER(RDB$GENERATOR_NAME) = UPPER(:"Gen")
INTO :"GenName";

if ("GenName" IS NULL) then begin
"Gen" = 'GEN_'||"Name";
--"GenName" = NULL;
SELECT RDB$GENERATOR_NAME
FROM RDB$GENERATORS
WHERE ((RDB$SYSTEM_FLAG IS NULL) or (RDB$SYSTEM_FLAG = 0)) AND UPPER(RDB$GENERATOR_NAME) = UPPER(:"Gen")
INTO :"GenName";
end

if ("GenName" IS NOT NULL) then begin
"GenName" = RTrim("GenName");
"MaxGen" = NULL;
Q = 'SELECT GEN_ID("'||:"GenName"||'",0) FROM RDB$DATABASE;';
EXECUTE STATEMENT Q INTO :"MaxGen";
end else
"MaxGen" = NULL;
WHEN ANY DO
"MaxGen" = NULL;
END

if ("MaxId" IS NULL) then begin
if ("Count" = 0) then begin
-- "Message" = 'Tabelle ist leer!';
"MaxId" = 0; -- Bei leerer Tabelle Wert auf 0 setzen
end else
"Message" = 'Tabelle hat kein Standardformat oder Sie keine Rechte!';
end else if ("MaxGen" IS NULL) then
"Message" = 'Generator '|| COALESCE("GenName","Gen",'ohne Namen') || ' nicht gefunden oder keine Rechte!';


if ("Message" = '') then begin
if ("MaxGen" <> "MaxId") then begin -- Korrektur notwendig --
if ("ShowOnly" = 0) then begin
"Message" = 'Generator korrigiert um '|| (:"MaxId"-:"MaxGen");
Q = 'SET GENERATOR "'||:"GenName"|| '" to '|| "MaxId"||';';
EXECUTE STATEMENT Q;
WHEN ANY DO
"Message" = 'Fehler bei Korrektur des Generators '||"GenName";
end else begin
-- ShowOnly = 1
"Message" = 'Generator sollte korrigiert werden um '|| (:"MaxId"-:"MaxGen");
end

if ("HideNothingToDo" = 1) then
suspend;

end else begin
"Message" = 'Generator und Tabelle passen zusammen';
end
end -- If

if ("HideNothingToDo" <> 1) then
suspend;
end -- FOR SELECT
end^

SET TERM ; ^

DESCRIBE PROCEDURE "PROCSYS_DBCheckPKValues"
'Überprüft alle Primärschlüssel-Werte und passt ggf. Generatoren AND, die in der Form GEN_<TABLENAME>_ID sind';

DESCRIBE PARAMETER "ShowOnly" PROCEDURE "PROCSYS_DBCheckPKValues"
'1= Nur Anzeige, sonst auch korrigieren';

DESCRIBE PARAMETER "HideNothingToDo" PROCEDURE "PROCSYS_DBCheckPKValues"
'1 = Verstecke alle, bei denen nichts zu tun ist';

... link (0 Kommentare)   ... comment


Dienstag, 4. Juli 2006
Firebird 2.0 RC 3
Ist soeben veröffentlicht worden

Windows Builds sind noch nicht auf allen SF-Mirrors. Alos etwas Geduld....

... link (0 Kommentare)   ... comment


Donnerstag, 18. Mai 2006
Firebird 2.0 RC 2
Soeben ist die Verfügbarkeit von Firebird 2.0 RC2 der sog. "gold beta" bekannt geworden.

Download über die bekannten Links.

Diese Version soll quasi Produktionsreif sein, d.h. man kann sie fast in produktivumgebungen einsetzen.

Ein Insider wird mit der Aussage zitiert, dass ein RC von Firebird stabiler wäre, als manche Releases großer Softwarehersteller.

... link (0 Kommentare)   ... comment


Dienstag, 4. April 2006
Firebird 2.0 RC1
Der erste Release Candidate von Firebird 2.0 ist erschienen!

Damit rückt der Release Termin in eine nahe Zukunft....

... link (0 Kommentare)   ... comment