Tarantool development patches archive
 help / color / mirror / Atom feed
From: Konstantin Osipov <kostja.osipov@gmail.com>
To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH 4/5] sql: replace control pragmas by SET
Date: Thu, 28 Nov 2019 15:31:20 +0300	[thread overview]
Message-ID: <20191128123120.GB29714@atlas> (raw)
In-Reply-To: <73e0d8e6-3bd3-3807-732a-32dfe5790466@tarantool.org>

* Vladislav Shpilevoy <v.shpilevoy@tarantool.org> [19/11/28 10:29]:
> > 3) If we move sysview out of the problem, where should we move it.
> 
> To /dev/null. Together with all the other SQL.

Wow, wow, easy please ;)

It's always a question of tradeoffs, price/performance, etc.

Even as it is now SQL is quite useful for BETWEEN, IN,
open-bounded predicate + small limit queries. Someone will need to
prepare a benchmark, of course, but eventually it will happen.

There are a few remaining issues out there to make it more broadly
useful, safe foreign keys, information_schema views and remaining
issues with strong typing are high on my list.

But here, the price/value ratio is ... high.

Much faster and easier to replace keyword PRAGMA if someone
doesn't like it with keyword SET, and be done with it. 

Besides, Mergen has prepared some cool SQL refactoring patches like 
removing some pragmas altogether which
need to be looked at - they are bringing value regardless of
whether there is consensus on the syntax for SQL settings.

One must also admit there is some compose-ability value of SELECT
over SET <value>; SELECT is usable in a join or a view.

But you can easily work this around by lua('') generic built-in
function, you can do lua('box.sql.exeucte("set <value")')

BTW, this lua() function is very neat - it is a good enough
workaround for
anything-you-want-to-have-in-sql-but-have-no-native-keyword-for.

-- 
Konstantin Osipov, Moscow, Russia

  reply	other threads:[~2019-11-28 12:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-27 10:13 [Tarantool-patches] [PATCH 0/5] Introduce SQL SET statement imeevma
2019-11-27 10:13 ` [Tarantool-patches] [PATCH 1/5] sql: remove PRAGMA "count_changes" imeevma
2019-11-27 10:13 ` [Tarantool-patches] [PATCH 2/5] sql: remove PRAGMA "short_column_names" imeevma
2019-11-27 10:13 ` [Tarantool-patches] [PATCH 3/5] temporary: disable boolean.test.sql imeevma
2019-11-27 10:13 ` [Tarantool-patches] [PATCH 4/5] sql: replace control pragmas by SET imeevma
2019-11-27 10:45   ` Mergen Imeev
2019-11-27 10:51   ` Konstantin Osipov
2019-11-27 11:05     ` Mergen Imeev
2019-11-27 11:10       ` Konstantin Osipov
2019-11-27 11:24         ` Mergen Imeev
2019-11-27 11:39           ` Konstantin Osipov
2019-11-27 12:21             ` Mergen Imeev
2019-11-27 12:49               ` Konstantin Osipov
2019-11-27 13:01                 ` Mergen Imeev
2019-11-27 14:03                   ` Nikita Pettik
2019-11-27 21:50                     ` Konstantin Osipov
2019-11-27 23:22                   ` Vladislav Shpilevoy
2019-11-28 12:31                     ` Konstantin Osipov [this message]
2019-11-28 14:01                       ` Nikita Pettik
2019-11-28 15:52                         ` Konstantin Osipov
2019-11-27 23:18       ` Vladislav Shpilevoy
2019-11-27 10:13 ` [Tarantool-patches] [PATCH 5/5] sql: refactor PRAGMA-related code imeevma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191128123120.GB29714@atlas \
    --to=kostja.osipov@gmail.com \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH 4/5] sql: replace control pragmas by SET' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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