Re: [HACKERS] proposal: schema variables
От | Hannu Krosing |
---|---|
Тема | Re: [HACKERS] proposal: schema variables |
Дата | |
Msg-id | CAHDDfCnOQqSy5VzHHe0iiRrAdQYFq2GXzwY8GpLGMUQ5dYxYCw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] proposal: schema variables (Chris Travers <chris.travers@adjust.com>) |
Список | pgsql-hackers |
but you can always do
if you are worried about the evaluation order
with a (id, value) as (
values (1, 'foo'), (2, 'bar'), (3, 'baz')
)
select set_config('custom.value',(select value from a where id = 2),true);
On 29 October 2017 at 09:51, Chris Travers <chris.travers@adjust.com> wrote:
On Sat, Oct 28, 2017 at 4:56 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:The creating database objects and necessary infrastructure is the most simple task of this project. I'll be more happy if there are zero intersection because variables and GUC are designed for different purposes. But due SET keyword the intersection there is.When I thinking about it, I have only one, but important reason, why I prefer design new type of database object -the GUC are stack based with different default granularity - global, database, user, session, function. This can be unwanted behave for variables - it can be source of hard to detected bugs. I afraid so this behave can be too messy for usage as variables.@1 I have not clean opinion about it - not sure if rights are good enough - probably some user limits can be more practical - but can be hard to choose result when some user limits and GUC will be againstI was mostly thinking that users can probably set things like work_mem and possibly this might be a problem.@2 With variables typed custom GUC are not necessaryI don't know about that. For example with the geoip2lookup extension it is nice that you could set the preferred language for translation on a per user basis or the mmdb path on a per-db basis.@3 Why you need it? It is possible with set_config function now.Yeah you could do it safely with set_config and a CTE, but suppose I have:with a (Id, value) as (values (1::Int, 'foo'), (2, 'bar'), (3, 'baz'))SELECT set_config('custom_val', value) from a where id = 2;What is the result out of this? I would *expect* that this would probably run set_config 3 times and filter the output.RegardsPavelregardsPavel--Best Regards,Chris TraversDatabase Administrator--Best Regards,Chris TraversDatabase Administrator
В списке pgsql-hackers по дате отправления: