Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qQngG-0011C4-Sl for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Aug 2023 11:36:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qQngE-005yub-Lx for pgsql-hackers@arkaria.postgresql.org; Tue, 01 Aug 2023 11:36:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qQngE-005yuT-CI for pgsql-hackers@lists.postgresql.org; Tue, 01 Aug 2023 11:36:47 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qQng8-000BkF-L7 for pgsql-hackers@lists.postgresql.org; Tue, 01 Aug 2023 11:36:47 +0000 Received: by mail-pl1-x644.google.com with SMTP id d9443c01a7336-1bbb7c3d0f5so8556835ad.1 for ; Tue, 01 Aug 2023 04:36:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690889798; x=1691494598; h=content-transfer-encoding:mime-version:subject:message-id:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=YzbwOv7616ENJIksCztxCIhOGNnJ+iyFfGU2w5dbHWA=; b=RLXQboOTZxRByyOYG2ND7JUzpT0DxUdI4ZbvmpJXFqWKJSUKIydmkBtv9VJNw96xX3 DKs54qXfgLPal7gLuI+oXQAItFDQg+iQ3yV6Rip4E7+O5w5N5iacVwqZ/tEmTeRTIpe4 fe/+Nutfb6QLxGgGhn6Y7p2vzf0/ZwQd7hy50Jhd7GKLn8thzk/fHS9wjELQgsuVeCOv sNlCneSNKpXhRJgyg8z5ltnvOEvGNiXKIdyYjBKWXd8a8aTm8DBSsBMPxnHoBsOlvmUE IfqHeReERrI8HdO3eXBQgw9IuQSJ1f6WwfprUcgtDzJN/QaIXhwhD9hlzsd6529xI9FE 2Wnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690889798; x=1691494598; h=content-transfer-encoding:mime-version:subject:message-id:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YzbwOv7616ENJIksCztxCIhOGNnJ+iyFfGU2w5dbHWA=; b=L9eMV/nkzl1EzGN/U+RaEgh/f/NfE46RaDsHqnkqFvNpisPAx5n7S1oMF8jC73S34t c3nCbjsR8iRHY7PVUmmNn/5rmZM8DdLIPUzPrL5eHs8CtDpCAExCg8e1BgWx7AK9oYA1 CRZIZPKijcsPXLJCGilLBKK9s9j0Oz2+9jeOs2BUCv52HNoXY4/Os2JkVe9y7UjmunRp jpwPpngtF2opA1qaDPbexTsrzby97nIoUWcD/Xbe7fhzpSalc+aQedrTMVrdisRdBoPh 4/CnK4nK4zE28N88mJUrv/CYHe8sYi4BIPmeF+AvC5WEz4AwNGEuNK5VybSsLznVkSZw cWIg== X-Gm-Message-State: ABy/qLYCcoWuQkqGBKq4TJg7uALO+uDPVgkGG2sU/4tr+YclBV7eHWI9 YdhlHCBrOypFyNvmJl3/4F+ywGxd3uK6/7+JOxc= X-Google-Smtp-Source: APBJJlHVLJhWCGe9w+Qo+Pu+4ukwFLyMf2DnkqzwN5kLwhRH3TTqkOKqjtKGA6j2jgOCICxtF5BkdA== X-Received: by 2002:a17:903:22c6:b0:1b8:2ba0:c9a8 with SMTP id y6-20020a17090322c600b001b82ba0c9a8mr12123289plg.2.1690889798284; Tue, 01 Aug 2023 04:36:38 -0700 (PDT) Received: from tandeMacBook-Pro.local ([103.129.252.61]) by smtp.gmail.com with ESMTPSA id jj6-20020a170903048600b001bba7aab826sm10286240plb.163.2023.08.01.04.36.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Aug 2023 04:36:37 -0700 (PDT) Date: Tue, 1 Aug 2023 19:36:36 +0800 From: jacktby To: pgsql-hackers Message-ID: Subject: How to build a new grammer for pg? X-Mailer: MailMasterMac/4.17.16.1327 (13.4.1) X-CUSTOM-MAIL-MASTER-SENT-ID: 89A5D920-30F3-4C01-8C64-14D0EAAC8345 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk PGh0bWw+DQo8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRl bnQ9J3RleHQvaHRtbDsgY2hhcnNldD1VVEYtOCc+DQo8L2hlYWQ+DQo8Ym9keT4NCjxzdHlsZT4N CiAgICBmb250ew0KICAgICAgICBsaW5lLWhlaWdodDogMS42Ow0KICAgIH0NCiAgICB1bCxvbHsN CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9u OiBpbnNpZGU7DQogICAgfQ0KPC9zdHlsZT4NCjxkaXYgc3R5bGUgPSAnZm9udC1mYW1pbHk6SGVs dmV0aWNhLEhlbHZldGljYSzlvq7ova/pm4Xpu5EsIOWui+S9kzsgbGluZS1oZWlnaHQ6MS42Oyc+ DQogICAgPGRpdiA+PC9kaXY+PGRpdj4KICAgIDxkaXY+CiAgICAgICAgPHNwYW4+CiAgICAgICAg ICAgIDxicj4KICAgICAgICA8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXY+CiAgICAgICAgPHNw YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEhlbHZldGljYSwg5b6u6L2v6ZuF6buR LCDlrovkvZM7Ij5IaSwgSeKAmW0gdHJ5aW5nIHRvIGRldmVsb3AgYSBuZXcgZ3JhbW1hciBmb3Ig cGcsIGNhbiB5b3UgZ2l2ZSBtZSBhIGNvZGUgZXhhbXBsZSB0byByZWZlcmVuY2U/PC9zcGFuPjxz cGFuPgogICAgICAgICAgICA8YnI+CiAgICAgICAgPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2 IGlkPSJudGVzLXBjbWFjLXNpZ25hdHVyZSIgc3R5bGU9ImZvbnQtZmFtaWx5OidIZWx2ZXRpY2En LCdNaWNyb3NvZnQgWWFoZWknLCAn5b6u6L2v6ZuF6buRJyI+CiAgICAgIAogICAgPGRpdiBzdHls ZT0iZm9udC1zaXplOjE0cHg7IHBhZGRpbmc6IDA7ICBtYXJnaW46MDtsaW5lLWhlaWdodDogMTRw eDsiPgogICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmctYm90dG9tOjZweDttYXJnaW4tYm90dG9t OjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ij4KICAgICAgICAgICAgICAgICAgICA8YSBocmVm PSJodHRwczovL2Rhc2hpLjE2My5jb20vcHJvamVjdHMvc2lnbmF0dXJlLW1hbmFnZXIvZGV0YWls L2luZGV4Lmh0bWw/ZnRsSWQ9MSZhbXA7bmFtZT1qYWNrdGJ5JmFtcDt1aWQ9amFja3RieSU0MGdt YWlsLmNvbSZhbXA7aWNvblVybD1odHRwcyUzQSUyRiUyRm1haWwtb25saW5lLm5vc2RuLjEyNy5u ZXQlMkZxaXllbG9nbyUyRmRlZmF1bHRBdmF0YXIucG5nJmFtcDtpdGVtcz0lNUIlMjJqYWNrdGJ5 JTQwZ21haWwuY29tJTIyJTVEIiBzdHlsZT0iZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOiNmZmY7 IG1heC13aWR0aDogNDAwcHg7IF93aWR0aDogNDAwcHg7cGFkZGluZzoxNXB4IDAgMTBweCAwO3Rl eHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1j b2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZSAhaW1wb3J0YW50 O3RleHQtc2l6ZS1hZGp1c3Q6bm9uZSAhaW1wb3J0YW50OyI+CiAgICAgICAgICAgIDx0YWJsZSBj ZWxscGFkZGluZz0iMCIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IHRhYmxl LWxheW91dDogZml4ZWQ7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Y29sb3I6ICM5YjllYTE7 Zm9udC1zaXplOiAxNHB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6 bm9uZSAhaW1wb3J0YW50O3RleHQtc2l6ZS1hZGp1c3Q6bm9uZSAhaW1wb3J0YW50OyI+CiAgICAg ICAgICAgICAgICA8dGJvZHkgc3R5bGU9ImZvbnQtZmFtaWx5OiAnUGluZ0ZhbmcgU0MnLCAnSGly YWdpbm8gU2FucyBHQicsJ1dlblF1YW5ZaSBNaWNybyBIZWknLCAnTWljcm9zb2Z0IFlhaGVpJywg J+W+rui9r+mbhem7kScsIHZlcmRhbmEgIWltcG9ydGFudDsgd29yZC13cmFwOmJyZWFrLXdvcmQ7 IHdvcmQtYnJlYWs6YnJlYWstYWxsOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDpub25lICFpbXBv cnRhbnQ7dGV4dC1zaXplLWFkanVzdDpub25lICFpbXBvcnRhbnQ7Ij4KICAgICAgICAgICAgICAg ICAgICA8dHIgY2xhc3M9ImZpcnN0Um93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0 ZCB3aWR0aD0iMzgiIHN0eWxlPSJwYWRkaW5nOjA7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdp ZHRoOiAzOHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyB3aWR0aD0i MzgiIGhlaWdodD0iMzgiIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IHdpZHRoOiAzOHB4 OyBoZWlnaHQ6IDM4cHg7IGJvcmRlci1yYWRpdXM6NTAlOyIgc3JjPSJodHRwczovL21haWwtb25s aW5lLm5vc2RuLjEyNy5uZXQvcWl5ZWxvZ28vZGVmYXVsdEF2YXRhci5wbmciPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBz dHlsZT0icGFkZGluZzogMCAwIDAgMTBweDsgY29sb3I6ICMzMTM1M2I7Ij4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE2cHg7Zm9udC13ZWln aHQ6Ym9sZDsgd2lkdGg6MTAwJTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6aGlkZGVu O3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyI+amFja3RieTwvZGl2PgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAg ICAgICAgICAgICA8dHIgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LXNpemU6IDE0cHggIWltcG9y dGFudDsgd2lkdGg6IDEwMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xz cGFuPSIyIiBzdHlsZT0icGFkZGluZzoxMHB4IDAgMCAwOyBmb250LXNpemU6MTRweCAhaW1wb3J0 YW50OyB3aWR0aDogMTAwJTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTtmb250LXNpemU6IDE0cHggIWltcG9ydGFudDt3b3JkLXdy YXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLWFsbDsiPmphY2t0YnlAZ21haWwuY29tPC9k aXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAg ICAgICA8L3RyPgogICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4K ICAgICAgICA8L2E+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KIDwvZGl2PgogICAgPGJyPgo8 L2Rpdj48IS0t77+9LS0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=