Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches]  [PATCH 0/4] session settings fixes
@ 2020-04-03 17:09 Peter Gulutzan
  2020-04-03 18:11 ` Timur Safin
  2020-04-07 16:32 ` Chris Sosnin
  0 siblings, 2 replies; 13+ messages in thread
From: Peter Gulutzan @ 2020-04-03 17:09 UTC (permalink / raw)
  To: tarantool-patches

Hi,

Re:
SETTING SET "sql_default_engine" = 'memtx';

Adding a new reserved word SETTING, without advance notice,
should be against policy. It causes a slight risk
of breaking an existing application.

I had hoped for
UPDATE _SETTINGS_DEFAULT_ENGINE SET VALUE = 'memtx';
I claim that is just as "user friendly" -- it
adds two words, but it removes quotation marks.
And it does not require that users learn new syntax
because UPDATE ... SET is well known.

Notice that I can already do this -- almost.
This is legal:
CREATE VIEW _SETTINGS_DEFAULT_ENGINE AS
     SELECT "value" AS value
     FROM "_session_settings"
     WHERE "name" = 'sql_default_engine';
The flaw is that views are not updatable.
But I don't regard that as a big problem
because this is not a proposal to make
all views updatable. It only requires:
when you see that exact UPDATE statement,
transform it to box.session._settings:update.
And similarly for sql_defer_foreign_keys etc.

Alternatively, users could create a Lua function
X which updates
_session_settings, vaguely like this
box.schema.func.create('X',
     {language = 'LUA',
      returns = 'string',
      body = [[function ()
box.space._session_settings:update('sql_default_engine', {{'=', 2, 
'memtx'}});
               return 'memtx changed'
               end]],
      is_sandboxed = false,
      exports = {'LUA', 'SQL'},
      is_deterministic = true})
then allow this SQL syntax:
CALL X();
Again, I claim that this is just as "user friendly"
because -- as far as I can tell -- some people think
saving keystrokes is the same as being friendly.
Nikita Pettik explained that issue#4711 is for a shortcut
and that is short.
Eventually we will probably want to support CALL anyway,
and it is already a reserved word.

Thus there are "user-friendly" alternatives that do not
require new proprietary syntax.

Peter Gulutzan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-03 17:09 [Tarantool-patches] [PATCH 0/4] session settings fixes Peter Gulutzan
@ 2020-04-03 18:11 ` Timur Safin
  2020-04-07 16:32 ` Chris Sosnin
  1 sibling, 0 replies; 13+ messages in thread
From: Timur Safin @ 2020-04-03 18:11 UTC (permalink / raw)
  To: 'Peter Gulutzan', tarantool-patches

: From: Peter Gulutzan <pgulutzan@ocelot.ca>
: 
: Re:
: SETTING SET "sql_default_engine" = 'memtx';
: 
: Adding a new reserved word SETTING, without advance notice,
: should be against policy. It causes a slight risk
: of breaking an existing application.
: 
: I had hoped for
: UPDATE _SETTINGS_DEFAULT_ENGINE SET VALUE = 'memtx';


: I claim that is just as "user friendly" -- it
: adds two words, but it removes quotation marks.
: And it does not require that users learn new syntax
: because UPDATE ... SET is well known.

Yes, I like this way `UPDATE config SET VALUE = value` - 
it's looking very natural for SQL, without any unnecessary 
extension of a language whatsoever.

Timur

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-03 17:09 [Tarantool-patches] [PATCH 0/4] session settings fixes Peter Gulutzan
  2020-04-03 18:11 ` Timur Safin
@ 2020-04-07 16:32 ` Chris Sosnin
  2020-04-08  9:40   ` Timur Safin
  2020-04-08 14:36   ` Peter Gulutzan
  1 sibling, 2 replies; 13+ messages in thread
From: Chris Sosnin @ 2020-04-07 16:32 UTC (permalink / raw)
  To: Peter Gulutzan; +Cc: tarantool-patches

Hi!

