Juan Ignacio Sánchez Lara
e4a56371c0
_CDB_Group_AddMember_API
2015-08-17 15:05:09 +02:00
Juan Ignacio Sánchez Lara
00e9cc5a79
Explicit null check for not found role
2015-08-17 15:02:21 +02:00
Juan Ignacio Sánchez Lara
566adfb0ce
CDB_Group_RenameGroup_API
2015-08-17 13:37:34 +02:00
Juan Ignacio Sánchez Lara
99641b827c
Authorization type moved to function
2015-08-17 12:55:42 +02:00
Juan Ignacio Sánchez Lara
df531e9e37
auth inside param reading
2015-08-17 12:26:38 +02:00
Juan Ignacio Sánchez Lara
6c3555f21a
Configuration parameters refactor
2015-08-17 11:49:31 +02:00
Raul Ochoa
50169e58d5
Raise better notice on _CDB_total_relation_size errors
2015-08-17 10:25:31 +02:00
Raul Ochoa
6bc91c7125
Using exception with pg_total_relation_size for better performance
...
IF EXISTS is too slow, one order of magnitude, than using exception
handling. In combination with thousands of tables to check total
relation size that's a problem.
Exception handles specifically undefined_table as it was the original
issue but also any other exception to guarantee a size is always
returned and no error is raised.
2015-08-17 10:17:07 +02:00
Rafa de la Torre
47d8429277
Use return value from cartodbfy
2015-08-14 17:41:55 +02:00
Rafa de la Torre
565edcb50d
Make cartodbfy return destoid
2015-08-14 16:53:43 +02:00
Juan Ignacio Sánchez Lara
a08600a1f8
Exclude cartodb schema from CDB_UserTables
2015-08-14 16:31:19 +02:00
Rafa de la Torre
b7b5be1f3f
Add minor piece of doc
2015-08-14 16:10:38 +02:00
Juan Ignacio Sánchez Lara
e11f4ef169
Group name validation delegated to role creation
2015-08-14 15:40:36 +02:00
Juan Ignacio Sánchez Lara
db89bf1a94
Grant select on configuration table to org members
2015-08-14 15:28:19 +02:00
Juan Ignacio Sánchez Lara
466e4d81c6
format instead of string concatenation
2015-08-14 15:22:00 +02:00
Juan Ignacio Sánchez Lara
ae634e7814
Server notification must happen after role creation
2015-08-14 15:04:14 +02:00
Juan Ignacio Sánchez Lara
d1f19a0234
Groups API configuration example
2015-08-14 14:03:53 +02:00
Juan Ignacio Sánchez Lara
d4bcb97f9b
CDB_CONF and create and drop group api calls
2015-08-14 14:00:58 +02:00
Juan Ignacio Sánchez Lara
a0aac4e9c9
Info about if not exist log output
2015-08-14 14:00:58 +02:00
Juan Ignacio Sánchez Lara
725453ce2b
Configuration table and functions
2015-08-14 14:00:58 +02:00
Juan Ignacio Sánchez Lara
7262d34b06
IMMUTABLE-STABLE-VOLATILE specification
2015-08-14 14:00:58 +02:00
Juan Ignacio Sánchez Lara
3ee4978240
Roles simplification, without md5 and prepending database name
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
79e1926766
Group management done by organization admin
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
e2dd1e014e
test_valid_group_names and test_not_valid_group_names
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
bd46796bb7
Fix spacing
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
154f6df1dc
_CDB_Group_GroupRole based on current database m5
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
9a3fbb668c
Dynamic variable binding
2015-08-14 14:00:57 +02:00
Juan Ignacio Sánchez Lara
52f73b1a01
CDB_Group_Table_GrantReadWrite
2015-08-14 14:00:26 +02:00
Juan Ignacio Sánchez Lara
28af048c92
Methods doc
2015-08-14 14:00:26 +02:00
Juan Ignacio Sánchez Lara
1279742e50
CDB_Group_CreateGroup should not return role, since it's an internal implementation detail
2015-08-14 14:00:26 +02:00
Juan Ignacio Sánchez Lara
b633466724
Non-public API method naming
2015-08-14 14:00:26 +02:00
Juan Ignacio Sánchez Lara
e04f0caa6c
Permission granting
2015-08-14 14:00:25 +02:00
Juan Ignacio Sánchez Lara
5afdd77dcf
Rename group
2015-08-14 14:00:25 +02:00
Juan Ignacio Sánchez Lara
42e72ac9d5
cartodb.CDB_Group_CreateGroup cartodb.CDB_Group_DropGroup
2015-08-14 13:58:10 +02:00
Rafa de la Torre
72ebc398f8
Recover _CDB_check_prerequisites (sorry, my fault)
2015-08-14 12:30:01 +02:00
Paul Ramsey
7f55a0263b
Fix regclass mismatch on column alter/drop
...
This logic SHOULD BE MOVED TO Cartodbfy internals.
2015-08-13 16:10:23 -07:00
Paul Ramsey
d268cd07cb
Fix many tests and handle ownership issues involved
...
with Cartodbfy being invoked by schema triggers. Some
issues with regclass interpretation in tests still remain.
Some issues with slightly different behavior to old version
remain. Some issues with error messages / notification messages
changing a little still remain.
2015-08-13 15:59:45 -07:00
Raul Ochoa
4e31d3a37e
Fixes CDB_UserDataSize failing due ERROR: relation "*" does not exist.
...
Adds new _CDB_total_relation_size function that handles nonexistent
tables and does fallback to size=0.
That function could be used to cache total relation size or query another
table view with a cached total relation size.
Fixes #108
2015-08-13 13:23:35 +02:00
Rafa de la Torre
a5321ec7a5
Replace CDB_CartodbfyTable by new CartodbfyTable2
...
- Delete old CDB_CartodbfyTable code
- Delete auxiliary functions no longer used
- Modify the new CDB_CartodbfyTable signature to be backwards
compatible.
2015-08-12 18:39:07 +02:00
Rafa de la Torre
c00d607ee2
Merge pull request #107 from CartoDB/new_cartodbfy_rtorre
...
Do not create timestamp columns/triggers on cartodbfy
2015-08-12 18:34:33 +02:00
Rafa de la Torre
8c41203db6
Fix for the_geom does not exist
...
When creating triggers, expectation is to have the columns the_geom and
the_geom_webmercator even if the source table does not have any geometry
columns. Populate it in the rewrite with NULL values and right types.
2015-08-12 17:34:47 +02:00
Rafa de la Torre
d6afdf751f
Do not create timestamp columns/triggers on cartodbfy
2015-08-11 19:07:01 +02:00
Paul Ramsey
1a1f45cdad
Add raster table calls, like the old function has
2015-08-11 05:40:31 -07:00
Paul Ramsey
b195aa4b68
Enable trigger addition routine
2015-08-10 08:42:13 -07:00
javi
df36e83cb5
revoke permissions to list private tables to public user
2015-07-27 10:31:55 +02:00
Paul Ramsey
734561de4c
Use 'publicuser' as public role, not 'public', closes #95 .
...
This is consistent with cartodb behaviour, but not exactly
the same as the contract that the 'public' role guarantees
access to public resources. Possibly a better fix would be
to audit (ug) everything and make sure that it's really
using the public role to mean public, rather than the
'publicuser' connection role. That CDB creates.
2015-07-07 05:49:28 -07:00
Rafa de la Torre
a6fd829669
Fix for upgrade issue from 0.7.4 to 0.8.0
...
This fixes the following problem found during testing:
```
ALTER EXTENSION cartodb UPDATE TO '0.8.0';
ERROR: cannot change return type of existing function
HINT: Use DROP FUNCTION cdb_usertables(text) first.
```
2015-06-30 12:20:29 +02:00
Raul Ochoa
8190edb461
Merge pull request #83 from CartoDB/64-usertables
...
Replace CDB_UserTables with something that can handle multi-user accounts
2015-06-30 11:33:32 +02:00
Andy Eschbacher
e5897f3dad
Merge pull request #87 from CartoDB/categ-distrib
...
Function deciding criteria for using a category column in a map
2015-06-25 11:50:56 -04:00
Andy Eschbacher
b9fe204007
Merge pull request #81 from CartoDB/equalint
...
adding equal interval function for consistency
2015-06-25 11:08:24 -04:00
Andy Eschbacher
13946b4d47
update test output
2015-06-25 08:17:41 -04:00
Andy Eschbacher
97140b17c9
added more flexible output values
2015-06-24 11:03:16 -04:00
Rafa de la Torre
ddb6b2c5b5
Return text instead of regclass #86
...
This way the schema is always returned and backwards compatibility is
kept, should it be needed.
2015-06-24 14:14:00 +02:00
Rafa de la Torre
9a94b3879a
Add a new function CDB_QueryTablesRegclass #86
...
The return values of it can be safely used when len(schema.table_name)
exceeds the 63 char limit of the postgres type `name`.
2015-06-24 11:53:09 +02:00
Andy Eschbacher
d124776c4e
simplified assignment
2015-06-23 18:49:59 -04:00
Andy Eschbacher
5941b473ca
removed notice
2015-06-23 18:39:15 -04:00
Andy Eschbacher
cda6953ea6
initial commit
2015-06-23 16:27:27 -04:00
Andy Eschbacher
1d223b77cc
changed subfunction name, replaced function with case statement
2015-06-10 10:50:01 -04:00
Andy Eschbacher
6ab1b1d3d0
removed unneeded variables
2015-06-08 18:36:07 -04:00
Andy Eschbacher
c7f4209270
added alias and line
2015-06-08 15:11:58 -04:00
Andy Eschbacher
8e2d86414f
updating function
2015-06-08 15:02:39 -04:00
Andy Eschbacher
424564e324
initial commit
2015-06-08 13:37:27 -04:00
Paul Ramsey
54973142f6
Handle "unsupported argument" case for CDB_UserTables
...
in support of #64
2015-06-01 10:37:46 -07:00
Paul Ramsey
ba521461fe
Replace CDB_UserTables with new version
...
fix for #64
2015-06-01 09:47:02 -07:00
Andy Eschbacher
16d0dc739a
added tests improved func
2015-05-14 15:32:58 -04:00
Andy Eschbacher
dcd35fc3d7
Merge branch 'master' into equalint
2015-05-07 17:07:34 -04:00
Andy Eschbacher
2ad3ff547d
initial
2015-05-07 15:49:35 -04:00
Andy Eschbacher
1552c03dd4
removed group by; made binning more reliable
2015-04-27 17:59:40 -04:00
Paul Ramsey
0899c64d0b
Break routine into two halves
2015-04-22 13:25:11 -07:00
Paul Ramsey
c1bfef25e0
Fix no-op case error
2015-04-22 13:06:34 -07:00
Paul Ramsey
dd209d02f6
Use standard error message format
2015-04-22 12:51:36 -07:00
Paul Ramsey
614a446cba
Document functions a bit more
2015-04-22 09:29:23 -07:00
Paul Ramsey
8dc7f45cca
Re-use columns named 'cartodb_id' if the values of the
...
keys are in fact unique.
2015-04-22 06:33:49 -07:00
Paul Ramsey
74b7740892
Fix bug with missing non-geo columns in case where
...
geo columns are "perfect" to start w/.
2015-04-21 12:59:44 -07:00
Paul Ramsey
bb685795d5
Handle geometry column with no metadata SRID (grrr) but
...
a valid SRID on the geometry objects themselves
2015-04-21 06:58:33 -07:00
Paul Ramsey
14414c4bf3
Fix Rambo's test case, of a single geometry-only table
...
with no SRID in the metadata (thanks mate).
2015-04-21 06:25:35 -07:00
Paul Ramsey
f3c20ac2fb
First draft of new cartodbfy function (named CDB_CartodbfyTable2)
...
Still needs to be fully tested (partially tested now) using
the existing regression tests. Does not manage the timestamp
columns at this time.
2015-04-17 17:53:07 +02:00
sariogonfer
cbd3c447b6
Update CDB_QuantileBins.sql
2015-04-14 20:45:37 +02:00
Rafa de la Torre
1c9e5f241f
Fix upgrade of CDB_StringToDate function #73
2015-03-03 16:09:57 +00:00
Rafa de la Torre
61804187c8
Fix conversion of strings to datetimes #73
2015-03-03 09:49:33 +00:00
Kartones
0a3d08edc3
#revert-size_calc
2015-02-27 10:53:14 +01:00
Raul Ochoa
ebcca141bd
Adds CDB_ZoomFromScale function. Closes #62
2015-02-19 14:20:35 +01:00
Raul Ochoa
da7b3b7080
Adds CDB_TableMetadataTouch function to be able to upsert updated_at
...
value in cdb_tablemetadata
2015-02-18 17:08:46 +01:00
Raul Ochoa
38fe98d983
Merge branch 'master' into remove-grant-select-from-cdb_tablemetadata-to-public
2015-02-18 15:43:16 +01:00
Kartones
6c7706672f
#69 now using pg_relation_size
2015-02-17 15:40:26 +01:00
javi
519ea075d6
fixed reg exp
2015-02-13 17:32:14 +01:00
javi
0223d00a54
fixed security problem
2015-02-12 10:57:12 +01:00
Raul Ochoa
3cf62ecd2e
Do not grant select permission to public user
...
- Fake the behaviour in tests by switching between users
2015-02-10 15:27:42 +01:00
Rafa de la Torre
693b147ef1
Fix corner case (no tables) in CDB_UserDataSize #65
2015-01-29 15:46:08 +00:00
Rafa de la Torre
a4e42571cd
Add a comment to CDB_UserDataSize (from PR) #65
2015-01-28 17:10:04 +00:00
Rafa de la Torre
bf622ae5a6
Optimize CDB_UserDataSize (on behalf of @javisantana) #65
2015-01-28 16:54:50 +00:00
Kartones
dbb6f42b99
#1368 fixed escapings
2014-12-05 17:30:47 +01:00
Kartones
cd9e44b266
#1138 Fixed DDL triggers to properly use new cartodbfy signature, fixed cartodbfy to properly send params to check raster table
2014-11-19 10:00:04 +01:00
Kartones
fd9d79372f
#1138 Found issue with DDL triggers
2014-11-18 19:00:33 +01:00
Kartones
61b47617b8
#1138 fixes for specs
2014-11-18 17:35:11 +01:00
Kartones
3b5c1f65cb
#1138 Quota changes, raster import cartodbfication and quota spec
2014-11-18 15:24:54 +01:00
Kartones
b7c2336ae0
#1138 not counting raster overviews for quota
2014-11-14 10:34:18 +01:00
Kartones
f251e12d35
CDB-4418
2014-10-21 16:19:44 +02:00
javi
723a08e814
added CDB_Math_mode
2014-08-19 18:09:27 +02:00
Kartones
6c57640901
CDB-3870 replaced priority of qmax inside checkquota
2014-08-11 15:26:13 +02:00
Raul Ochoa
5bb638b995
Merge pull request #45 from CartoDB/CDB-3743
...
CDB_QueryTables returns only results for schemas associated to Relation-Names
2014-08-01 18:14:53 +02:00
Raul Ochoa
2637742c2e
CDB-3743 Makes CDB_QueryTables to return only results for schemas associated to Relation-Names
2014-08-01 18:06:06 +02:00
Kartones
679af1d4a3
CDB-3497 Finished stabilizing specs
2014-07-28 17:53:19 +02:00
Kartones
6d665ab163
CDB-3497 ongoing spec stabilization
2014-07-28 15:16:19 +02:00
Kartones
e5c8015e17
CDB-3497 Splitted
2014-07-28 13:11:51 +02:00
Kartones
f61d07518d
CDB-3497 ongoing splitting
2014-07-28 12:25:42 +02:00
Kartones
b5589fdf09
CDB-3497
2014-07-25 12:19:40 +02:00
Kartones
9500010a67
CDB-3497 Partial splitting
2014-07-25 10:52:46 +02:00
Raul Ochoa
2bd0b223a6
CDB_SetUserQuotaInBytes returning set value instead of previous value.
2014-07-07 10:36:51 +02:00
Raul Ochoa
5806ac8f8d
Force schema so it can calculate the size of the database with the proper schema
2014-07-04 18:50:46 +02:00
Kartones
1c86599f9d
CDB-3094 Discovered that EXECUTE FORMAT seems to quote schema names when it needs to
2014-07-04 16:39:19 +02:00
Kartones
3c5251e6c6
CDB-3303 Cartodbfication also supporting optional schemas
2014-07-04 15:55:08 +02:00
Kartones
3d595976f6
CDB-3302 CDB_CheckQuota now also accepts a schema name. Added a convenience method to check if a schema is valid or not
2014-07-04 11:48:53 +02:00
Kartones
021d922d84
CDB-3304 Method cdb_userdatasize now has schema_name param, and added backwards-compatible version without it
2014-07-04 10:57:55 +02:00
Luis Bosque
82f2e7336b
Quoted schema references in organization sql
2014-07-03 15:33:36 +02:00
Raul Ochoa
558be8b693
CDB-3094 DELETE permission for read-write rule
2014-06-27 00:01:25 +01:00
Raul Ochoa
b98419aeb8
Merge remote-tracking branch 'rambo/cdb_querytables_support_schemas' into CDB-3094
2014-06-26 08:12:41 +02:00
javi
da9b9a640f
CDB_QueryTables return tables with schema
2014-06-25 19:38:29 +02:00
Raul Ochoa
55efde5039
CDB-3094 Makes organization member group role name unique to database by using the database name md5 hash
2014-06-25 12:38:14 +02:00
Raul Ochoa
12e90ef6a4
CDB-3094 Adds cdb_org_member role group and functions to handle access to tables through it
2014-06-24 19:56:17 +02:00
Raul Ochoa
625b01ed56
CDB-3094 Removes for now the role groups management as it is not clear if we need them
2014-06-19 20:16:10 +02:00
Raul Ochoa
5e5471c474
CDB-3094 changes signature to allow specifying the schema because it does not have to be the role name.
...
- fixes tests to match new signature.
- does not revoke access to the schema when revoking access to a table. TODO
2014-06-19 20:16:10 +02:00
Raul Ochoa
8dec91de87
Merge branch 'master' of https://github.com/CartoDB/cartodb-postgresql into CDB-3094
2014-06-16 18:56:34 +02:00
Raul Ochoa
9a55b03d6f
CDB-3094 initial function to share tables/schemas between users within the same database
2014-06-16 16:10:53 +02:00
Sandro Santilli
bc0966c46e
Do not add unique index on cartodb_id if already a primary key
...
Closes #38
2014-06-11 19:21:19 +02:00
Sandro Santilli
81bbfcbda8
Drop useless DEFAULT specification in plpgsql variable declarations
2014-06-11 11:25:25 +02:00
Sandro Santilli
f75c256b6e
Another full qualification of CDB_TransformToWebmercator in CDB_CartodbfyTable
2014-06-06 18:09:41 +02:00
Sandro Santilli
d52556c20e
Fully qualify call to CDB_TransformToWebmercator from CDB_CartodbfyTable
2014-06-06 17:28:43 +02:00
Sandro Santilli
f8180123eb
Grant permission to run table-info functions to public
...
This is needed as a way to migrate from versions < 0.2.0
See #36
2014-06-06 11:36:19 +02:00
Sandro Santilli
01ae7b8c10
Drop role management
...
Roles are not created anymore, previously private functions for table
information extraction (CDB_UserTables, CDB_TableIndexes, CDB_ColumnNames,
CDB_ColumnType) will now be callable by anyone while only returning
information about tables over which the calling user has SELECT privilege.
Closes #36
2014-06-06 11:02:51 +02:00
Sandro Santilli
f9f73d2d62
Fix potential infinite loop in CDB_QueryStatements
...
This fix was already present at one point in cartodb/lib/sql
(where the code was copied from) but in a different branch than
the one the code was initially copied from.
The fix depends on plpython language which becomes a new dependency.
2014-06-05 15:00:57 +02:00
Sandro Santilli
a92d7d7d37
Add cdb_extension_reload() utility function
2014-06-04 10:31:03 +02:00
Sandro Santilli
ce20009fb2
Workaround PostgreSQL bug possibly triggering infinite loops
...
Implements casting of existing system column values during
cartodbfication using ALTER rather than UPDATE.
It's faster for tables with many rows and works around a
longstanding PostgreSQL bug. See
http://www.postgresql.org/message-id/20140530143150.GA11051@localhost
CDB-3059
2014-05-30 19:24:19 +02:00
Sandro Santilli
cc9cbdb7a7
Typo
2014-05-30 18:35:08 +02:00
Sandro Santilli
ac53d6b000
Formatting only change
2014-05-30 12:22:54 +02:00
Sandro Santilli
f5ad0d0434
Fully qualify call to CDB_UserDataSize from quota trigger
2014-05-28 17:42:11 +02:00
Sandro Santilli
bfd56f0ea6
Fully qualify call to cdb_disable_ddl_hooks from cdb_enable_ddl_hooks
2014-05-28 12:53:22 +02:00
Sandro Santilli
004c3c5543
Ensure cartodb_id uses an associated sequence
...
Closes #33
2014-05-28 10:45:42 +02:00
Sandro Santilli
2601364011
Fix recursive DDL trigger on create table
...
Closes #32
2014-05-28 09:02:02 +02:00
Sandro Santilli
09cf368d62
Move DDL triggers and extension postamble under scripts-available
...
Target 0.2.0
2014-05-23 17:40:14 +02:00
Sandro Santilli
348177d23a
Fix cartodbfication of already-cartodbfied tables in presence of views
...
Closes #30
Includes testcase
2014-05-23 16:54:36 +02:00
Sandro Santilli
102e8bd018
Improve error message on failing CDB_CartodbfyTable
2014-05-23 16:04:54 +02:00
Sandro Santilli
967b7abec0
Try to retain existing cartodb_id values
...
Also reset sequence when original cartodb_id values correctly
cast to integers, and does not keep a backup in that case.
Closes #27
2014-05-22 14:11:09 +02:00
Sandro Santilli
134d2d29b6
Try to cast TEXT typed updated_at and created_at if present
...
If the cast fails we'll still rename those fields and create
new ones. See #27 (cartodb_id is still not done)
2014-05-22 13:10:42 +02:00
Sandro Santilli
0082138503
Do not force DROP FUNCTION but rely on CREATE OR REPLACE
...
We'll bet on no old signature being left around.
Presence of an old signature would break at runtime
with a message like:
ERROR: function CDB_UserTables() is not unique
Closes #25
2014-05-20 16:39:18 +02:00
Sandro Santilli
2f0031e6a2
Do not call CDB_Invalidate_Varnish() if not owned by a superuser
...
Search for that function in schemas cartodb and public (in that order).
Closes #24
2014-05-14 19:03:20 +02:00
Sandro Santilli
8d6188e282
Have _CDB_UserQuotaInBytes() take precedence over parameter-based quota
...
Closes #16
2014-05-12 13:37:47 +02:00
Sandro Santilli
f98071cdac
Do not allow cartodbfying tables while no user quota is set
...
Closes #17
Updates tests
2014-05-12 13:27:44 +02:00
Sandro Santilli
cfd8dbc5a4
Test calls to CDB_Invalidate_Varnish
...
Also drops the DELETE trigger on CDB_TableMetadata as the call to
CDB_Invalidate_Varnish would then get an OID, which is pretty useless.
Closes #8
2014-05-09 17:34:18 +02:00
Sandro Santilli
b69ded8f66
Let CDB_CheckQuota second parameter override configured user quota
...
Closes #13
Includes automated test
2014-05-09 12:55:41 +02:00