List plpythonu requirement first, so get pg_catalog scanned before public

Since "plpythonu" is installed in "pg_catalog" schema, requiring it
from cartodb.control adds the "pg_catalog" to the search_path.
Schemas are added to search_path in order of appearence in the "requires"
directive of the cartodb.contorl, right after the name of schema
written in the "schema" directive.

So this commit changes the resulting search_path from:

 cartodb,schema_triggers,public,pg_catalog

To:

 cartodb,pg_catalog,schema_triggers,public

Preventing presence of objects in the "public" schema from changing
interpretation of function signatures and body from this extension.

Spotted in the real world in presence of a "date" table changing
intepretation of CDB_StringToDate function.
This commit is contained in:
Sandro Santilli 2014-06-11 16:27:11 +02:00
parent 81bbfcbda8
commit afcc2498c8
2 changed files with 2 additions and 1 deletions

1
NEWS
View File

@ -5,6 +5,7 @@ Enhancements:
- Do not force re-cartodbfication on CREATE FROM unpackaged
- Drop useless DEFAULT specification in plpgsql variable declarations
- List plpythonu requirement first, so get pg_catalog scanned before public
0.2.0 - 2014-06-09
------------------

View File

@ -3,4 +3,4 @@ comment = 'Turn a database into a cartodb user database.'
superuser = true
relocatable = false
schema = cartodb
requires = 'schema_triggers, postgis, plpythonu'
requires = 'plpythonu, schema_triggers, postgis'