Activity Service

- add PostgreSQL support
- add generic schema generation, plus extras (indexes, sequences, workaround for Derby)
- fix feed cleaner keepDate, also increase default from 14 to 31 days
- fix Oracle-specifc issue (when retrieving site feed)
- reformatting sqlMap config files
- improve exception handling
Add Derby warning message

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9649 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2008-07-04 13:12:31 +00:00
parent 87096f0b2a
commit cc051d8274
28 changed files with 653 additions and 485 deletions

View File

@@ -1,12 +1,13 @@
--
-- Title: Activities Schema
-- Title: Activities Schema - Extras (Indexes, Identity)
-- Database: Derby
-- Since: V3.0.0 Schema
--
-- Note: The Activities schema is NOT managed by Hibernate
--
-- Activity Post
-- Hibernate workaround - to add identity column
DROP TABLE alf_activity_post;
CREATE TABLE alf_activity_post (
sequence_id bigint generated by default as identity (start with 1),
post_date timestamp NOT NULL,
@@ -20,11 +21,14 @@ CREATE TABLE alf_activity_post (
last_modified timestamp NOT NULL,
primary key (sequence_id)
);
CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post(status);
CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
CREATE INDEX status_idx on alf_activity_post(status);
-- Activity Feed
-- Hibernate workaround - to add identity column
DROP TABLE alf_activity_feed;
CREATE TABLE alf_activity_feed (
id bigint generated by default as identity (start with 1),
post_id bigint default NULL,
@@ -40,13 +44,16 @@ CREATE TABLE alf_activity_feed (
primary key (id)
);
CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
-- Activity Feed Control
-- Hibernate workaround - to add identity column
DROP TABLE alf_activity_feed_control;
CREATE TABLE alf_activity_feed_control (
id bigint generated by default as identity (start with 1),
feed_user_id varchar(255) NOT NULL,
@@ -56,16 +63,17 @@ CREATE TABLE alf_activity_feed_control (
primary key (id)
);
CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
0, 125, -1, 126, CURRENT_TIMESTAMP, 'UNKNOWN', 1, 1, 'Script completed'
);
);

View File

@@ -0,0 +1,28 @@
--
-- Title: Activities Schema - Extras (Indexes)
-- Database: Generic
-- Since: V3.0.0 Schema
--
CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post(status);
CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
0, 125, -1, 126, null, 'UNKNOWN', 1, 1, 'Script completed'
);

View File

@@ -1,71 +0,0 @@
--
-- Title: Activities Schema
-- Database: HSQL
-- Since: V3.0.0 Schema
--
-- Note: The Activities schema is NOT managed by Hibernate
--
CREATE TABLE alf_activity_post (
sequence_id bigint generated by default as identity (start with 1),
post_date timestamp NOT NULL,
status varchar(10) NOT NULL,
activity_data varchar(4000) NOT NULL,
post_user_id varchar(255) NOT NULL,
job_task_node integer NOT NULL,
site_network varchar(255) default NULL,
app_tool varchar(36) default NULL,
activity_type varchar(255) NOT NULL,
last_modified timestamp NOT NULL,
primary key (sequence_id)
);
CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
CREATE INDEX status_idx on alf_activity_post(status);
CREATE TABLE alf_activity_feed (
id bigint generated by default as identity (start with 1),
post_id bigint default NULL,
post_date timestamp NOT NULL,
activity_summary varchar(4000) default NULL,
feed_user_id varchar(255) NOT NULL,
activity_type varchar(255) NOT NULL,
activity_format varchar(10) default NULL,
site_network varchar(255) default NULL,
app_tool varchar(36) default NULL,
post_user_id varchar(255) NOT NULL,
feed_date timestamp NOT NULL,
primary key (id)
);
CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
CREATE TABLE alf_activity_feed_control (
id bigint generated by default as identity (start with 1),
feed_user_id varchar(255) NOT NULL,
site_network varchar(255) NOT NULL,
app_tool varchar(36) default NULL,
last_modified timestamp NOT NULL,
primary key (id)
);
CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
0, 125, -1, 126, NOW, 'UNKNOWN', 1, 1, 'Script completed'
);

View File