> On 3 Apr 2020, at 20:09, Peter Gulutzan <pgulutzan@ocelot.ca> wrote:
> 
> Hi,
> 
> Re:
> SETTING SET "sql_default_engine" = 'memtx';
> 
> Adding a new reserved word SETTING, without advance notice,
> should be against policy. It causes a slight risk
> of breaking an existing application.
> 
> I had hoped for
> UPDATE _SETTINGS_DEFAULT_ENGINE SET VALUE = 'memtx';

Implementing this syntax would either require creating a table for each setting
or adding new keywords, since this is the same as updating tables.

Moreover, SET VALUE construction also is not supported, so we still need
to reserve a new word.

We can borrow another MySQL syntax — SET SESSION name = value
What do you think about this option?

> I claim that is just as "user friendly" -- it
> adds two words, but it removes quotation marks.
> And it does not require that users learn new syntax
> because UPDATE ... SET is well known.
> 
> Notice that I can already do this -- almost.
> This is legal:
> CREATE VIEW _SETTINGS_DEFAULT_ENGINE AS
>     SELECT "value" AS value
>     FROM "_session_settings"
>     WHERE "name" = 'sql_default_engine';
> The flaw is that views are not updatable.
> But I don't regard that as a big problem
> because this is not a proposal to make
> all views updatable. It only requires:
> when you see that exact UPDATE statement,
> transform it to box.session._settings:update.
> And similarly for sql_defer_foreign_keys etc.
> 
> Alternatively, users could create a Lua function
> X which updates
> _session_settings, vaguely like this
> box.schema.func.create('X',
>     {language = 'LUA',
>      returns = 'string',
>      body = [[function ()
> box.space._session_settings:update('sql_default_engine', {{'=', 2, 'memtx'}});
>               return 'memtx changed'
>               end]],
>      is_sandboxed = false,
>      exports = {'LUA', 'SQL'},
>      is_deterministic = true})
> then allow this SQL syntax:
> CALL X();
> Again, I claim that this is just as "user friendly"
> because -- as far as I can tell -- some people think
> saving keystrokes is the same as being friendly.
> Nikita Pettik explained that issue#4711 is for a shortcut
> and that is short.
> Eventually we will probably want to support CALL anyway,
> and it is already a reserved word.
> 
> Thus there are "user-friendly" alternatives that do not
> require new proprietary syntax.
> 
> Peter Gulutzan
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-07 16:32 ` Chris Sosnin
@ 2020-04-08  9:40   ` Timur Safin
  2020-04-08 15:03     ` Peter Gulutzan
  2020-04-08 14:36   ` Peter Gulutzan
  1 sibling, 1 reply; 13+ messages in thread
From: Timur Safin @ 2020-04-08  9:40 UTC (permalink / raw)
  To: 'Chris Sosnin', 'Peter Gulutzan'; +Cc: tarantool-patches



: -----Original Message-----
: From: Tarantool-patches <tarantool-patches-bounces@dev.tarantool.org> On
: Behalf Of Chris Sosnin
: 
: > On 3 Apr 2020, at 20:09, Peter Gulutzan <pgulutzan@ocelot.ca> wrote:
: >
: > Hi,
: >
: > Re:
: > SETTING SET "sql_default_engine" = 'memtx';
: >
: > Adding a new reserved word SETTING, without advance notice,
: > should be against policy. It causes a slight risk
: > of breaking an existing application.
: >
: > I had hoped for
: > UPDATE _SETTINGS_DEFAULT_ENGINE SET VALUE = 'memtx';
: 
: Implementing this syntax would either require creating a table for each
: setting
: or adding new keywords, since this is the same as updating tables.
: 
: Moreover, SET VALUE construction also is not supported, so we still need
: to reserve a new word.
: 
: We can borrow another MySQL syntax — SET SESSION name = value
: What do you think about this option?
: 

Peter, after multiple rounds of discussions here (one incompatible way against another incompatible way) we tend to prefer the simpler syntax

    SET SESSION sqlconfigname = value

because it's quite simpler, looks similar to MySQL way (though still is not part of standard), and would require less intrusive patch to parser. Introducing all configuration settins as separate system spaces (via hardcoding in the engine) looked to us slightly more intrusive (while still being not as much closer to the standard way).

Minuses against minuses on both sides. 

What do you think, Peter?

Thanks,
Timur

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-07 16:32 ` Chris Sosnin
  2020-04-08  9:40   ` Timur Safin
