Dear Tom, > No, I'm pretty sure you're mistaken. It's been a long time since > high school English, but the way I think this works is that "that" > introduces a restrictive clause, which narrows the scope of what > you are saying. That is, you say "that" when you want to talk > about only the bytes of the string that aren't ASCII. But "which" > introduces a non-restrictive clause that adds information or > commentary. If you say "bytes of the string which are not ASCII", > you are effectively making a side assertion that no byte of the > string is ASCII. Which is not the meaning you want here. > > A smell test that works for native speakers (not sure how helpful > it is for others) is: if the sentence would read well with commas > or parens added before and after the clause, then it's probably > non-restrictive and should use "which". If it looks wrong that way > then it's a restrictive clause and should use "that".
Thanks for giving your opinion. The suggestion is quite helpful for me, non-native speaker. If you check my patch [1] I'm very happy. [1]: https://www.postgresql.org/message-id/TYAPR01MB58663EB061888B2715A39217F5C2A%40TYAPR01MB5866.jpnprd01.prod.outlook.com Best Regards, Hayato Kuroda FUJITSU LIMITED