summaryrefslogtreecommitdiff
path: root/configs/getupdflg.sql
diff options
context:
space:
mode:
Diffstat (limited to 'configs/getupdflg.sql')
-rw-r--r--configs/getupdflg.sql33
1 files changed, 33 insertions, 0 deletions
diff --git a/configs/getupdflg.sql b/configs/getupdflg.sql
new file mode 100644
index 0000000..dd63734
--- /dev/null
+++ b/configs/getupdflg.sql
@@ -0,0 +1,33 @@
+CREATE FUNCTION getupdflg ( master_id INT(11) )
+RETURNS CHAR
+NOT DETERMINISTIC
+BEGIN
+DECLARE upd_flg CHAR;
+ SET upd_flg = (
+ select case
+ when ev.source != 'vdr' and ev.starttime <= cm.mergesp and ev.masterid != ev.useid then 'C'
+ when ev.source != 'vdr' and ev.starttime <= cm.mergesp and jo.masterid is not Null then 'T'
+ when ev.delflg = 'Y' then 'D'
+ when ev.source != 'vdr' and ev.starttime <= cm.mergesp and jo.masterid is Null then 'R'
+ when ev.source != 'vdr' and ev.starttime > cm.mergesp then 'A'
+ when ev.source = 'vdr' and cm.mergesp is Null then 'P'
+ when ev.source = 'vdr' and ev.starttime > cm.mergesp then 'I'
+ when ev.source = 'vdr' and ev.starttime <= cm.mergesp and ev.masterid = ev.useid then 'A'
+ when ev.source = 'vdr' and ev.starttime <= cm.mergesp and ev.masterid != ev.useid then 'L'
+ end
+from
+ events ev
+left join
+ events jo
+on
+ ev.masterid = jo.useid and jo.useid != 0 and jo.updflg = 'L'
+left join
+ (select distinct mergesp,channelid from channelmap where channelmap.source != 'vdr') cm
+on
+ ev.channelid = cm.channelid
+where
+ ev.masterid = master_id
+ limit 1
+);
+RETURN upd_flg;
+END