Nucleus/SQLite
Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
Nucleus w/SQLite [Nucleus/SQLite]
2006年4月17日
SQLite 版 Nucleus (ver 3.24) のインストール・及び使用方法に関する説明です。ここで言うSQLite 版 Nucleus とは、Nucleus のオフィシャルサイト(http://nucleuscms.org/ 及び http://japan.nucleuscms.org/)から取得した物に若干の改造を施し、私が作成した SQLite-MySQLラッパーを付加してGPLのライセンスの元で配布している物であり、Nucleus のオフィシャルプロダクトではありません。その点、ご承知おきください。
(Nucleus JP Forum でダウンロードできます)
(Nucleus JP Forum でダウンロードできます)
INTERVAL翻訳 [Nucleus/SQLite]
2006年3月20日
ADDDATE(date,INTERVAL expr type) DATE_ADD(date,INTERVAL expr type) , DATE_SUB(date,INTERVAL expr type) SUBDATE(date,INTERVAL expr type)
SHOW FIELDS FROM翻訳 [Nucleus/SQLite]
2006年3月20日
SHOW FIELDS FROM
nucleus_itemの場合
nucleus_itemの場合
CREATE TABLE `nucleus_item` ( `inumber` int(11) NOT NULL auto_increment, `ititle` varchar(160) default NULL, `ibody` text NOT NULL, `imore` text, `iblog` int(11) NOT NULL default '0', `iauthor` int(11) NOT NULL default '0', `itime` datetime NOT NULL default '0000-00-00 00:00:00', `iclosed` tinyint(2) NOT NULL default '0', `idraft` tinyint(2) NOT NULL default '0', `ikarmapos` int(11) NOT NULL default '0', `icat` int(11) default NULL, `ikarmaneg` int(11) NOT NULL default '0', PRIMARY KEY (`inumber`), UNIQUE KEY `inumber` (`inumber`), KEY `itime` (`itime`), FULLTEXT KEY `ibody` (`ibody`,`ititle`,`imore`) ) TYPE=MyISAM PACK_KEYS=0;
SHOW KEYS FROM 翻訳 [Nucleus/SQLite]
2006年3月19日
kosugiatkipsさんに教わった命令で、MySQL の『SHOW KEYS FROM』に相当する部分が見えてきた。キー(インデックス)の作成は、SQLiteでは、
のようにすればよい。この書式をテーブルから読み出すには、
で良いらしい。実行結果の例は、次の通り。
CREATE INDEX 'ibody' ON 'nucleus_item' ('ibody','ititle','imore')");
のようにすればよい。この書式をテーブルから読み出すには、
$res=sqlite_mysql_query("SELECT sql,name FROM sqlite_master WHERE type = 'index' and tbl_name = 'nucleus_item' ORDER BY type DESC"); while ($a=sqlite_mysql_fetch_assoc($res)) foreach($a as $key=>$value) echo "$key=>$value</br>\n";
で良いらしい。実行結果の例は、次の通り。
sql=>CREATE INDEX 'itime' ON 'nucleus_item' ('itime') name=>'itime' sql=>CREATE UNIQUE INDEX 'inumber' ON 'nucleus_item' ('inumber') name=>'inumber' sql=>CREATE INDEX 'ibody' ON 'nucleus_item' ('ibody','ititle','imore') name=>'ibody' sql=> name=>(nucleus_item autoindex 1)
PostgreSQL [Nucleus/SQLite]
2006年3月17日
戯れに、PostgreSQLでもラッパーが作れそうかどうか、調べてみた。一番のポイントは、SQL Query中で使えるユーザ関数が定義できるかどうかである。
NOT NULL の問題 [Nucleus/SQLite]
2006年3月17日
MySQL で "NOT NULL" のカラムに NULL を指定してデータを挿入しようとすると、『MySQL ではエラーを生成するのではなく、カラムを '最適可能値' に設定』するらしい。SQLiteではエラーになる。でもこの MySQL の仕様、バグの温床にならないのかな?
(追記)SQLiteのバージョンによって違うのか、コンパイルオプション或いは、設定によって違うのか、ここのラクーカンのSQLiteではエラーが出なかった(ローカルのコンピューターにインストールしたSQLiteではエラー)。
(追記)SQLiteのバージョンによって違うのか、コンパイルオプション或いは、設定によって違うのか、ここのラクーカンのSQLiteではエラーが出なかった(ローカルのコンピューターにインストールしたSQLiteではエラー)。
次の予定 [Nucleus/SQLite]
2006年3月15日
Nucleus SQLite化計画における次の課題。
1.日付表示の問題(→解消)
2.SQL 関数への対応
3.IF, IFNULL, NULLIF, CASE などの条件構文への対応
最優先で実装する機能:
concat (実装終了)
ifnull (実装終了)
IF (実装終了)
INTERVAL(実装終了)
SHOW FIELDS FROM (実装終了)
SHOW KEYS FROM (実装終了)
ALTER TABLE (実装終了)
1.日付表示の問題(→解消)
2.SQL 関数への対応
3.IF, IFNULL, NULLIF, CASE などの条件構文への対応
最優先で実装する機能:
concat (実装終了)
ifnull (実装終了)
IF (実装終了)
INTERVAL(実装終了)
SHOW FIELDS FROM (実装終了)
SHOW KEYS FROM (実装終了)
ALTER TABLE (実装終了)