On Wed, Mar 12, 2025 at 11:50 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote:
> On 2025-Mar-12, Rushabh Lathia wrote: > > > Hi Alvaro, > > > > Here are the latest patches, which includes the regression fix. > > Thank you. > > Taking a step back after discussing this with some colleagues, I need to > contradict what I said at the start of this thread. There's a worry > that changing pg_attribute.attnotnull in the way I initially suggested > might not be such a great idea after all. I did a quick search using > codesearch.debian.net for applications reading that column and thinking > about how they would react to this change; I think in the end it's going > to be quite disastrous. We would break a vast number of these apps, and > there are probably countless other apps and frameworks that we would > also break. Everybody would hate us forever. Upgrading to Postgres 18 > would become as bad an experience as the drastic change of implicit > casts to text in 8.3. Nothing else in the intervening 17 years strikes > me as so problematic as this change would be. > > So I think we may need to go back and somehow leave pg_attribute alone, > to avoid breaking the whole world. Maybe it would be sufficient to > change the CompactAttribute->attnotnull to no longer be a boolean, but > the new char representation instead. I'm not sure if this would > actually work. > Thank you for your feedback. I understand that this change could be problematic for existing applications, as attnotnull is a highly generic catalog column. I will revisit the patch, make the necessary adjustments, and submit a revised version accordingly. I appreciate your insights and will try to submit the new patch. Regards, Rushabh Lathia www.EnterpriseDB.com