diff --git a/src/box/sql/pragma.c b/src/box/sql/pragma.c index 5bf24ef50b1852289dfa37c22719c0f414656abf..2ca76090298bce8a45ac1d482c09a839b81dcfb6 100644 --- a/src/box/sql/pragma.c +++ b/src/box/sql/pragma.c @@ -503,7 +503,7 @@ sqlPragma(Parse * pParse, Token * pId, /* First part of [schema.]id field */ case PragTyp_COLLATION_LIST:{ int i = 0; - struct space *space = space_by_name("_collation"); + struct space *space = space_by_name("_vcollation"); char key_buf[16]; /* 16 is enough to encode 0 len array */ char *key_end = key_buf; key_end = mp_encode_array(key_end, 0); diff --git a/test/sql/collation.result b/test/sql/collation.result index 11962ef472f79c28fbe7b9e90db1708d6af5611b..7f70d04b9712eb3054cd3bc892922f50e046b872 100644 --- a/test/sql/collation.result +++ b/test/sql/collation.result @@ -352,11 +352,13 @@ box.schema.user.create('tmp') box.session.su('tmp') --- ... --- Error: read access to space is denied. -box.execute("pragma collation_list") +-- gh-4713 "PRAGMA collation_list" is not accessible to all users +_, err = box.execute('pragma collation_list') --- -- null -- Read access to space '_collation' is denied for user 'tmp' +... +assert(err == nil) +--- +- true ... box.session.su('admin') --- diff --git a/test/sql/collation.test.lua b/test/sql/collation.test.lua index 1be28b3ff24492925c4f5e5f3ac49e63c960c4bf..ac6aa3dcb5da7a17b4385eca59987d59cdb56f33 100644 --- a/test/sql/collation.test.lua +++ b/test/sql/collation.test.lua @@ -98,8 +98,9 @@ box.schema.user.revoke('guest', 'read,write,execute', 'universe') -- gh-3857 "PRAGMA collation_list" invokes segmentation fault. box.schema.user.create('tmp') box.session.su('tmp') --- Error: read access to space is denied. -box.execute("pragma collation_list") +-- gh-4713 "PRAGMA collation_list" is not accessible to all users +_, err = box.execute('pragma collation_list') +assert(err == nil) box.session.su('admin') box.schema.user.drop('tmp')