| 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: | Whole Thread | Raw Message | 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 |