Skip to content

Known Limitations

Damian edited this page Aug 15, 2020 · 2 revisions

Known Limitations

No system is perfect. This framework only gets better when contributors like yourself enhance it.

SQLite Triggers.

Because we parse on the semicolon, having another semicolon inside a statement currently is not supported.

As an example, notice the UPDATE statement inside of our, CREATE TRIGGER:

DROP TRIGGER IF EXISTS TRG_UserInfo_Id_AutoGenerateGuid;

CREATE TRIGGER TRG_UserInfo_Id_AutoGenerateGuid
AFTER INSERT ON UserInfo
FOR EACH ROW
BEGIN
 UPDATE UserInfo SET Id =
   (SELECT HEX( RANDOMBLOB(4)) || '-' || HEX( RANDOMBLOB(2))
           || '-' || '4' || SUBSTR(HEX( RANDOMBLOB(2)), 2) || '-'
           || SUBSTR('AB89', 1 + (ABS(RANDOM()) % 4) , 1)  ||
           SUBSTR(HEX(RANDOMBLOB(2)), 2) || '-' || HEX(RANDOMBLOB(6)) ) WHERE RowId = NEW.RowId;
END;

DROP TRIGGER IF EXISTS TRG_Sync_Id_AutoGenerateGuid;

CREATE TRIGGER TRG_Sync_Id_AutoGenerateGuid
AFTER INSERT ON Sync
FOR EACH ROW
-- WHEN (NEW.Id IS NULL)
BEGIN
 UPDATE Sync SET Id =
   (SELECT HEX( RANDOMBLOB(4)) || '-' || HEX( RANDOMBLOB(2))
           || '-' || '4' || SUBSTR(HEX( RANDOMBLOB(2)), 2) || '-'
           || SUBSTR('AB89', 1 + (ABS(RANDOM()) % 4) , 1)  ||
           SUBSTR(HEX(RANDOMBLOB(2)), 2) || '-' || HEX(RANDOMBLOB(6)) ) WHERE RowId = NEW.RowId;
END;
Clone this wiki locally