From: "Bulat Niatshin" <niatshin@tarantool.org> To: tarantool-patches@freelists.org, "Nikita Pettik" <korablev@tarantool.org> Subject: [tarantool-patches] Re: [tarantool-patches] Re: [PATCH] sql: remove unnecessary MakeRecord opcodes Date: Fri, 13 Apr 2018 14:35:35 +0300 [thread overview] Message-ID: <1523619335.646146636@f507.i.mail.ru> (raw) In-Reply-To: <BDC06EE5-214F-4A7B-8ED5-B8D10C5AD6E5@tarantool.org> Branch: https://github.com/tarantool/tarantool/tree/bn/gh-3317-remove-makerecord Issue: https://github.com/tarantool/tarantool/issues/3317 >Среда, 11 апреля 2018, 22:32 +03:00 от n.pettik <korablev@tarantool.org>: > >Hello. Only minor remark concerning commit message. >Rephrase it little bit, please. Lets mention, that you are saying about >bytecode which is generated to process constraint checks. > >> On 4 Apr 2018, at 15:38, Bulat Niatshin < niatshin@tarantool.org > wrote: >> >> OP_MakeRecord creates a record from a given range of registers >> and stores that record in a specified register. > >This is obvious and can be dropped. Done, see new commit message below. > >> But now even >> secondary indexes with non-default ON CONFLICT clause doesn't >> need it, > >Good place to explain why. Done, new commit message with a clearer explanation: OP_MakeRecord in INSERT/UPDATE query is required for making insertion into Tarantool and for checking constraints with ON CONFLICT clause. There was one OP_MakeRecord for each constraint with ON CONFLICT, and each constraint was checked by VDBE. But now some constraints with error actions like ABORT can be handled by Tarantool facilities (without emitting bytecode) and therefore MakeRecord for that index would be unnecessary if it is not a primary key index (in that case MakeRecord is also needed for OP_IdxInsert). This patch contains a fix, which removes unnecessary MakeRecord opcodes from INSERT/UPDATE VDBE listings.
next prev parent reply other threads:[~2018-04-13 11:35 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-04 12:38 [tarantool-patches] " Bulat Niatshin 2018-04-04 12:42 ` [tarantool-patches] " Bulat Niatshin 2018-04-11 19:32 ` [tarantool-patches] " n.pettik 2018-04-13 11:35 ` Bulat Niatshin [this message] 2018-04-22 11:20 ` n.pettik 2018-04-26 6:52 ` Kirill Yukhin
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=1523619335.646146636@f507.i.mail.ru \ --to=niatshin@tarantool.org \ --cc=korablev@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='[tarantool-patches] Re: [tarantool-patches] Re: [PATCH] sql: remove unnecessary MakeRecord opcodes' \ /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