@ 2020-04-08 14:36   ` Peter Gulutzan
  1 sibling, 0 replies; 13+ messages in thread
From: Peter Gulutzan @ 2020-04-08 14:36 UTC (permalink / raw)
  To: Chris Sosnin; +Cc: tarantool-patches

Hi,

On 2020-04-07 10:32 a.m., Chris Sosnin wrote:
 > Hi!
 >
 >> On 3 Apr 2020, at 20:09, Peter Gulutzan <pgulutzan@ocelot.ca> wrote:
 >>
 >> Hi,
 >>
 >> Re:
 >> SETTING SET "sql_default_engine" = 'memtx';
 >>
 >> Adding a new reserved word SETTING, without advance notice,
 >> should be against policy. It causes a slight risk
 >> of breaking an existing application.
 >>
 >> I had hoped for
 >> UPDATE _SETTINGS_DEFAULT_ENGINE SET VALUE = 'memtx';
 >
 > Implementing this syntax would either require creating a table for 
each setting
 > or adding new keywords, since this is the same as updating tables.
 >

It would definitely require creating a (viewed) table for each setting.
That is why I said "And similarly for sql_defer_foreign_keys etc."

 > Moreover, SET VALUE construction also is not supported, so we still need
 > to reserve a new word.
 >

As I pointed out in my earlier email, I can say
UPDATE _settings_default_engine SET value = 'memtx';
now, in a current Tarantool version, without a parser error.
If _settings_default_engine is not a view, it works fine.
So I didn't see why there is a need to reserve VALUE.

(Digression: That does not mean I like using VALUE for a
column name. I objected about it in an earlier email.
But I did not propose a better name, and now it is too late.)

 > We can borrow another MySQL syntax — SET SESSION name = value
 > What do you think about this option?

In MySQL, SESSION is not a reserved word.
Let us go back to my original complaint.
CREATE TABLE setting (setting INTEGER PRIMARY KEY);
That statement is legal in Tarantool-2.4.
That statement is illegal in branch ksosnin/gh-4712-session-settings-v2.
If you say SET SESSION instead of SETTING SET,
is there still a need to add a new reserved word without notice?

(Digression: Currently, every word that can be the start of a statement
is reserved. Also, a few words that might in future be the start of a
statement are reserved -- ANALYZE, BEGIN, CALL, DECLARE, END, FETCH, FOR,
GRANT, IF, ITERATE, LEAVE, LOOP, RENAME, REPEAT, RESIGNAL, REVOKE, SET,
SIGNAL. I believe that is a good thing. I do not believe that
SETTING should be unreserved if it is the start of a statement.)

Peter Gulutzan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-08  9:40   ` Timur Safin
@ 2020-04-08 15:03     ` Peter Gulutzan
  0 siblings, 0 replies; 13+ messages in thread
From: Peter Gulutzan @ 2020-04-08 15:03 UTC (permalink / raw)
  To: Timur Safin, 'Chris Sosnin'; +Cc: tarantool-patches


On 2020-04-08 3:40 a.m., Timur Safin wrote:
<cut>
 > Peter, after multiple rounds of discussions here (one incompatible 
way against another incompatible way) we tend to prefer the simpler syntax
 >
 >     SET SESSION sqlconfigname = value
 >
 > because it's quite simpler, looks similar to MySQL way (though still 
is not part of standard), and would require less intrusive patch to 
parser. Introducing all configuration settins as separate system spaces 
(via hardcoding in the engine) looked to us slightly more intrusive 
(while still being not as much closer to the standard way).
 >
 > Minuses against minuses on both sides.
 >
 > What do you think, Peter?

My main objection to SETTING SET was that it
might cause an existing legal statement to become illegal.
I have asked C. Sosnin whether SET SESSION solves that.

My other objection was about proprietary syntax.
SET SESSION is not extremely different from standard SQL
SET SESSION CHARACTERISTICS (which I realize is too long),
and proprietary syntax is less bad if another vendor
does it. Incidentally MySQL handles this correctly:
CREATE PROCEDURE p()
BEGIN
   DECLARE session INTEGER;
   SET session = 5;
END;
Eventually, when Tarantool supports declared variables,
I hope everyone will remember that should be legal.

Thank you for considering alternative suggestions.
Please proceed with what you all regard as least intrusive.

Peter Gulutzan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-03-30  9:13 Chris Sosnin
  2020-04-02  9:14 ` Timur Safin
  2020-04-03 13:09 ` Nikita Pettik
@ 2020-04-13 14:18 ` Kirill Yukhin
  2 siblings, 0 replies; 13+ messages in thread
