xpix
so.
habe mir die tabellen in hinblick auf anbindung an sqlite angesehen
(fuer alle, die nicht wissen, wovon ich rede: http://www.vdr-portal.de/board/thread.php?threadid=22490&sid=)
folgende fragen/anmerkungen:
tabelle AUTOTIMER:
-- InFields set('title', 'subtitle', 'description' ) NOT NULL,
kann ich nicht aufloesen in SQLite (jedenfalls habe ich keine entsprechung gefunden).
koenntest du das eventuell anders loesen bzw wofuer wird das genau benoetigt? (lt. schnell ueber den code drueberschauen missbrauchst du das SET als eine art 'inline table' oder so wenn ich mich nicht irre?)
tabelle EPG:
FULLTEXT KEY epgidx (title,subtitle,description)
wird zu: ==>
CREATE INDEX epgidx
ON EPG (
title,subtitle,description
);
wofuer setzt du das genau ein? unique muss/darf der ja nicht sein oder? (wenn ich die mysql-doku dazu richtig verstanden habe, ist FULLTEXT nur fuer beschleunigung der textsuche da)
alle ENUM('y', 'n') DEFAULT 'y' wuerde ich in meinem SQLite-port aufloesen in
fieldname CHAR DEFAULT 'y'
und CHECK fieldname IN ('y', 'n') (wird zwar dzt. von sqlite ignoriert, aber sauberes design und ev. wirds ja mal ausgewertet ...)
fuer unix_timestamp gibts eine (zugegeben grausame) entsprechung:
SELECT strftime('%s', 'now', 'localtime') ...
also als beispiel aus deinem sourcecode:
DELETE FROM EPG WHERE (UNIX_TIMESTAMP(EPG.starttime) + EPG.duration) < UNIX_TIMESTAMP();
wuerde zu
DELETE FROM EPG WHERE (strftime('%s',EPG.starttime) + EPG.duration) < Strftime('%s', 'now', 'localtime');
DATE_FORMAT(starttime, '%H%i') as Start,
DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP(starttime) + duration), '%H%i') as Stop
wuerde zu
Strftime('%H%M', starttime) AS Start, Strftime('%H%M', Datetime(starttime, '+'||duration||' seconds')) AS Stop
auch fuer das eine auto_increment in AUTOTIMER gibt es eine (etwas kranke) entsprechung: Id Int(11) auto_increment NOT NULL wird zu Id INTEGER PRIMARY KEY. wo ist da jetzt der auto_increment? tja, diese kombination macht das. habs ausprobiert und es stimmt tatsaechlich.
(es ist zwar sowieso generell von auto_increments abzuraten (wofuer gibts SEQUENCEs), aber da sqlite keine sequences unterstuetzt, lasse ich das grade nochmal durchgehen ;-)))
wenn das problem mit AUTOTIMER.InFields geloest ist werde ich die CREATEs anpassen und dann mit den DML-statements fortfahren.
/wastl
EDIT: korrektur v. defektem url