18 件中 11 - 18 件を表示
« 前の 10 件
Displaying posts with tag: Firebird/InterBase (reset)
Firebird 3.0 Beta 1 リリース: Identity列を試す

本エントリはFirebird Advent Calendar 2014の3日目です。(2日目はこちら)参加者募集中

Betaのタグ付けがされてから、キャンペーンサイトでのみ配布されていたBeta 1が本家からリリースされました。

Firebird 3.0 Beta 1 release is available for testing

Windows版とLinux版、それぞれ32-bit版と64-bit版があります。

まずはWindows 64-bit版を入れてみました。

[さらに読む]
Firebird行ロック待ちの秒数をトランザクション単位で指定する(Firebird 2.0以降の場合)

JUGEMテーマ:コンピュータ

前回はMySQL(InnoDB行ロック待ちの秒数をセッション単位で指定する)について言及しましたが、今回は久しぶりにFirebirdで。

Firebirdは1.5までロック待ちはする、しないという区別しかありませんでしたが(デフォルトは無限にする)Firebird 2.0からLOCK TIMEOUTというオプションがトランザクション開始(SET TRANSACTION)に追加され、トランザクション毎に設定できます。(MySQLのセッション(もしくはグローバル)単位、Oracleのクエリ単位とは、また違った方法です)

[さらに読む]
Valcunの夢、Falconからの解放、NimbusDB改めNuoDB

JUGEMテーマ:コンピュータ

InterBaseの初期実装者であり、Firebirdのアドバイザ、そして次期Firebird Valcunの初期実装、そしてMySQLではFalconデータベースエンジンのメインエンジニアだったジム・スターキーというおっさん(じいさん?)がいるが、そのジムの新しいデータベース(いや、昔のジムの言葉を借りれば「コンテンツストア」か?)の名称がNuoDB(旧: NimbusDB改め)
となりました。

NuoDB is the new NimbusDB


Early Release …

[さらに読む]
isqlを用いたバルクインサート(SET BULK_INSERT)

JUGEMテーマ:コンピュータ

Firebird徹底入門を発売してからすでに一年がたちました。このときにはFirebird 2.5β2を元にして書いていたのですが、その当時まだ仕様が定まってなかった(私が気づかなかった?)機能の一つにisqlのバルクインサート機能があります。Firebird 2.5は今年の10月にリリースされ、バルクインサート機能も使えるようになりましたが、未だ詳細は記述されていないようなので、ここで使い方を説明したいと思います。

利用方法はFirebird徹底入門(p.245, 246)にあるように以下の書式になります。

SET BULK_INSERT バルクインサート文

[さらに読む]
[勝手に補足]DBアタマアカデミー第2回トランザクションを知ればデータベースがわかる + Firebird

さて、昨日のエントリに引き続き、今回はFirebird用の話を勝手に追加してみましょう。

Firebirdの独特なところはWALに相当するものがないからです。
その代わりにcareful writeという方式で一貫性を担保しようとしています。

トランザクションのところで「DB2の名称がANSIと違いわかりにくい〜」と書きましたが、実はFirebirdも同様に十分わかりにくいです。すみません。

ISOとの対応は以下のようになります。

ISO        Firebird/InterBase
SERIALIZABLE   SNAPSHOT TABLE STABILITY
REPEATABLE READ SNAPSHOT
READ COMMITTED  READ COMMITTED    
READ UNCOMMITTED 未サポート

[さらに読む]
Firebirdユーザコンテキスト変数を使ったdense_rank()

[2009-11-24 Firebirdのユーザコンテキスト変数は、左から右に評価されないようで、以下は単にrownumになっていますorz 近日修正しますので、いましばらくお待ちください]

以前MySQLユーザ変数を使ったdense_rank()を紹介しましたが、
下記はそのFirebird版です。

Firebirdではrdb$set_context()が値ではなく、既存の設定あり(1), なし(0)になってしまうので、
Firebirdの組み込み関数に追加されたdecode()(Oracleと同じ)で、値を返すようにしています。

QL> --Like dense_rank()
SQL> select rdb$set_context('USER_SESSION', 'rnk', 0), rdb$set_context('USER_SESSION', 'preval', null) from rdb$database;

RDB$SET_CONTEXT RDB$SET_CONTEXT
=============== ===============
0 0

[さらに読む]
Firebird最新版がFedoraのリポジトリに登録されました。

はやしさんのブログや、その元となったPhilippeさんのブログに記述があるようにRedhat/CentOS/FedoraのリポジトリにFirebird 2.1.2のSuperServer版が登録されたようです。さっそく手元のFedora10(64-bit)で試してみて成功いたしました。

しかしながらCentOS5.3(32-bit)では「そんなのないよ」といわれてしまいます。リポジトリサーバが日本のものだからでしょうか? 後ほど設定を変えて再度トライしてみます。

[root@Meiji-Linux-Fedora10 mysql]# yum install firebird-superserver
Loaded plugins: refresh-packagekit
fedora | 2.8 kB 00:00
updates | 3.0 kB 00:00
updates/primary_db | 4.4 MB 00:10 …

[さらに読む]
累計が100以上になるまで出力: Firebirdでストアドプロシジャを使った場合

前回MySQLでやったものと、同じ処理をFirebirdのストアドで書いてみました。

create table GetPoint(
ID int not null,
Point int,
Primary key(ID));

insert into GetPoint values(1,30);
insert into GetPoint values(2,30);
insert into GetPoint values(3,30);
insert into GetPoint values(4,20);
insert into GetPoint values(5,70);
insert into GetPoint values(6, 5);
insert into GetPoint values(7, 0);
insert into GetPoint values(8,18);
insert into GetPoint values(9,33);
commit;



SET TERM ^;
CREATE PROCEDURE SP_TSUM(
LIMIT INTEGER
) RETURNS(
ID INTEGER,
Point INTEGER
) AS
DECLARE VARIABLE TSUM INTEGER;
BEGIN
TSUM = 0;
FOR SELECT ID, Point
FROM …
[さらに読む]
18 件中 11 - 18 件を表示
« 前の 10 件