From: Kirill Yukhin @ 2020-04-13 14:18 UTC (permalink / raw)
  To: Chris Sosnin; +Cc: v.shpilevoy, tarantool-patches

Hello,

On 30 Mar 12:13, Chris Sosnin wrote:
> issue #1:https://github.com/tarantool/tarantool/issues/4711
> issue #2:https://github.com/tarantool/tarantool/issues/4712
> branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-session-settings-v2
> 
> Chris Sosnin (4):
>   box: replace session_settings modules with a single array
>   box: add binary search for _session_settings space
>   box: provide a user friendly frontend for accessing session settings
>   sql: provide a user friendly frontend for accessing session settings
> 
>  extra/mkkeywordhash.c                         |   1 +
>  src/box/lua/session.c                         | 111 +++++++++
>  src/box/session.cc                            |   1 +
>  src/box/session.h                             |   2 +
>  src/box/session_settings.c                    | 214 +++++++++++-------
>  src/box/session_settings.h                    |  53 +++--
>  src/box/sql.c                                 |   5 -
>  src/box/sql/build.c                           | 104 ++++-----
>  src/box/sql/parse.y                           |   5 +
>  src/box/sql/sqlInt.h                          |  11 +
>  src/box/sql/vdbe.c                            |  50 ++++
>  ...rontend.result => session_settings.result} | 147 ++++++++++--
>  ...end.test.lua => session_settings.test.lua} |  61 ++++-
>  13 files changed, 589 insertions(+), 176 deletions(-)
>  rename test/box/{gh-4511-access-settings-from-any-frontend.result => session_settings.result} (71%)
>  rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua => session_settings.test.lua} (64%)

I've checked 1, 3 and 4 patches into master.

--
Regards, Kirill Yukhin

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-03 13:09 ` Nikita Pettik
@ 2020-04-03 14:02   ` Chris Sosnin
  0 siblings, 0 replies; 13+ messages in thread
From: Chris Sosnin @ 2020-04-03 14:02 UTC (permalink / raw)
  To: Nikita Pettik; +Cc: tarantool-patches

It was v2, Vlad asked me to resend the whole patchset for 
convenience. Won’t forget to do this next time.

> On 3 Apr 2020, at 16:09, Nikita Pettik <korablev@tarantool.org> wrote:
> 
> On 30 Mar 12:13, Chris Sosnin wrote:
>> issue #1:https://github.com/tarantool/tarantool/issues/4711
>> issue #2:https://github.com/tarantool/tarantool/issues/4712
>> branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-session-settings-v2
> 
> Nit: while sending next version of patch-set please specify it
> explicitly with --subject-prefix='PATCH v2' and attach changelog
> between versions. For example: https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/015103.html
> 
>> Chris Sosnin (4):
>>  box: replace session_settings modules with a single array
>>  box: add binary search for _session_settings space
>>  box: provide a user friendly frontend for accessing session settings
>>  sql: provide a user friendly frontend for accessing session settings
>> 
>> extra/mkkeywordhash.c                         |   1 +
>> src/box/lua/session.c                         | 111 +++++++++
>> src/box/session.cc                            |   1 +
>> src/box/session.h                             |   2 +
>> src/box/session_settings.c                    | 214 +++++++++++-------
>> src/box/session_settings.h                    |  53 +++--
>> src/box/sql.c                                 |   5 -
>> src/box/sql/build.c                           | 104 ++++-----
>> src/box/sql/parse.y                           |   5 +
>> src/box/sql/sqlInt.h                          |  11 +
>> src/box/sql/vdbe.c                            |  50 ++++
>> ...rontend.result => session_settings.result} | 147 ++++++++++--
>> ...end.test.lua => session_settings.test.lua} |  61 ++++-
>> 13 files changed, 589 insertions(+), 176 deletions(-)
>> rename test/box/{gh-4511-access-settings-from-any-frontend.result => session_settings.result} (71%)
>> rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua => session_settings.test.lua} (64%)
>> 
>> -- 
>> 2.21.1 (Apple Git-122.3)
>> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-03-30  9:13 Chris Sosnin
  2020-04-02  9:14 ` Timur Safin
@ 2020-04-03 13:09 ` Nikita Pettik
  2020-04-03 14:02   ` Chris Sosnin
  2020-04-13 14:18 ` Kirill Yukhin
  2 siblings, 1 reply; 13+ messages in thread
