From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id BA77542F040 for ; Thu, 17 Oct 2019 10:44:09 +0300 (MSK) Received: by mail-lf1-f67.google.com with SMTP id w67so1065093lff.4 for ; Thu, 17 Oct 2019 00:44:09 -0700 (PDT) Date: Thu, 17 Oct 2019 10:44:07 +0300 From: Konstantin Osipov Message-ID: <20191017074407.GE17235@atlas> References: <0b6320a6c921f66f0f602fcf048ea07d99167669.1571068485.git.kshcherbatov@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0b6320a6c921f66f0f602fcf048ea07d99167669.1571068485.git.kshcherbatov@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH v1 9/9] schema: rework _trigger system space List-Id: Tarantool development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kirill Shcherbatov Cc: tarantool-patches@freelists.org, tarantool-patches@dev.tarantool.org * Kirill Shcherbatov [19/10/14 19:07]: > This patch reworks a _trigger system space to make it > useful not only for sql triggers definitions. > > The format of the updated system space is > > _trigger (space id = 328) > [ STRING, UINT32, MAP, STR, > STR, STR, > STR, STR] > > After insertion into this space, a new instance describing trigger > object is created using language-dependent constructor. > > This volumerous refactoring is an initial step for further > introduction of persistent triggers in Lua. I agree with the implementation approach, given that we want persistent Lua triggers, which we hardly do (but we do want SQL triggers to be fired on NoSQL events, otherwise PeterG rightfully would claim that Tarantool SQL violates relational tenets by Codd). I think you should extract this part into an own series and split it up - it's the most critical piece of the change. BTW, I thought of another reason to do triggers in Lua and SQL in a single space: this is how we dealt with persistent functions, and it worked well. When we talk about backends in Tarantool, we should not forget about C backend, and whatever other language it allows to bridge with. -- Konstantin Osipov, Moscow, Russia