summaryrefslogtreecommitdiff
path: root/schema
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-08-30 18:50:56 +0400
committerAndrew Dolgov <[email protected]>2012-08-31 12:13:47 +0400
commit6aff7845751e1671f436da6686209b414fdcfcc4 (patch)
tree412bfad8bdb8d23eebb84ff96ba6077e901f6d8b /schema
parentf9ebb32ca0a84ec5553d0494cdfc628753fcb36a (diff)
implement multiple rule/action filters
Diffstat (limited to 'schema')
-rw-r--r--schema/ttrss_schema_mysql.sql37
-rw-r--r--schema/ttrss_schema_pgsql.sql23
-rw-r--r--schema/versions/mysql/96.sql38
-rw-r--r--schema/versions/pgsql/96.sql23
4 files changed, 119 insertions, 2 deletions
diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql
index e5109de27..9a160f2aa 100644
--- a/schema/ttrss_schema_mysql.sql
+++ b/schema/ttrss_schema_mysql.sql
@@ -9,6 +9,9 @@ drop table if exists ttrss_labels2;
drop table if exists ttrss_feedbrowser_cache;
drop table if exists ttrss_version;
drop table if exists ttrss_labels;
+drop table if exists ttrss_filters2_actions;
+drop table if exists ttrss_filters2_rules;
+drop table if exists ttrss_filters2;
drop table if exists ttrss_filters;
drop table if exists ttrss_filter_types;
drop table if exists ttrss_filter_actions;
@@ -259,6 +262,38 @@ create table ttrss_filters (id integer not null primary key auto_increment,
index (action_id),
foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+create table ttrss_filters2(id integer primary key auto_increment,
+ owner_uid integer not null,
+ match_any_rule boolean not null default false,
+ enabled boolean not null default true,
+ index(owner_uid),
+ foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
+create table ttrss_filters2_rules(id integer primary key auto_increment,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ reg_exp varchar(250) not null,
+ filter_type integer not null,
+ feed_id integer default null,
+ cat_id integer default null,
+ cat_filter boolean not null default false,
+ index (filter_id),
+ foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
+ index (filter_type),
+ foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE,
+ index (feed_id),
+ foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
+ index (cat_id),
+ foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
+create table ttrss_filters2_actions(id integer primary key auto_increment,
+ filter_id integer not null,
+ action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
+ action_param varchar(250) not null default '',
+ index (filter_id),
+ foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
+ index (action_id),
+ foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
create table ttrss_tags (id integer primary key auto_increment,
owner_uid integer not null,
tag_name varchar(250) not null,
@@ -270,7 +305,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
-insert into ttrss_version values (95);
+insert into ttrss_version values (96);
create table ttrss_enclosures (id integer primary key auto_increment,
content_url text not null,
diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql
index 778e2111a..600714e6e 100644
--- a/schema/ttrss_schema_pgsql.sql
+++ b/schema/ttrss_schema_pgsql.sql
@@ -6,6 +6,9 @@ drop table if exists ttrss_labels2;
drop table if exists ttrss_feedbrowser_cache;
drop table if exists ttrss_version;
drop table if exists ttrss_labels;
+drop table if exists ttrss_filters2_rules;
+drop table if exists ttrss_filters2_actions;
+drop table if exists ttrss_filters2;
drop table if exists ttrss_filters;
drop table if exists ttrss_filter_types;
drop table if exists ttrss_filter_actions;
@@ -222,6 +225,24 @@ create table ttrss_filters (id serial not null primary key,
action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
action_param varchar(250) not null default '');
+create table ttrss_filters2(id serial not null primary key,
+ owner_uid integer not null references ttrss_users(id) on delete cascade,
+ match_any_rule boolean not null default false,
+ enabled boolean not null default true);
+
+create table ttrss_filters2_rules(id serial not null primary key,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ reg_exp varchar(250) not null,
+ filter_type integer not null references ttrss_filter_types(id),
+ feed_id integer references ttrss_feeds(id) on delete cascade default null,
+ cat_id integer references ttrss_feed_categories(id) on delete cascade default null,
+ cat_filter boolean not null default false);
+
+create table ttrss_filters2_actions(id serial not null primary key,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
+ action_param varchar(250) not null default '');
+
create table ttrss_tags (id serial not null primary key,
tag_name varchar(250) not null,
owner_uid integer not null references ttrss_users(id) on delete cascade,
@@ -232,7 +253,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id);
create table ttrss_version (schema_version int not null);
-insert into ttrss_version values (95);
+insert into ttrss_version values (96);
create table ttrss_enclosures (id serial not null primary key,
content_url text not null,
diff --git a/schema/versions/mysql/96.sql b/schema/versions/mysql/96.sql
new file mode 100644
index 000000000..4d4e2445c
--- /dev/null
+++ b/schema/versions/mysql/96.sql
@@ -0,0 +1,38 @@
+begin;
+
+create table ttrss_filters2(id integer primary key auto_increment,
+ owner_uid integer not null,
+ match_any_rule boolean not null default false,
+ enabled boolean not null default true,
+ index(owner_uid),
+ foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
+create table ttrss_filters2_rules(id integer primary key auto_increment,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ reg_exp varchar(250) not null,
+ filter_type integer not null,
+ feed_id integer default null,
+ cat_id integer default null,
+ cat_filter boolean not null default false,
+ index (filter_id),
+ foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
+ index (filter_type),
+ foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE,
+ index (feed_id),
+ foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
+ index (cat_id),
+ foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
+create table ttrss_filters2_actions(id integer primary key auto_increment,
+ filter_id integer not null,
+ action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
+ action_param varchar(250) not null default '',
+ index (filter_id),
+ foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
+ index (action_id),
+ foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
+
+update ttrss_version set schema_version = 96;
+
+commit;
+
diff --git a/schema/versions/pgsql/96.sql b/schema/versions/pgsql/96.sql
new file mode 100644
index 000000000..86895e5e0
--- /dev/null
+++ b/schema/versions/pgsql/96.sql
@@ -0,0 +1,23 @@
+begin;
+
+create table ttrss_filters2(id serial not null primary key,
+ owner_uid integer not null references ttrss_users(id) on delete cascade,
+ match_any_rule boolean not null default false,
+ enabled boolean not null default true);
+
+create table ttrss_filters2_rules(id serial not null primary key,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ reg_exp varchar(250) not null,
+ filter_type integer not null references ttrss_filter_types(id),
+ feed_id integer references ttrss_feeds(id) on delete cascade default null,
+ cat_id integer references ttrss_feed_categories(id) on delete cascade default null,
+ cat_filter boolean not null default false);
+
+create table ttrss_filters2_actions(id serial not null primary key,
+ filter_id integer not null references ttrss_filters2(id) on delete cascade,
+ action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
+ action_param varchar(250) not null default '');
+
+update ttrss_version set schema_version = 95;
+
+commit;