From d759f640a5a5b9477fd44bd8784783790221e6f6 Mon Sep 17 00:00:00 2001 From: Conrad S Date: Tue, 14 Mar 2017 13:37:02 -0400 Subject: [PATCH 1/6] Add unapproved tables and stored_procs --- .../ddl/mechanical_turk_generate_schema.sql | 157 ++++++++++++++++++ 1 file changed, 157 insertions(+) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index ecb6691..6b7e45f 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -132,3 +132,160 @@ select 'Rejected'; select count(*) from mechanical_turk.hit_status + + + + +-- table: mechanical_turk.feature + +drop table if exists mechanical_turk.feature cascade; + +create table mechanical_turk.feature +( + id serial not null, + description character varying(15), + constraint feature_pkey primary key (id) +) +with ( + oids=false +); + +--populate feature_table + +insert into mechanical_turk.feature(description) +select 'Door'; + +insert into mechanical_turk.feature(description) +select 'Window'; + +insert into mechanical_turk.feature(description) +select 'Building Point'; + +insert into mechanical_turk.feature(description) +select 'Roof Point'; + +-- Table: mechanical_turk.unapproved_point + +DROP TABLE if exists mechanical_turk.unapproved_point cascade; + +CREATE TABLE mechanical_turk.unapproved_point +( + id serial NOT NULL, + latitude float, + longtitude float, + elevation integer, + corresponding_height smallint, + adjacent boolean, + feature smallint, + hit_id integer, + building_id integer, + CONSTRAINT unapproved_point_pkey PRIMARY KEY (id), + CONSTRAINT unapproved_point_feature_fkey FOREIGN KEY (feature) + REFERENCES mechanical_turk.feature (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT unapproved_point_hit_id_fkey FOREIGN KEY (hit_id) + REFERENCES mechanical_turk.hit (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); + +-- table: mechanical_turk.direction + +drop table if exists mechanical_turk.direction cascade; + +create table mechanical_turk.direction +( + id serial not null, + description character varying(15), + constraint direction_pkey primary key (id) +) +with ( + oids=false +); + +--populate direction_table + +insert into mechanical_turk.direction(description) +select 'South/Front'; + +insert into mechanical_turk.direction(description) +select 'East/Right'; + +insert into mechanical_turk.direction(description) +select 'West/Left'; + +insert into mechanical_turk.direction(description) +select 'North/Back'; + +-- Table: mechanical_turk.unapproved_window_door + +DROP TABLE if exists mechanical_turk.unapproved_window_door cascade; + +CREATE TABLE mechanical_turk.unapproved_window_door +( + id serial NOT NULL, + height float, + width float, + quantity smallint, + orientation smallint, + direction smallint, + feature smallint, + hit_id integer, + building_id integer, + CONSTRAINT unapproved_window_door_pkey PRIMARY KEY (id), + CONSTRAINT unapproved_window_door_orientation_fkey FOREIGN KEY (orientation) + REFERENCES mechanical_turk.direction (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT unapproved_window_door_direction_fkey FOREIGN KEY (direction) + REFERENCES mechanical_turk.direction (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT unapproved_window_door_feature_fkey FOREIGN KEY (feature) + REFERENCES mechanical_turk.feature (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION, + CONSTRAINT unapproved_window_door_hit_id_fkey FOREIGN KEY (hit_id) + REFERENCES mechanical_turk.hit (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); + +-- Table: mechanical_turk.unapproved_building_dimensions + +DROP TABLE if exists mechanical_turk.unapproved_building_dimensions cascade; + +CREATE TABLE mechanical_turk.unapproved_building_dimensions +( + id serial NOT NULL, + perimeter float, + area float, + num_floors smallint, + ground_elevation smallint, + hit_id integer, + building_id integer, + CONSTRAINT unapproved_building_dimensions_pkey PRIMARY KEY (id), + CONSTRAINT unapproved_building_dimensions_hit_id_fkey FOREIGN KEY (hit_id) + REFERENCES mechanical_turk.hit (id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION +) +WITH ( + OIDS=FALSE +); + +-- Function: mechanical_turk.delete_unapproved_dimensions(integer) +DROP FUNCTION IF EXISTS mechanical_turk.delete_unapproved_dimensions(integer); + +CREATE OR REPLACE FUNCTION mechanical_turk.delete_unapproved_dimensions(IN in_hit_id integer) + RETURNS smallint as +$BODY$ + +BEGIN +DELETE FROM mechanical_turk.unapproved_point WHERE mechanical_turk.unapproved_point.hit_id = in_hit_id; +DELETE FROM mechanical_turk.unapproved_window_door WHERE mechanical_turk.unapproved_window_door.hit_id = in_hit_id; +DELETE FROM mechanical_turk.unapproved_building_dimensions WHERE mechanical_turk.unapproved_building_dimensions.hit_id = in_hit_id; +RETURN in_hit_id; +END; +$BODY$ + LANGUAGE plpgsql VOLATILE; -- GitLab From a77f110a9706d6c5266b6222fcb84679ade91b88 Mon Sep 17 00:00:00 2001 From: Conrad S Date: Tue, 14 Mar 2017 15:35:37 -0400 Subject: [PATCH 2/6] Update spelling of longitude --- Building/ddl/mechanical_turk_generate_schema.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index 6b7e45f..d480727 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -172,7 +172,7 @@ CREATE TABLE mechanical_turk.unapproved_point ( id serial NOT NULL, latitude float, - longtitude float, + longitude float, elevation integer, corresponding_height smallint, adjacent boolean, -- GitLab From 7a9c57d06b3ad02612b3ed85839b79538c92cf73 Mon Sep 17 00:00:00 2001 From: Conrad S Date: Wed, 15 Mar 2017 11:49:04 -0400 Subject: [PATCH 3/6] Add DELETE permission for building_service user --- Building/ddl/mechanical_turk_generate_schema.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index d480727..daae961 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -12,7 +12,7 @@ ALTER DEFAULT PRIVILEGES IN SCHEMA mechanical_turk TO "RW_users" WITH GRANT OPTION; ALTER DEFAULT PRIVILEGES IN SCHEMA mechanical_turk - GRANT INSERT, SELECT, UPDATE ON TABLES + GRANT INSERT, DELETE, SELECT, UPDATE ON TABLES TO "building_service"; ALTER DEFAULT PRIVILEGES IN SCHEMA mechanical_turk -- GitLab From 8bc184f9be2d4910441bd86043bc2d3325470254 Mon Sep 17 00:00:00 2001 From: Conrad S Date: Wed, 22 Mar 2017 11:21:45 -0400 Subject: [PATCH 4/6] Update tables to reflect new specifications --- Building/ddl/mechanical_turk_generate_schema.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index daae961..609e5ce 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -175,7 +175,6 @@ CREATE TABLE mechanical_turk.unapproved_point longitude float, elevation integer, corresponding_height smallint, - adjacent boolean, feature smallint, hit_id integer, building_id integer, @@ -265,6 +264,10 @@ CREATE TABLE mechanical_turk.unapproved_building_dimensions ground_elevation smallint, hit_id integer, building_id integer, + north_adjacency character varying(3), + south_adjacency character varying(3), + west_adjacency character varying(3), + east_adjacency character varying(3), CONSTRAINT unapproved_building_dimensions_pkey PRIMARY KEY (id), CONSTRAINT unapproved_building_dimensions_hit_id_fkey FOREIGN KEY (hit_id) REFERENCES mechanical_turk.hit (id) MATCH SIMPLE -- GitLab From 869afdd77de5aa41a5a10b6b2fb3f03e06c6d33b Mon Sep 17 00:00:00 2001 From: Conrad S Date: Wed, 22 Mar 2017 11:37:18 -0400 Subject: [PATCH 5/6] Update size of adjacency strings --- Building/ddl/mechanical_turk_generate_schema.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index 609e5ce..8579c6a 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -264,10 +264,10 @@ CREATE TABLE mechanical_turk.unapproved_building_dimensions ground_elevation smallint, hit_id integer, building_id integer, - north_adjacency character varying(3), - south_adjacency character varying(3), - west_adjacency character varying(3), - east_adjacency character varying(3), + north_adjacency character varying(10), + south_adjacency character varying(10), + west_adjacency character varying(10), + east_adjacency character varying(10), CONSTRAINT unapproved_building_dimensions_pkey PRIMARY KEY (id), CONSTRAINT unapproved_building_dimensions_hit_id_fkey FOREIGN KEY (hit_id) REFERENCES mechanical_turk.hit (id) MATCH SIMPLE -- GitLab From 415a34a8bd8a7c024ea4e49d3f5b3fb41bc33060 Mon Sep 17 00:00:00 2001 From: Conrad S Date: Wed, 22 Mar 2017 11:59:11 -0400 Subject: [PATCH 6/6] Change the type of adjacency --- Building/ddl/mechanical_turk_generate_schema.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Building/ddl/mechanical_turk_generate_schema.sql b/Building/ddl/mechanical_turk_generate_schema.sql index 8579c6a..d7be21c 100644 --- a/Building/ddl/mechanical_turk_generate_schema.sql +++ b/Building/ddl/mechanical_turk_generate_schema.sql @@ -264,10 +264,10 @@ CREATE TABLE mechanical_turk.unapproved_building_dimensions ground_elevation smallint, hit_id integer, building_id integer, - north_adjacency character varying(10), - south_adjacency character varying(10), - west_adjacency character varying(10), - east_adjacency character varying(10), + north_adjacency float, + south_adjacency float, + west_adjacency float, + east_adjacency float, CONSTRAINT unapproved_building_dimensions_pkey PRIMARY KEY (id), CONSTRAINT unapproved_building_dimensions_hit_id_fkey FOREIGN KEY (hit_id) REFERENCES mechanical_turk.hit (id) MATCH SIMPLE -- GitLab