From: Nikita Pettik @ 2020-04-03 13:09 UTC (permalink / raw)
  To: Chris Sosnin; +Cc: tarantool-patches, v.shpilevoy

On 30 Mar 12:13, Chris Sosnin wrote:
> issue #1:https://github.com/tarantool/tarantool/issues/4711
> issue #2:https://github.com/tarantool/tarantool/issues/4712
> branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-session-settings-v2

Nit: while sending next version of patch-set please specify it
explicitly with --subject-prefix='PATCH v2' and attach changelog
between versions. For example: https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/015103.html
 
> Chris Sosnin (4):
>   box: replace session_settings modules with a single array
>   box: add binary search for _session_settings space
>   box: provide a user friendly frontend for accessing session settings
>   sql: provide a user friendly frontend for accessing session settings
> 
>  extra/mkkeywordhash.c                         |   1 +
>  src/box/lua/session.c                         | 111 +++++++++
>  src/box/session.cc                            |   1 +
>  src/box/session.h                             |   2 +
>  src/box/session_settings.c                    | 214 +++++++++++-------
>  src/box/session_settings.h                    |  53 +++--
>  src/box/sql.c                                 |   5 -
>  src/box/sql/build.c                           | 104 ++++-----
>  src/box/sql/parse.y                           |   5 +
>  src/box/sql/sqlInt.h                          |  11 +
>  src/box/sql/vdbe.c                            |  50 ++++
>  ...rontend.result => session_settings.result} | 147 ++++++++++--
>  ...end.test.lua => session_settings.test.lua} |  61 ++++-
>  13 files changed, 589 insertions(+), 176 deletions(-)
>  rename test/box/{gh-4511-access-settings-from-any-frontend.result => session_settings.result} (71%)
>  rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua => session_settings.test.lua} (64%)
> 
> -- 
> 2.21.1 (Apple Git-122.3)
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-02  9:14 ` Timur Safin
  2020-04-02 10:18   ` Chris Sosnin
@ 2020-04-03 12:47   ` Nikita Pettik
  1 sibling, 0 replies; 13+ messages in thread
From: Nikita Pettik @ 2020-04-03 12:47 UTC (permalink / raw)
  To: Timur Safin; +Cc: tarantool-patches, v.shpilevoy

On 02 Apr 12:14, Timur Safin wrote:
> I'm late here on this party, but I very much dislike proposed syntax of

Patch is not merged, so it's still okay to suggest changes.

> 	SETTING SET configuration_name = value;
> 
> It feels not SQL-ish, and I see no much value introducing new statement 
> while there is still SET statement available. 

SET is not available as a separated statements; it's only a part
of UPDATE statements syntax. Rolling it back (SETTING SET -> SET)
is not a big deal - only one line of parse.y requires patching.

As I already said, I'm okay with all variations, whether it is
SET, SET SETTING or SETTING SET.
 
> Why we could not simply use something like:
> 	SET box.session.settings.name = value;

box.session.settings -- too long prefix. Originally, SET was
suggested as a shortcat for normal UPDATE "_session_settings" ...
SQL statement. Since it is shortcat, let's keep it short.

> ?
> 
> Thanks,
> Timur
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-04-02  9:14 ` Timur Safin
@ 2020-04-02 10:18   ` Chris Sosnin
  2020-04-03 12:47   ` Nikita Pettik
  1 sibling, 0 replies; 13+ messages in thread
