|
|
|
@ -343,6 +343,40 @@ function test_cdb_tablemetadatatouch_fails_from_user_without_permission() {
|
|
|
|
|
sql postgres "REVOKE ALL ON CDB_TableMetadata FROM cdb_testmember_1;"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function test_cdb_column_names() {
|
|
|
|
|
sql cdb_testmember_1 'CREATE TABLE cdb_testmember_1.table_cnames(c int, a int, r int, t int, o int);'
|
|
|
|
|
sql cdb_testmember_2 'CREATE TABLE cdb_testmember_2.table_cnames(d int, b int);'
|
|
|
|
|
|
|
|
|
|
sql cdb_testmember_1 "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('table_cnames') c) as s" should "carto"
|
|
|
|
|
sql cdb_testmember_2 "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('table_cnames') c) as s" should "db"
|
|
|
|
|
|
|
|
|
|
sql postgres "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('cdb_testmember_1.table_cnames'::regclass) c) as s" should "carto"
|
|
|
|
|
sql postgres "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('cdb_testmember_2.table_cnames') c) as s" should "db"
|
|
|
|
|
|
|
|
|
|
# Using schema from owner
|
|
|
|
|
sql cdb_testmember_1 "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('cdb_testmember_1.table_cnames') c) as s" should "carto"
|
|
|
|
|
|
|
|
|
|
## it's not possible to get column names from a table where you don't have permissions
|
|
|
|
|
sql cdb_testmember_2 "SELECT string_agg(c,'') from (SELECT cartodb.CDB_ColumnNames('cdb_testmember_1.table_cnames') c) as s" fails
|
|
|
|
|
|
|
|
|
|
sql cdb_testmember_1 'DROP TABLE cdb_testmember_1.table_cnames'
|
|
|
|
|
sql cdb_testmember_2 'DROP TABLE cdb_testmember_2.table_cnames'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function test_cdb_column_type() {
|
|
|
|
|
sql cdb_testmember_1 'CREATE TABLE cdb_testmember_1.table_ctype(c int, a int, r int, t int, o int);'
|
|
|
|
|
sql cdb_testmember_2 'CREATE TABLE cdb_testmember_2.table_ctype(c text, a text, r text, t text, o text);'
|
|
|
|
|
|
|
|
|
|
sql cdb_testmember_1 "SELECT cartodb.CDB_ColumnType('table_ctype', 'c')" should "integer"
|
|
|
|
|
sql cdb_testmember_2 "SELECT cartodb.CDB_ColumnType('table_ctype', 'c')" should "text"
|
|
|
|
|
|
|
|
|
|
sql postgres "SELECT cartodb.CDB_ColumnType('cdb_testmember_1.table_ctype', 'c')" should "integer"
|
|
|
|
|
sql postgres "SELECT cartodb.CDB_ColumnType('cdb_testmember_2.table_ctype', 'c')" should "text"
|
|
|
|
|
|
|
|
|
|
sql cdb_testmember_1 'DROP TABLE cdb_testmember_1.table_ctype'
|
|
|
|
|
sql cdb_testmember_2 'DROP TABLE cdb_testmember_2.table_ctype'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function test_cdb_querytables_schema_and_table_names_with_dots() {
|
|
|
|
|
${CMD} -d ${DATABASE} -f scripts-available/CDB_QueryStatements.sql
|
|
|
|
|
${CMD} -d ${DATABASE} -f scripts-available/CDB_QueryTables.sql
|
|
|
|
|