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 1r5MCC-00D9vY-7K for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Nov 2023 08:33:24 +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 1r5MCA-00FCWR-Pp for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Nov 2023 08:33:22 +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 1r5MCA-00FCWF-F2 for pgsql-hackers@lists.postgresql.org; Tue, 21 Nov 2023 08:33:22 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1r5MC8-007ZYW-9E for pgsql-hackers@postgresql.org; Tue, 21 Nov 2023 08:33:21 +0000 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-4083f613275so23978015e9.2 for ; Tue, 21 Nov 2023 00:33:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20230601.gappssmtp.com; s=20230601; t=1700555599; x=1701160399; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id:from:to :cc:subject:date:message-id:reply-to; bh=1ZYB30fPXekKAKz1WmoxrfkHdH23+TFgYBZKfa6pG2A=; b=hk3Dn3k3Yud0BSDF/gQJ1OcHJAbzrdzJB9b1iri55OWFNIKLf/xEGbIfMXmXxWPAUo MzNYSWOwOOc5P1rjXRsRc/anYpITZVF3ELIaTmvDFSKZnGVQiN3AAVgCHvQRWXWMUgeA Bc/woZ7KrYIyqa6KpLEs0CUv2kJwceUXgMi01nq6/JawVuq1maX0wiquK7JADbSI2E+0 IJgzJCFu0Tm2mHZuNgsg0xom5Laj7lyRxVGYL4Q3aXfjzTtpTT7t2ZNFRwBZLmVdzjPL 0LLozoaz2HtAzOMxI+TZ9qJ+/a3oLITWxIcMuR1a7p/5siglbi3GeWiV4zc514NyDK9E iUlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700555599; x=1701160399; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1ZYB30fPXekKAKz1WmoxrfkHdH23+TFgYBZKfa6pG2A=; b=Tzv7U6qH9xzEXr2Q0z8lJsWxN9bWjw4b51+5h3BCelXgyr3yehKO+5B2NqGC8xxcmi Kq1O8UDcgo425nE8gkWybrtKK3Nj8NDrbeGjT06wFJFrCj/xbj3h1ltMCcG7a1sq3fWw VUJwv32DOfpKBICFG3OJLboDTGpVc52wqbmuAcu3w8xpQlt/a+G+TAoSlbadB4i/kLkY Kua5RgyLP+6ChylDPZUKyeE8KvpcoktxB0yU0D0NBgLERL6JBxQPC8Po4ibDhIwQ9gkv LO2bX6cLudYdHk+woY7TPqb/ebuPZLu2jU2ADNx4V96LxFRK/le1TBwS022pfmPZF0g2 nRTw== X-Gm-Message-State: AOJu0YxQo7XA8NDUBtQJPv+V1PWL12xFaUeqd8BYL4ZXwQENhRwpD/Xv OHU3ck3CHj1Axi2ZHbuJsSG3AA== X-Google-Smtp-Source: AGHT+IFkasIxmmTyVRfiBboOS2DT4J+QwdhB+cf1WazLSjl9Mid+hAIjvsLuWVyBHNIrQTsfoW2p/Q== X-Received: by 2002:a05:600c:35d6:b0:405:95ae:4a94 with SMTP id r22-20020a05600c35d600b0040595ae4a94mr7855895wmq.5.1700555599094; Tue, 21 Nov 2023 00:33:19 -0800 (PST) Received: from localhost.localdomain ([88.116.133.170]) by smtp.gmail.com with ESMTPSA id m7-20020a7bcb87000000b004063d8b43e7sm20005194wmi.48.2023.11.21.00.33.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 00:33:18 -0800 (PST) Message-ID: <9334a884530a0aa56f3a1e7fd24e995c415dab25.camel@cybertec.at> Subject: Re: About #13489, array dimensions and CREATE TABLE ... LIKE From: Laurenz Albe To: Tom Lane , Bruce Momjian Cc: Bruno Bonfils , PostgreSQL-development , Alexey Bashtanov Date: Tue, 21 Nov 2023 09:33:18 +0100 In-Reply-To: <1403260.1700532781@sss.pgh.pa.us> References: <1402391.1700532261@sss.pgh.pa.us> <1403260.1700532781@sss.pgh.pa.us> Autocrypt: addr=laurenz.albe@cybertec.at; prefer-encrypt=mutual; keydata=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 +AnW5l0HsQcY9ntFL/zEBOaonjdJf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 2023-11-20 at 21:13 -0500, Tom Lane wrote: > Bruce Momjian writes: > > On Mon, Nov 20, 2023 at 09:04:21PM -0500, Tom Lane wrote: > > > Bruce Momjian writes: > > > > An alternate approach would > > > > be to remove pg_attribute.attndims so we don't even try to preserve= =20 > > > > dimensionality. >=20 > > > I could get behind that, perhaps. It looks like we're not using the > > > field in any meaningful way, and we could simplify TupleDescInitEntry > > > and perhaps some other APIs. >=20 > > So should I work on that patch or do you want to try? I think we shoul= d > > do something. >=20 > Let's wait for some other opinions, first ... Looking at the code, I get the impression that we wouldn't lose anything without "pg_attribute.attndims", so +1 for removing it. This would call for some documentation. We should remove most of the documentation about the non-existing difference between declaring a column "integer[]", "integer[][]" or "integer[3][3]" and just describe the first variant in detail, perhaps mentioning that the other notations are accepted for backward compatibility. I also think that it would be helpful to emphasize that while dimensionalit= y does not matter to a column definition, it matters for individual array val= ues. Perhaps it would make sense to recommend a check constraint if one wants to make sure that an array column should contain only a certain kind of arr= ay. Yours, Laurenz Albe