Do not force re-cartodbfication on CREATE FROM unpackaged
This commit is contained in:
parent
befa7a10c8
commit
9dbe854df7
4
Makefile
4
Makefile
@ -1,7 +1,7 @@
|
||||
# cartodb/Makefile
|
||||
|
||||
EXTENSION = cartodb
|
||||
EXTVERSION = 0.2.0
|
||||
EXTVERSION = 0.2.1dev
|
||||
|
||||
SED = sed
|
||||
|
||||
@ -17,7 +17,7 @@ UPGRADABLE = \
|
||||
unpackaged \
|
||||
0.1.0 \
|
||||
0.1.1 \
|
||||
0.2.0dev \
|
||||
0.2.0 \
|
||||
$(EXTVERSION)next \
|
||||
$(END)
|
||||
|
||||
|
7
NEWS
7
NEWS
@ -1,3 +1,10 @@
|
||||
0.2.1dev - 2014-MM-DD
|
||||
------------------
|
||||
|
||||
Enhancements:
|
||||
|
||||
- Do not force re-cartodbfication on CREATE FROM unpackaged
|
||||
|
||||
0.2.0 - 2014-06-09
|
||||
------------------
|
||||
|
||||
|
@ -4,7 +4,22 @@ ver=$1
|
||||
input=cartodb--${ver}.sql
|
||||
output=cartodb--unpackaged--${ver}.sql
|
||||
|
||||
cat ${input} | grep -v 'duplicated extension$' > ${output}
|
||||
echo "-- Script generated by $0 on `date`" > ${output}
|
||||
|
||||
# Migrate CDB functions from public schema to cartodb schema
|
||||
cat ${input} |
|
||||
grep '^ *CREATE OR REPLACE FUNCTION' |
|
||||
grep -v ' cartodb\.' | # should only match DDL hooks
|
||||
sed 's/).*$/)/' |
|
||||
sed 's/DEFAULT [^ ,)]*//g' |
|
||||
sed 's/CREATE OR REPLACE FUNCTION /ALTER FUNCTION public./' |
|
||||
sed 's/$/ SET SCHEMA cartodb;/' |
|
||||
sed 's/^/DO LANGUAGE plpgsql \$\$ BEGIN /' |
|
||||
sed "s/$/ EXCEPTION WHEN OTHERS THEN RAISE NOTICE 'Got % (%)', SQLERRM, SQLSTATE; END; \$\$;/" |
|
||||
cat >> ${output}
|
||||
|
||||
# Upgrade all functions
|
||||
cat ${input} | grep -v 'duplicated extension$' >> ${output}
|
||||
|
||||
# Migrate CDB_TableMetadata
|
||||
cat >> ${output} <<'EOF'
|
||||
@ -29,32 +44,34 @@ BEGIN
|
||||
DROP FUNCTION public._CDB_UserQuotaInBytes();
|
||||
END;
|
||||
$$ LANGUAGE 'plpgsql';
|
||||
|
||||
-- Cartodbfy tables with a trigger using 'CDB_CheckQuota' or
|
||||
-- 'CDB_TableMetadata_Trigger' from the 'public' schema
|
||||
select cartodb.CDB_CartodbfyTable(relname::regclass) from (
|
||||
-- names of tables using public.CDB_CheckQuota or
|
||||
-- public.CDB_TableMetadata_Trigger in their triggers
|
||||
SELECT distinct c.relname
|
||||
FROM
|
||||
pg_trigger t,
|
||||
pg_class c,
|
||||
pg_proc p,
|
||||
pg_namespace n
|
||||
WHERE
|
||||
n.nspname = 'public' AND
|
||||
p.pronamespace = n.oid AND
|
||||
p.proname IN ( 'cdb_checkquota', 'cdb_tablemetadata_trigger' ) AND
|
||||
t.tgrelid = c.oid AND
|
||||
p.oid = t.tgfoid
|
||||
) as foo;
|
||||
EOF
|
||||
|
||||
# Drop functions from public schema
|
||||
cat ${input} |
|
||||
grep '^ *CREATE OR REPLACE FUNCTION' |
|
||||
grep -v ' cartodb\.' | # should only match DDL hooks
|
||||
sed 's/).*$/);/' |
|
||||
sed 's/DEFAULT [^ ,)]*//g' |
|
||||
sed 's/CREATE OR REPLACE FUNCTION /DROP FUNCTION public./' |
|
||||
cat >> ${output}
|
||||
## Cartodbfy tables with a trigger using 'CDB_CheckQuota' or
|
||||
## 'CDB_TableMetadata_Trigger' from the 'public' schema
|
||||
#cat >> ${output} <<'EOF'
|
||||
#select cartodb.CDB_CartodbfyTable(relname::regclass) from (
|
||||
# -- names of tables using public.CDB_CheckQuota or
|
||||
# -- public.CDB_TableMetadata_Trigger in their triggers
|
||||
# SELECT distinct c.relname
|
||||
# FROM
|
||||
# pg_trigger t,
|
||||
# pg_class c,
|
||||
# pg_proc p,
|
||||
# pg_namespace n
|
||||
# WHERE
|
||||
# n.nspname = 'public' AND
|
||||
# p.pronamespace = n.oid AND
|
||||
# p.proname IN ( 'cdb_checkquota', 'cdb_tablemetadata_trigger' ) AND
|
||||
# t.tgrelid = c.oid AND
|
||||
# p.oid = t.tgfoid
|
||||
#) as foo;
|
||||
#EOF
|
||||
|
||||
## Drop any leftover function from public schema (there should be none)
|
||||
#cat ${input} |
|
||||
# grep '^ *CREATE OR REPLACE FUNCTION' |
|
||||
# grep -v ' cartodb\.' | # should only match DDL hooks
|
||||
# sed 's/).*$/);/' |
|
||||
# sed 's/DEFAULT [^ ,)]*//g' |
|
||||
# sed 's/CREATE OR REPLACE FUNCTION /DROP FUNCTION IF EXISTS public./' |
|
||||
# cat >> ${output}
|
||||
|
Loading…
Reference in New Issue
Block a user