@@ -1,68 +0,0 @@
--
-- Title: Activities Schema
-- Database: MySQL
-- Since: V3.0.0 Schema
--
-- Note: The Activities schema is NOT managed by Hibernate
--
CREATE TABLE alf_activity_post (
sequence_id bigint NOT NULL auto_increment,
post_date timestamp NOT NULL,
status varchar(10) NOT NULL,
activity_data varchar(4000) NOT NULL,
post_user_id varchar(255) NOT NULL,
job_task_node int(11) NOT NULL,
site_network varchar(255) default NULL,
app_tool varchar(36) default NULL,
activity_type varchar(255) NOT NULL,
last_modified timestamp NOT NULL,
PRIMARY KEY (sequence_id),
KEY jobtasknode_idx (job_task_node),
KEY status_idx (status)
) type=InnoDB;
CREATE TABLE alf_activity_feed (
id bigint NOT NULL auto_increment,
post_id bigint default NULL,
post_date timestamp NOT NULL,
activity_summary varchar(4000) default NULL,
feed_user_id varchar(255) NOT NULL,
activity_type varchar(255) NOT NULL,
activity_format varchar(10) default NULL,
site_network varchar(255) default NULL,
app_tool varchar(36) default NULL,
post_user_id varchar(255) NOT NULL,
feed_date timestamp NOT NULL,
PRIMARY KEY (id),
KEY postdate_idx (post_date),
KEY feeduserid_idx (feed_user_id),
KEY postuserid_idx (post_user_id),
KEY sitenetwork_idx (site_network),
KEY activityformat_idx (activity_format)
) type=InnoDB;
CREATE TABLE alf_activity_feed_control (
id bigint NOT NULL auto_increment,
feed_user_id varchar(255) NOT NULL,
site_network varchar(255) NOT NULL,
app_tool varchar(36) NOT NULL,
last_modified timestamp NOT NULL,
PRIMARY KEY (id),
KEY feedcontroluserid_idx (feed_user_id)
) type=InnoDB;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
0, 125, -1, 126, now(), 'UNKNOWN', 1, 1, 'Script completed'
);

View File

@@ -0,0 +1,38 @@
--
-- Title: Activities Schema - Extras (Indexes, Sequences)
-- Database: Oracle
-- Since: V3.0.0 Schema
--
-- Activity Post
CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post(status);
-- Activity Feed
CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
-- Activity Feed Control
CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
0, 125, -1, 126, SYSDATE, 'UNKNOWN', 1, 1, 'Script completed'
);

View File

@@ -1,77 +0,0 @@
--
-- Title: Activities Schema
-- Database: Oracle
-- Since: V3.0.0 Schema
--
-- Note: The Activities schema is NOT managed by Hibernate
--
CREATE TABLE alf_activity_post (
sequence_id number(19,0) NOT NULL,
post_date timestamp NOT NULL,
status varchar2(10) NOT NULL,
activity_data varchar2(4000) NOT NULL,
post_user_id varchar2(255) NOT NULL,
job_task_node number(19,0) NOT NULL,
site_network varchar2(255) default NULL,
app_tool varchar2(36) default NULL,
activity_type varchar2(255) NOT NULL,
last_modified timestamp NOT NULL,
primary key (sequence_id)
);
CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX jobtasknode_idx on alf_activity_post(job_task_node);
CREATE INDEX status_idx on alf_activity_post(status);
CREATE TABLE alf_activity_feed (
id number(19,0) NOT NULL,
post_id number(19,0) default NULL,
post_date timestamp NOT NULL,
activity_summary varchar2(4000) default NULL,
feed_user_id varchar2(255) default NULL,
activity_type varchar2(255) NOT NULL,
activity_format varchar2(10) default NULL,
site_network varchar2(255) default NULL,
app_tool varchar2(36) default NULL,
post_user_id varchar2(255) NOT NULL,
feed_date timestamp NOT NULL,
primary key (id)
);
CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX activityformat_idx ON alf_activity_feed(activity_format);
CREATE TABLE alf_activity_feed_control (
id number(19,0) NOT NULL,
feed_user_id varchar2(255) NOT NULL,
site_network varchar2(255) NOT NULL,
app_tool varchar2(36) NOT NULL,
last_modified timestamp NOT NULL,
primary key (id)
);
CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX feedcontroluserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesTables';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesTables', 'Executed script create V3.0: Created activities tables',
0, 125, -1, 126, SYSDATE, 'UNKNOWN', 1, 1, 'Script completed'
);

View File

@@ -0,0 +1,37 @@
--
-- Title: Activities Schema - Extras (Indexes, Sequences)
-- Database: PostgreSQL
-- Since: V3.0.0 Schema
--
-- Activity Post
CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post(status);
-- Activity Feed
CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX feed_postdate_idx ON alf_activity_feed(post_date);
CREATE INDEX feed_postuserid_idx ON alf_activity_feed(post_user_id);
CREATE INDEX feed_feeduserid_idx ON alf_activity_feed(feed_user_id);
CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed(site_network);
CREATE INDEX feed_activityformat_idx ON alf_activity_feed(activity_format);
-- Activity Feed Control
CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control(feed_user_id);
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.0-0-CreateActivitiesExtras';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.0-0-CreateActivitiesExtras', 'Executed script create V3.0: Created activities extras',
0, 125, -1, 126, null, 'UNKNOWN', TRUE, TRUE, 'Script completed'
);