From: Chris Sosnin @ 2020-04-02 10:18 UTC (permalink / raw)
  To: Timur Safin; +Cc: tarantool-patches



> On 2 Apr 2020, at 12:14, Timur Safin <tsafin@tarantool.org> wrote:
> 
> I'm late here on this party, but I very much dislike proposed syntax of
> 
> 	SETTING SET configuration_name = value;
> 
> It feels not SQL-ish, and I see no much value introducing new statement 
> while there is still SET statement available. 
> 
> Why we could not simply use something like:
> 	SET box.session.settings.name = value;
> ?
> 
> Thanks,
> Timur

It was SET <setting_name> = <new_value> in the first version.

However, we agreed on this syntax being too generic for configuring
session settings, so I added SETTING keyword.

> 
> 
> : -----Original Message-----
> : From: Tarantool-patches <tarantool-patches-bounces@dev.tarantool.org> On
> : Behalf Of Chris Sosnin
> : Sent: Monday, March 30, 2020 12:14 PM
> : To: v.shpilevoy@tarantool.org; korablev@tarantool.org; tarantool-
> : patches@dev.tarantool.org
> : Subject: [Tarantool-patches] [PATCH 0/4] session settings fixes
> : 
> : issue #1:https://github.com/tarantool/tarantool/issues/4711
> : issue #2:https://github.com/tarantool/tarantool/issues/4712
> : branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-
> : session-settings-v2
> : 
> : Chris Sosnin (4):
> :   box: replace session_settings modules with a single array
> :   box: add binary search for _session_settings space
> :   box: provide a user friendly frontend for accessing session settings
> :   sql: provide a user friendly frontend for accessing session settings
> : 
> :  extra/mkkeywordhash.c                         |   1 +
> :  src/box/lua/session.c                         | 111 +++++++++
> :  src/box/session.cc                            |   1 +
> :  src/box/session.h                             |   2 +
> :  src/box/session_settings.c                    | 214 +++++++++++-------
> :  src/box/session_settings.h                    |  53 +++--
> :  src/box/sql.c                                 |   5 -
> :  src/box/sql/build.c                           | 104 ++++-----
> :  src/box/sql/parse.y                           |   5 +
> :  src/box/sql/sqlInt.h                          |  11 +
> :  src/box/sql/vdbe.c                            |  50 ++++
> :  ...rontend.result => session_settings.result} | 147 ++++++++++--
> :  ...end.test.lua => session_settings.test.lua} |  61 ++++-
> :  13 files changed, 589 insertions(+), 176 deletions(-)
> :  rename test/box/{gh-4511-access-settings-from-any-frontend.result =>
> : session_settings.result} (71%)
> :  rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua =>
> : session_settings.test.lua} (64%)
> : 
> : --
> : 2.21.1 (Apple Git-122.3)
> 
> 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Tarantool-patches] [PATCH 0/4] session settings fixes
  2020-03-30  9:13 Chris Sosnin
