Mercurial > dive4elements > framework
view artifact-database/src/main/resources/sql/org-postgresql-driver.properties @ 273:22a90706d32d
Enables the artifact server to set the TTL of a specific collection via REST call.
artifacts/trunk@2070 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 07 Jun 2011 16:27:47 +0000 |
parents | a2df2b48d2aa |
children | 92166f7c3842 |
line wrap: on
line source
artifacts.id.nextval=SELECT nextval('ARTIFACTS_ID_SEQ') artifacts.insert=INSERT INTO artifacts \ (id, gid, creation, last_access, ttl, factory, data) \ VALUES (?, ?::uuid, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?) artifacts.update=UPDATE artifacts SET last_access = CURRENT_TIMESTAMP, \ data = ? WHERE id = ? artifacts.touch=UPDATE artifacts SET last_access = CURRENT_TIMESTAMP WHERE id = ? artifacts.outdated=SELECT id, factory, data FROM artifacts WHERE ttl IS NOT NULL \ AND CURRENT_TIMESTAMP - last_access > (ttl || ' milliseconds')::interval \ AND id NOT IN (SELECT DISTINCT artifact_id FROM collection_items) \ AND id NOT IN ($LOCKED_IDS$) \ LIMIT 50 artifacts.select.gid=SELECT id, ttl, factory, data FROM artifacts WHERE gid = ?::uuid \ AND (ttl IS NULL \ OR (CURRENT_TIMESTAMP - last_access <= (ttl || ' milliseconds')::interval) \ OR id IN (SELECT artifact_id FROM collection_items)) artifacts.get.id=SELECT id FROM artifacts WHERE gid = ?::uuid artifacts.replace=UPDATE artifacts SET \ creation = CURRENT_TIMESTAMP, last_access = CURRENT_TIMESTAMP, \ ttl = ?, factory = ?, data = ? \ WHERE id = ? artifacts.delete=DELETE FROM artifacts WHERE id = ? # USERS users.id.nextval=SELECT NEXTVAL('USERS_ID_SEQ') users.insert=INSERT INTO users (id, gid, name, role) VALUES (?, ?::uuid, ?, ?) users.select.id.by.gid=SELECT id FROM users WHERE gid = ?::uuid users.select.gid=SELECT id, name, role FROM users WHERE gid = ?::uuid users.delete.id=DELETE FROM users WHERE id = ? users.delete.collections=DELETE FROM collections where owner_id = ? users.select.all=SELECT id, gid, name, role FROM users collection.check.artifact=SELECT id FROM collection_items \ WHERE artifact_id = ? AND collection_id = ? # COLLECTION ITEMS collection.items.id.nextval=SELECT NEXTVAL('COLLECTION_ITEMS_ID_SEQ') collection.items.insert=INSERT INTO collection_items \ (id, collection_id, artifact_id, attribute) \ VALUES (?, ?, ?, ?) collection.item.get.attribute= \ SELECT ci.attribute FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ?::uuid AND a.gid = ?::uuid collection.item.set.attribute= \ UPDATE collection_items SET attribute = ? WHERE id IN ( \ SELECT ci.id FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ?::uuid AND a.gid = ?::uuid) collection.item.id.cid.aid= \ SELECT ci.id, ci.collection_id, ci.artifact_id FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ?::uuid AND a.gid = ?::uuid collection.item.outdate.artifact= \ UPDATE artifacts \ SET last_access = CURRENT_TIMESTAMP - '2 milliseconds'::interval, ttl = 1 \ WHERE id = ? AND \ NOT EXSITS \ (SELECT id FROM collection_items WHERE collection_id <> ? AND artifact_id = ?) collection.item.delete=DELETE FROM collection_items WHERE id = ? collection.items.list.gid= \ SELECT a.gid, ci.attribute FROM collection_items ci \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE ci.collection_id IN (SELECT id FROM collections WHERE gid = ?::uuid) # COLLECTIONS collections.outdated= \ SELECT c.id FROM collections c \ INNER JOIN collection_items ci ON c.id = ci.collection_id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.ttl IS NOT NULL \ AND CURRENT_TIMESTAMP - c.last_access > (c.ttl || ' milliseconds')::interval \ AND a.id NOT IN ($LOCKED_IDS$) collections.update.ttl=UPDATE collections SET ttl = ? WHERE gid = ?::uuid collections.touch.by.gid =\ UPDATE collections SET last_access = CURRENT_TIMESTAMP \ WHERE gid = ?::uuid collections.touch.by.id =\ UPDATE collections SET last_access = CURRENT_TIMESTAMP \ WHERE id = ? collections.id.nextval=SELECT NEXTVAL('COLLECTIONS_ID_SEQ') collections.id.by.gid=SELECT id FROM collections WHERE gid = ?::uuid delete.collection.items=DELETE FROM collection_items WHERE collection_id = ? delete.collection=DELETE FROM collections WHERE id = ? delete.user.collection.items= \ DELETE FROM collection_items WHERE collection_id IN \ (SELECT id FROM collections WHERE owner_id = ?) collections.insert= \ INSERT INTO collections \ (id, gid, name, owner_id, creation, last_access, ttl, attribute) \ VALUES (?, ?::uuid, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?) collection.creation.time=SELECT creation from collections WHERE id = ? collections.select.user= \ SELECT c.gid, c.name, c.creation, u.gid FROM \ collections c LEFT OUTER JOIN users u ON c.owner_id = u.id \ WHERE u.gid = ?::uuid collections.select.all= \ SELECT c.gid, c.name, c.creation, u.gid FROM \ collections c LEFT OUTER JOIN users u ON c.owner_id = u.id collections.select.by.gid= \ SELECT id, name, owner_id, creation, last_access, attribute \ FROM collections WHERE gid = ?::uuid users.collections=SELECT collection_id, gid, name FROM collections WHERE owner_id = ? users.collection.ids=SELECT collection_id FROM collections WHERE owner_id = ? artifacts.in.one.collection.only=\ SELECT artifact_id FROM collection_items\ WHERE collection_id = ? AND\ artifact_id NOT IN (SELECT DISTINCT artifact_id FROM collection_items WHERE collection_id <> ?) outdate.artifacts.collection=UPDATE artifacts \ SET last_access = CURRENT_TIMESTAMP - '2 milliseconds'::interval, ttl = 1 \ WHERE id IN \ (SELECT artifact_id FROM collection_items \ WHERE collection_id = ? AND \ artifact_id NOT IN (SELECT DISTINCT artifact_id FROM collection_items WHERE collection_id <> ?)) outdate.artifacts.user=UPDATE artifacts \ SET last_access = CURRENT_TIMESTAMP - '2 milliseconds'::interval, ttl = 1 \ WHERE id IN \ (SELECT artifact_id FROM collection_items WHERE \ collection_id IN (SELECT id FROM collections WHERE owner_id = ?) \ AND artifact_id NOT IN \ (SELECT artifact_id FROM collection_items WHERE collection_id IN \ (SELECT id FROM collections WHERE owner_id <> ?))) collection.get.attribute= \ SELECT c.attribute FROM collections c WHERE c.gid = ?::uuid collection.set.attribute= \ UPDATE collections SET attribute = ? WHERE gid = ?::uuid