From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru> |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] proposal: schema variables |
Date: | 2018-03-21 05:24:16 |
Message-ID: | CAFj8pRBStff3KBB3m005D8+mQc=3tFATB+D_ND9g_mARdO=aXA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
2018-03-20 18:38 GMT+01:00 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
> Hi
>
> I am sending new update. The code is less ugly, and the current
> functionality is +/- final for first stage. It should be good enough for
> playing and testing this concept.
>
> What is supported:
>
> 1. scalar, composite and array variables
> 2. composite can be defined on place or some composite type can be used
> 3. variable, or any field of variable, can have defined default value
> 4. variable is database object - the access rights are required
> 5. the values are stored in binary form with defined typmod
>
> An usage is very simple:
>
> postgres=# create variable foo as numeric default 0;
> CREATE VARIABLE
> postgres=# select foo;
> ┌─────┐
> │ foo │
> ╞═════╡
> │ 0 │
> └─────┘
> (1 row)
>
> postgres=# let foo = pi();
> LET
> postgres=# select foo;
> ┌──────────────────┐
> │ foo │
> ╞══════════════════╡
> │ 3.14159265358979 │
> └──────────────────┘
> (1 row)
>
> postgres=# create variable boo as (x numeric default 0, y numeric default
> 0);
> CREATE VARIABLE
> postgres=# let boo.x = 100;
> LET
> postgres=# select boo;
> ┌─────────┐
> │ boo │
> ╞═════════╡
> │ (100,0) │
> └─────────┘
> (1 row)
>
> postgres=# select boo.x;
> ┌─────┐
> │ x │
> ╞═════╡
> │ 100 │
> └─────┘
> (1 row)
>
> Please try it.
>
small fix - support for SQL functions
>
> Regards
>
> Pavel
>
Attachment | Content-Type | Size |
---|---|---|
schema-variables-poc-180321-01-diff | application/octet-stream | 174.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-03-21 05:40:23 | Re: pg_get_functiondef forgets about most GUC_LIST_INPUT GUCs |
Previous Message | Michael Paquier | 2018-03-21 05:01:03 | Re: pg_get_functiondef forgets about most GUC_LIST_INPUT GUCs |
From | Date | Subject | |
---|---|---|---|
Next Message | Gary Cowell | 2018-03-21 12:03:17 | badly scaling performance with appending to bytea |
Previous Message | Pavel Stehule | 2018-03-20 17:38:47 | Re: [HACKERS] proposal: schema variables |