@ 2020-04-02  9:14 ` Timur Safin
  2020-04-02 10:18   ` Chris Sosnin
  2020-04-03 12:47   ` Nikita Pettik
  2020-04-03 13:09 ` Nikita Pettik
  2020-04-13 14:18 ` Kirill Yukhin
  2 siblings, 2 replies; 13+ messages in thread
From: Timur Safin @ 2020-04-02  9:14 UTC (permalink / raw)
  To: 'Chris Sosnin',
	v.shpilevoy, korablev, tarantool-patches, Kirill Yukhin

I'm late here on this party, but I very much dislike proposed syntax of

	SETTING SET configuration_name = value;

It feels not SQL-ish, and I see no much value introducing new statement 
while there is still SET statement available. 

Why we could not simply use something like:
	SET box.session.settings.name = value;
?

Thanks,
Timur


: -----Original Message-----
: From: Tarantool-patches <tarantool-patches-bounces@dev.tarantool.org> On
: Behalf Of Chris Sosnin
: Sent: Monday, March 30, 2020 12:14 PM
: To: v.shpilevoy@tarantool.org; korablev@tarantool.org; tarantool-
: patches@dev.tarantool.org
: Subject: [Tarantool-patches] [PATCH 0/4] session settings fixes
: 
: issue #1:https://github.com/tarantool/tarantool/issues/4711
: issue #2:https://github.com/tarantool/tarantool/issues/4712
: branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-
: session-settings-v2
: 
: Chris Sosnin (4):
:   box: replace session_settings modules with a single array
:   box: add binary search for _session_settings space
:   box: provide a user friendly frontend for accessing session settings
:   sql: provide a user friendly frontend for accessing session settings
: 
:  extra/mkkeywordhash.c                         |   1 +
:  src/box/lua/session.c                         | 111 +++++++++
:  src/box/session.cc                            |   1 +
:  src/box/session.h                             |   2 +
:  src/box/session_settings.c                    | 214 +++++++++++-------
:  src/box/session_settings.h                    |  53 +++--
:  src/box/sql.c                                 |   5 -
:  src/box/sql/build.c                           | 104 ++++-----
:  src/box/sql/parse.y                           |   5 +
:  src/box/sql/sqlInt.h                          |  11 +
:  src/box/sql/vdbe.c                            |  50 ++++
:  ...rontend.result => session_settings.result} | 147 ++++++++++--
:  ...end.test.lua => session_settings.test.lua} |  61 ++++-
:  13 files changed, 589 insertions(+), 176 deletions(-)
:  rename test/box/{gh-4511-access-settings-from-any-frontend.result =>
: session_settings.result} (71%)
:  rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua =>
: session_settings.test.lua} (64%)
: 
: --
: 2.21.1 (Apple Git-122.3)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Tarantool-patches] [PATCH 0/4] session settings fixes
@ 2020-03-30  9:13 Chris Sosnin
  2020-04-02  9:14 ` Timur Safin
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Chris Sosnin @ 2020-03-30  9:13 UTC (permalink / raw)
  To: v.shpilevoy, korablev, tarantool-patches

issue #1:https://github.com/tarantool/tarantool/issues/4711
issue #2:https://github.com/tarantool/tarantool/issues/4712
branch:https://github.com/tarantool/tarantool/tree/ksosnin/gh-4712-session-settings-v2

Chris Sosnin (4):
  box: replace session_settings modules with a single array
  box: add binary search for _session_settings space
  box: provide a user friendly frontend for accessing session settings
  sql: provide a user friendly frontend for accessing session settings

 extra/mkkeywordhash.c                         |   1 +
 src/box/lua/session.c                         | 111 +++++++++
 src/box/session.cc                            |   1 +
 src/box/session.h                             |   2 +
 src/box/session_settings.c                    | 214 +++++++++++-------
 src/box/session_settings.h                    |  53 +++--
 src/box/sql.c                                 |   5 -
 src/box/sql/build.c                           | 104 ++++-----
 src/box/sql/parse.y                           |   5 +
 src/box/sql/sqlInt.h                          |  11 +
 src/box/sql/vdbe.c                            |  50 ++++
 ...rontend.result => session_settings.result} | 147 ++++++++++--
 ...end.test.lua => session_settings.test.lua} |  61 ++++-
 13 files changed, 589 insertions(+), 176 deletions(-)
 rename test/box/{gh-4511-access-settings-from-any-frontend.result => session_settings.result} (71%)
 rename test/box/{gh-4511-access-settings-from-any-frontend.test.lua => session_settings.test.lua} (64%)

-- 
2.21.1 (Apple Git-122.3)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-04-13 14:18 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-03 17:09 [Tarantool-patches] [PATCH 0/4] session settings fixes Peter Gulutzan
2020-04-03 18:11 ` Timur Safin
2020-04-07 16:32 ` Chris Sosnin
2020-04-08  9:40   ` Timur Safin
2020-04-08 15:03     ` Peter Gulutzan
2020-04-08 14:36   ` Peter Gulutzan
  -- strict thread matches above, loose matches on Subject: below --
2020-03-30  9:13 Chris Sosnin
2020-04-02  9:14 ` Timur Safin
2020-04-02 10:18   ` Chris Sosnin
2020-04-03 12:47   ` Nikita Pettik
2020-04-03 13:09 ` Nikita Pettik
2020-04-03 14:02   ` Chris Sosnin
2020-04-13 14:18 ` Kirill Yukhin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox