Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hTA4p-0005g5-3A for pgsql-interfaces@arkaria.postgresql.org; Tue, 21 May 2019 19:05:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hTA4m-00055T-8b for pgsql-interfaces@arkaria.postgresql.org; Tue, 21 May 2019 19:05:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hT9nm-00034i-Sk for pgsql-interfaces@lists.postgresql.org; Tue, 21 May 2019 18:47:55 +0000 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hT9nk-0007FD-1X for pgsql-interfaces@lists.postgresql.org; Tue, 21 May 2019 18:47:53 +0000 Received: by mail-wm1-x334.google.com with SMTP id 7so3923212wmo.2 for ; Tue, 21 May 2019 11:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=1DqSETgpyLXkzkElU1F/brYVwOphy6BOW7k+DHOQVvA=; b=h08Undm7MI9/ruAh+0O5eYrq9POh1zCuM6PRkpJjtNqyWxlHen/xyWaYrXB4n+z0kY VdtwkwHu5qxx6hcJLs7xfbRCv/dBywqPz8wVig8mPgKpLRus/PTfxzW6TkxT33QOyS88 TMscFOuT7/neBVQvfHXzpZxfa3RNkHqLE2S/xdmHAdwvPdTcPhfJYZ6YOvhdYUeNiW2x 5b0bXd+z0OYX3oboF13/X2VkKrowCxnDlx7OBKU86290rIRk4M+M7Z8DL3mdPXysEPDs 9FEyG2sCuxw//ZJzibQs0JiNH/ZJ0+sAp20BZu7F2LIyfisTTCM3uhVOVKeHa+3/wUp2 z9OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=1DqSETgpyLXkzkElU1F/brYVwOphy6BOW7k+DHOQVvA=; b=SdtquXK6pGplOdBJzEGrTRuIYkP85je7IVCS7asg8LwjgcwqbClSu+a8/eWWi5z5D7 /K/MG2Mx99jfktFtKFry6xBfqLD/d8h+GybiMKb3QBwCzYND6X584hG+COQ2+v8LjFKG iNncKx6O1v0BW+UN4UGOI35uLpnRNrHRvB/JoB2kbfBOXH4pivx93AF/jIIZFiUI6z7p rgHrxJJ3+dgNeIV5qr790hgPe6bgIwUiit1Bmoiqgw4vsBr60ZuL5NPkhQfMNdjXhefS RMxoC2nNVDdCuuz5fOQk0Og0ltNgnEuC2xq1+NDTvfUoSV6sPHshg9TXvIat35dGs9Wp KRnA== X-Gm-Message-State: APjAAAUr9c1uptXn6NWuKpU25WSGkBuZuXpVVDr9o42y/L0reqy/JQEV 7+A9gC8aiyEPtlOvs9xXzWC1X5NJYllg2JOzKbtQhwPJ X-Google-Smtp-Source: APXvYqw5HpH5DsgeKldYCTwX3z0uC6c+sKMfBAdpCz3Y+4+Rew8eUTmeHHwkqj/Lkj3PlzWnNe16nIFk++ts2/rVroI= X-Received: by 2002:a1c:197:: with SMTP id 145mr4352497wmb.10.1558464470552; Tue, 21 May 2019 11:47:50 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Vanil Mar Date: Tue, 21 May 2019 14:47:41 -0400 Message-ID: Subject: Simulator; only modified postgresql optimizer To: pgsql-interfaces@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000002996d105896a49a3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000002996d105896a49a3 Content-Type: text/plain; charset="UTF-8" Hi, There was a project done over Postgresql 9.1.1 - it is a preference aware query optimizer. It consists of modified parser(which provides the users with an option for additional parser syntax) and modified optimizer(early prunning, additional cost metric). It is generating optimized plan. My task now is to migrate only the modified optimizer and develop it further on 10.4. This means that I will have to input directly a parser tree to the optimizer module and output the new tree generated by the optimizer. How can I efficiently approach such a simulator? I mean, I will need only to provide specific trees to the optimizer module and return results, not to develop a whole new version of postgresql dbms. In general, when I was developing over the whole postgresql it was fine as I can create a db in the regular dbms and then just compile the modified files and start it again over the already created database. Now I am really not sure what should be the right and smart approach. Can you share any advice/information/links/articles, please? > --0000000000002996d105896a49a3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hi,

=C2=A0

There was a proje= ct done over Postgresql 9.1.1 - it is a preference aware query optimizer. I= t consists of modified parser(which provides the users with an option for a= dditional parser syntax) and modified optimizer(early prunning, additional = cost metric). It is generating optimized plan.


=C2=A0My task now is to migrate only= the modified optimizer and develop it further on 10.4. This means that I w= ill have to input directly a parser tree to the optimizer module and output= the new tree generated by the optimizer.=C2=A0


How can I efficiently approach such= a simulator? I mean, I will need only to provide specific trees to the opt= imizer module and return results, not to=C2=A0 develop a whole new version = of postgresql dbms. In general, when I was developing over the whole postgr= esql it was fine as I can create a db in the regular dbms and then just com= pile the modified files and start it again over the already created databas= e. Now I am really not sure what should be the right and smart approach.=C2= =A0

=C2=A0

= Can you share any advice/information/links/articles, please?=C2=A0


--0000000000002996d105896a49a3--