--- /dev/null
+-- NB 21.06.16 CREATE AGGREGATE array_agg (anyelement)
+-- NB 21.06.16 (
+-- NB 21.06.16 sfunc = array_append,
+-- NB 21.06.16 stype = anyarray,
+-- NB 21.06.16 initcond = '{}'
+-- NB 21.06.16 );
+
+DROP AGGREGATE IF EXISTS CONCAT(text);
+/*
+CREATE AGGREGATE CONCAT(
+ basetype = text,
+ sfunc = textcat,
+ stype = text,
+ initcond = ''
+
+);
+*/
+
+/*
+DROP FUNCTION IF EXISTS CONCAT( VARIADIC ANYARRAY );
+CREATE FUNCTION CONCAT( VARIADIC ANYARRAY )
+RETURNS TEXT
+ LANGUAGE SQL
+ IMMUTABLE
+ AS $$
+ SELECT array_to_string($1,'');
+$$;
+*/
+
+
+
+
+
+++ /dev/null
--- NB 21.06.16 CREATE AGGREGATE array_agg (anyelement)
--- NB 21.06.16 (
--- NB 21.06.16 sfunc = array_append,
--- NB 21.06.16 stype = anyarray,
--- NB 21.06.16 initcond = '{}'
--- NB 21.06.16 );
-
-DROP AGGREGATE IF EXISTS CONCAT(text);
-/*
-CREATE AGGREGATE CONCAT(
- basetype = text,
- sfunc = textcat,
- stype = text,
- initcond = ''
-
-);
-*/
-
-/*
-DROP FUNCTION IF EXISTS CONCAT( VARIADIC ANYARRAY );
-CREATE FUNCTION CONCAT( VARIADIC ANYARRAY )
-RETURNS TEXT
- LANGUAGE SQL
- IMMUTABLE
- AS $$
- SELECT array_to_string($1,'');
-$$;
-*/
-
-
-
-
-
--- /dev/null
+DROP TABLE IF EXISTS content;
+CREATE TABLE IF NOT EXISTS content (
+ id SERIAL PRIMARY KEY,
+ type VARCHAR(250) NOT NULL,
+ title VARCHAR(250) NOT NULL,
+ created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ content TEXT NOT NULL
+);
+CREATE INDEX IF NOT EXISTS content_created ON content USING btree (created);
+CREATE INDEX IF NOT EXISTS content_type ON content USING btree (type);
+CREATE INDEX IF NOT EXISTS content_title ON content USING btree (title);
+
+DROP FUNCTION IF EXISTS content_before_insert();
+/*
+*/
+CREATE FUNCTION content_before_insert() RETURNS trigger as 'BEGIN
+ NEW.updated = now();
+ RETURN NEW;
+END' LANGUAGE 'plpgsql';
+
+DROP TRIGGER IF EXISTS content_before_insert ON content;
+/*
+*/
+CREATE TRIGGER content_before_insert BEFORE INSERT OR UPDATE ON content
+FOR EACH ROW
+EXECUTE PROCEDURE content_before_insert()
+;