Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o21zV-000516-KC for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Jun 2022 02:45:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o21zU-0002ja-FP for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Jun 2022 02:45:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o21zU-0002jQ-4l for pgsql-hackers@lists.postgresql.org; Fri, 17 Jun 2022 02:45:44 +0000 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1o21zR-0004LE-O6 for pgsql-hackers@postgresql.org; Fri, 17 Jun 2022 02:45:43 +0000 Received: by mail-pj1-x102d.google.com with SMTP id 73-20020a17090a0fcf00b001eaee69f600so3039352pjz.1 for ; Thu, 16 Jun 2022 19:45:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:message-id:to:cc:subject:from:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=ceDLhbqDd3/Gla+cIWIqGkCK5hLsCSyHZM31EtI9jGM=; b=ccMWlM0LgtfBGmxegDrqpr6UiQnjAT4Bm2QDAELL2SCq7hSqSI5htsq3t/0tQsy9qX EzEkQvbxm8admMWtWVN0Cmx0wd9dWV2VXfs0gY00O8Nt1T/JlmKAWa7j+nOcJDJOE4l/ 72C3KGr/cgFA0vkmTiBOLQNrxf2lfKPJt0f6Q1CP/XFp0PbCaKMeFzf4h6Qv50OpYsir B6FRO+l/K1YfookZRDeijwORX3tWMYpyijYUlW6PM2vg0Ss3thldWRvhW5GfDjCPzKzB UveNWqC31DwOJXsJUwrEQLLliDcegX/TxIa9K/l9jpX9Y5pVeCTXs318hfrzvakFxixE lBcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:to:cc:subject:from:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=ceDLhbqDd3/Gla+cIWIqGkCK5hLsCSyHZM31EtI9jGM=; b=DKdrqO7PgR4SB6pwvERw2xTIvAhqtkZmamiofCIiDw8OnBMB1ROAUesaqZRvLeFaMU A5g7CcMD1WF8fMUo9wlvHdgSi5WopNItDYWSeVI4Q5l3RZ5lrGWodjprxvVYwX/ftOev 1Da8WtiUrCAMbZEZHdBxknLXZ0lPP6VQTk8eqX9tSWoBTF4bT1kAvN7kV28wS4hda6uX o8awtlNU0Xr6BenG8QtQZlHssPatgbULc5+38CN89O7Mu1nHkz6lXf45+PHokMqnAxLv A0MxWSxB2/nN4hJ/TrZPW4kT8ewv+wMNvgLWltLDJD5RGzZsZ/WPYGlxYNve3cTSwvgN KVow== X-Gm-Message-State: AJIora8cRBTVyKpeJfGZBdFlYO0x+4eWhEieK39X5lNgdggyBkI+9vBT Y8HXfstHtNfLboU3dkqpN1c= X-Google-Smtp-Source: AGRyM1t/ZCrycunw0U1h+kgMCb4DAl2eKlbQR4YE7Ul/kr+w4MlExoIu2PgnomZC5AlsV9dTQK8Hlw== X-Received: by 2002:a17:902:ecca:b0:166:3e34:4d01 with SMTP id a10-20020a170902ecca00b001663e344d01mr7526258plh.97.1655433939134; Thu, 16 Jun 2022 19:45:39 -0700 (PDT) Received: from localhost (KD036014041111.ppp-bb.dion.ne.jp. [36.14.41.111]) by smtp.gmail.com with ESMTPSA id w4-20020a63b744000000b003fd4831e6fesm2426492pgt.70.2022.06.16.19.45.36 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 16 Jun 2022 19:45:38 -0700 (PDT) Date: Fri, 17 Jun 2022 11:45:35 +0900 (JST) Message-Id: <20220617.114535.657035567967998560.horikyota.ntt@gmail.com> To: aleksander@timescale.com Cc: boekewurm+postgres@gmail.com, pgsql-hackers@postgresql.org, teodor@sigaev.ru, wjzeng2012@gmail.com Subject: Re: CREATE TABLE ( .. STORAGE ..) From: Kyotaro Horiguchi In-Reply-To: References: User-Agent: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Thanks! I have been annoyed sometimes by the lack of this feature. At Thu, 16 Jun 2022 16:40:55 +0300, Aleksander Alekseev wrote in > Hi Matthias, > > > Apart from this comment on the format of the patch, the result seems solid. > > Many thanks. > > > When updating a patchset generally we try to keep the patches > > self-contained, and update patches as opposed to adding incremental > > patches to the set. > > My reasoning was to separate my changes from the ones originally > proposed by Teodor. After doing `git am` locally a reviewer can see > them separately, or together with `git diff origin/master`, whatever > he or she prefers. The committer can choose between committing two > patches ony by one, or rebasing them to a single commit. > > I will avoid the "patch for the patch" practice from now on. Sorry for > the inconvenience. 0001 contains one tranling whitespace error. (which "git diff --check" can detect) The modified doc line gets too long to me. Maybe we should wrap it as done in other lines of the same page. I think we should avoid descriptions dead-copied between pages. In this case, I think we should remove the duplicate part of the description of ALTER TABLE then replace with something like "See CREATE TABLE for details". As the result of copying-in the description, SET-STORAGE and COMPRESSION in the page of CREATE-TABLE use different articles in the same context. > SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } > This form sets the storage mode for *a* column. > COMPRESSION compression_method > The COMPRESSION clause sets the compression method for *the* column. FWIW I feel "the" is better here, but anyway we should unify them. static char GetAttributeCompression(Oid atttypid, char *compression); +static char GetAttributeStorage(const char *storagemode); The whitespace after "char" is TAB which differs from SPC used in neigbouring lines. In the grammar, COMPRESSION uses ColId, but STORAGE uses name. It seems to me the STORAGE is correct here, though.. (So, do we need to fix COMPRESSION syntax?) This adds support for "ADD COLUMN SET STORAGE" but it is not described in the doc. COMPRESSION is not described, too. Shouldn't we add the both this time? Or the fix for COMPRESSION can be a different patch. Now that we have three column options COMPRESSION, COLLATE and STORGE which has the strict order in syntax. I wonder it can be relaxed but it might be too much.. regards. -- Kyotaro Horiguchi NTT Open Source Software Center