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 1ovkJc-0005zF-TR for pgsql-bugs@arkaria.postgresql.org; Thu, 17 Nov 2022 19:12:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ovkJb-00048O-RE for pgsql-bugs@arkaria.postgresql.org; Thu, 17 Nov 2022 19:12:47 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ovkJb-00048A-GH for pgsql-bugs@lists.postgresql.org; Thu, 17 Nov 2022 19:12:47 +0000 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ovkJV-0001A3-VQ for pgsql-bugs@lists.postgresql.org; Thu, 17 Nov 2022 19:12:46 +0000 Received: by mail-pl1-x629.google.com with SMTP id y4so2529120plb.2 for ; Thu, 17 Nov 2022 11:12:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20210112.gappssmtp.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=2DeqQ77SlKXXEUWKuZ3Ve+qe5F4xOmRQFGfHUUA8T0Y=; b=uSFdysQkyF6yfJhVu2X3r6Fb/kCJfbD48TAXvJFEeI6nPFtu1Q0bVp2SMdkO2HKnst 8eeqgvd+zI+hBDT3ekKXM1GYK+ykLFBH6ETQGqXppqlOHyOYYT5WOvJosAfjDWZqURy/ rGHZGN1lT5mz7IGAC9VkQoUZeK9dFCIpYsVrcD26BQOqcTWCwI9wAO09YABo2QJLaxxM iQeA9BTTYsZubnWLm2r1nD0EwTbkw1kZ3eJBoe6v9Kac9dcdxCpO2Qe4Va5uZoG3WqXj p5ct7xmcMOGN53pLfF7rdBQq8Cjg61B7vX9Txj/LxR5MsHSH4ExUCWXHvRsge3MuTfT1 n/bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2DeqQ77SlKXXEUWKuZ3Ve+qe5F4xOmRQFGfHUUA8T0Y=; b=c8HeFiwrvNtHVhUfXYah2OPsFEBPPnBHf5oAZ/Pr28ZabktkiyBYDBmLaYiY9irgAt OaegoR5IYgZX8iwuUWtaatvHRidnPIrLWW1+pAJUIIPX8CxUtq2Shf4ekRMHY7FDaUIc g9CHEMJVx9HcrbAVIlXtBq9AqiB0hDqs5CmGEarZEqw4/EtjL69RyOA+zUdSrNNd+wcP LV30xbplqZ3WOTTfHQTIJhbEuHRai8xoH/dPrsk7VIovx2CBmduf9AndWYROymcqLF/J ELnwKsU8fzuXD9aAnc+yyZF3xlLJPXGz2ImxyO67xNVTrfJZTFwnwRf67tRTnl0pB7S6 59pA== X-Gm-Message-State: ANoB5pl5GHGamoBi2uDPaoDtTRBNPkfIYybmPDONLCNoreVxq7pj24n9 g5ZJ+5yQY8SpuOpF4JJpL7tEEw== X-Google-Smtp-Source: AA0mqf6b7IW25EBJDzEehAPCcpEfG9anD7x+2kXOgFC+6yMQGD+OucPmLpyoCwLOSSNDWDLCvx0hfQ== X-Received: by 2002:a17:902:b097:b0:188:ad33:23c with SMTP id p23-20020a170902b09700b00188ad33023cmr3992219plr.108.1668712360848; Thu, 17 Nov 2022 11:12:40 -0800 (PST) Received: from [172.18.7.9] ([12.126.244.130]) by smtp.gmail.com with ESMTPSA id a27-20020aa794bb000000b0056e8eb09d57sm1521019pfl.63.2022.11.17.11.12.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Nov 2022 11:12:40 -0800 (PST) Message-ID: Subject: Re: Inaccurate documentation about identifiers From: Jeff Davis To: Brennan Vincent , pgsql-bugs@lists.postgresql.org Date: Thu, 17 Nov 2022 11:12:39 -0800 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2022-11-16 at 08:36 -0500, Brennan Vincent wrote: > Hello, >=20 > The documentation states: >=20 > "SQL identifiers and key words must begin with a letter (a-z, but > also letters > with diacritical marks and non-Latin letters) or an underscore (_). > Subsequent > characters in an identifier or key word can be letters, underscores, > digits > (0-9), or dollar signs ($)" >=20 > However, it seems that all non-ASCII characters are considered > "letters" You're correct: it seems to allow any byte with the high bit set; including, for example, a zero-width space. I don't think we want to change the documentation here, because that would amount to a promise that we support such identifiers forever. I also don't think we want to change the code, because it opens up several problems and I'm not sure it's worth trying to solve them. Is there any harm just leaving it as-is? --=20 Jeff Davis PostgreSQL Contributor Team - AWS