\set VERBOSITY terse -- Set user quota to infinite SELECT CDB_SetUserQuotaInBytes(0); cdb_setuserquotainbytes ------------------------- 0 (1 row) -- Enable ddl triggers SELECT cartodb.cdb_enable_ddl_hooks(); NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping cdb_enable_ddl_hooks ---------------------- (1 row) create schema c; SELECT CDB_SetUserQuotaInBytes('c', 0); cdb_setuserquotainbytes ------------------------- 0 (1 row) DROP USER IF EXISTS cartodb_postgresql_unpriv_user; NOTICE: role "cartodb_postgresql_unpriv_user" does not exist, skipping CREATE USER cartodb_postgresql_unpriv_user; GRANT ALL ON SCHEMA c to cartodb_postgresql_unpriv_user; SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; --SELECT session_user, current_user; ---------------------- -- CREATE TABLE ---------------------- SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; select 1 as i INTO c.t3; NOTICE: trigger "track_updates" for table "c.t3" does not exist, skipping NOTICE: trigger "update_the_geom_webmercator_trigger" for table "c.t3" does not exist, skipping NOTICE: trigger "test_quota" for table "c.t3" does not exist, skipping NOTICE: trigger "test_quota_per_row" for table "c.t3" does not exist, skipping NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping NOTICE: cdb_invalidate_varnish(c.t3) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)) as age FROM CDB_TableMetadata WHERE tabname = 'c.t3'::regclass; tabname | age ---------+----- c.t3 | 0 (1 row) SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; -- Table with cartodb_id field, see -- http://github.com/CartoDB/cartodb-postgresql/issues/32 select 1 as cartodb_id INTO c.t4; NOTICE: trigger "track_updates" for table "c.t4" does not exist, skipping NOTICE: trigger "update_the_geom_webmercator_trigger" for table "c.t4" does not exist, skipping NOTICE: trigger "test_quota" for table "c.t4" does not exist, skipping NOTICE: trigger "test_quota_per_row" for table "c.t4" does not exist, skipping NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping NOTICE: cdb_invalidate_varnish(c.t4) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)) as age FROM CDB_TableMetadata WHERE tabname = 'c.t4'::regclass; tabname | age ---------+----- c.t4 | 0 (1 row) ---------------------------- -- ALTER TABLE RENAME COLUMN ---------------------------- SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; select pg_sleep(.1); pg_sleep ---------- (1 row) alter table c.t3 rename column the_geom_webmercator to webmerc; NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping NOTICE: cdb_invalidate_varnish(c.t3) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)*10) as agecs FROM CDB_TableMetadata WHERE tabname = 'c.t3'::regclass; tabname | agecs ---------+------- c.t3 | 0 (1 row) SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; select pg_sleep(.1); pg_sleep ---------- (1 row) alter table c.t3 rename column the_geom_webmercator to webmerc2; NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping NOTICE: cdb_invalidate_varnish(c.t3) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)*10) as agecs FROM CDB_TableMetadata WHERE tabname = 'c.t3'::regclass; tabname | agecs ---------+------- c.t3 | 0 (1 row) ---------------------------- -- ALTER TABLE DROP COLUMN ---------------------------- SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; select pg_sleep(.1); pg_sleep ---------- (1 row) alter table c.t3 drop column the_geom_webmercator; NOTICE: event trigger "cdb_on_relation_create" does not exist, skipping NOTICE: event trigger "cdb_on_relation_drop" does not exist, skipping NOTICE: event trigger "cdb_on_alter_column" does not exist, skipping NOTICE: event trigger "cdb_on_drop_column" does not exist, skipping NOTICE: event trigger "cdb_on_add_column" does not exist, skipping NOTICE: cdb_invalidate_varnish(c.t3) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)*10) as agecs FROM CDB_TableMetadata WHERE tabname = 'c.t3'::regclass; tabname | agecs ---------+------- c.t3 | 0 (1 row) ---------------------------- -- ALTER TABLE ADD COLUMN ---------------------------- SET SESSION AUTHORIZATION 'cartodb_postgresql_unpriv_user'; select pg_sleep(.1); pg_sleep ---------- (1 row) alter table c.t3 add column id2 int; NOTICE: cdb_invalidate_varnish(c.t3) called RESET SESSION AUTHORIZATION; select tabname::text, round(extract('secs' from now() - updated_at)*10) as agecs FROM CDB_TableMetadata WHERE tabname = 'c.t3'::regclass; tabname | agecs ---------+------- c.t3 | 0 (1 row) ---------------------------- -- DROP TABLE ---------------------------- RESET SESSION AUTHORIZATION; drop schema c cascade; NOTICE: drop cascades to 3 other objects select count(*) from CDB_TableMetadata; count ------- 0 (1 row) DROP OWNED BY cartodb_postgresql_unpriv_user; DROP ROLE cartodb_postgresql_unpriv_user; DROP FUNCTION _CDB_UserQuotaInBytes();