diff --git a/test/support/prepare_db.sh b/test/support/prepare_db.sh index 28252522..393b05a9 100755 --- a/test/support/prepare_db.sh +++ b/test/support/prepare_db.sh @@ -75,8 +75,8 @@ if test x"$PREPARE_PGSQL" = xyes; then dropdb "${TEST_DB}" createdb -Ttemplate_postgis -EUTF8 "${TEST_DB}" || die "Could not create test database" - LOCAL_SQL_SCRIPTS='windshaft.test gadm4 ported/populated_places_simple_reduced' - REMOTE_SQL_SCRIPTS='CDB_QueryStatements CDB_QueryTables CDB_CartodbfyTable CDB_TableMetadata CDB_ForeignTable CDB_UserTables CDB_ColumnNames CDB_AnalysisCatalog CDB_ZoomFromScale CDB_OverviewsSupport CDB_Overviews CDB_QuantileBins CDB_JenksBins CDB_HeadsTailsBins CDB_EqualIntervalBins CDB_Hexagon CDB_XYZ' + LOCAL_SQL_SCRIPTS='analysis_catalog windshaft.test gadm4 ported/populated_places_simple_reduced' + REMOTE_SQL_SCRIPTS='CDB_QueryStatements CDB_QueryTables CDB_CartodbfyTable CDB_TableMetadata CDB_ForeignTable CDB_UserTables CDB_ColumnNames CDB_ZoomFromScale CDB_OverviewsSupport CDB_Overviews CDB_QuantileBins CDB_JenksBins CDB_HeadsTailsBins CDB_EqualIntervalBins CDB_Hexagon CDB_XYZ' CURL_ARGS="" for i in ${REMOTE_SQL_SCRIPTS} diff --git a/test/support/sql/analysis_catalog.sql b/test/support/sql/analysis_catalog.sql new file mode 100644 index 00000000..fa529ca4 --- /dev/null +++ b/test/support/sql/analysis_catalog.sql @@ -0,0 +1,30 @@ +-- Table to register analysis nodes from https://github.com/cartodb/camshaft +CREATE TABLE IF NOT EXISTS + cartodb.cdb_analysis_catalog ( +-- useful for multi account deployments + username text, +-- md5 hex hash + node_id char(40) CONSTRAINT cdb_analysis_catalog_pkey PRIMARY KEY, +-- being json allows to do queries like analysis_def->>'type' = 'buffer' + analysis_def json NOT NULL, +-- can reference other nodes in this very same table, allowing recursive queries + input_nodes char(40) ARRAY NOT NULL DEFAULT '{}', + status TEXT NOT NULL DEFAULT 'pending', + CONSTRAINT valid_status CHECK ( + status IN ( 'pending', 'waiting', 'running', 'canceled', 'failed', 'ready' ) + ), + created_at timestamp with time zone NOT NULL DEFAULT now(), +-- should be updated when some operation was performed in the node +-- and anything associated to it might have changed + updated_at timestamp with time zone DEFAULT NULL, +-- should register last time the node was used + used_at timestamp with time zone NOT NULL DEFAULT now(), +-- should register the number of times the node was used + hits NUMERIC DEFAULT 0, +-- should register what was the last node using current node + last_used_from char(40), +-- last job modifying the node + last_modified_by uuid, +-- store error message for failures + last_error_message text +);