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.96) (envelope-from ) id 1vQ2iI-007Gyd-2E for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Dec 2025 12:09:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vQ2iH-002QBn-0p for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Dec 2025 12:09:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vQ2iG-002QBc-35 for pgsql-hackers@lists.postgresql.org; Mon, 01 Dec 2025 12:09:05 +0000 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vQ2iE-002ZMe-2t for pgsql-hackers@lists.postgresql.org; Mon, 01 Dec 2025 12:09:04 +0000 Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-3436a97f092so5142206a91.3 for ; Mon, 01 Dec 2025 04:09:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764590943; x=1765195743; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=wk67CrBIcI1blpMYsHKGBenho3/TopkqzzzZmWOfG7s=; b=QwrbJwJ/AUhINVAQiib1MSOO41jCazi/+xpxe/sfcpcHWgcQq/2IzRUGByfTFRaZhL /L9dRU56BgfFbHE8zSZ1/pwo/CQ23+M6xw9EWMOxCprodsf9tRxZx0Mq/6fk98hYlnkH y/2ecpP0xrHQpG3goRlec1hlciRVyBp6rC8KNuCzfoccg5EHsaDVklnCGTNC+gkRkym8 DH+x4X7h7iF4mVvNXBCatf+Tfr/HcDcFkaCNQnBYuM2e1Ix91QlJPEvBmj+Y0oJ1/5fV Z3WrgMFmawVl6YBLIRz0zkYzTpHX60eJAVtWnURUgo6Rjflv9DY//YhAJSibsiPmXF2K JVOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764590943; x=1765195743; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=wk67CrBIcI1blpMYsHKGBenho3/TopkqzzzZmWOfG7s=; b=mQU/3FnJfeOrGqJR55LuSN+Up6iDy9gyEz86OK1uNmc7nEWfs+tyVbzwdY/zoKx+v7 GaUfHRVNIwVwLcdnZqY2CLXIZPZU4/3TeR+C+BwjfFwrTYg8kMW8avvdQ+O2RnaS/dvr 1gajDCgeDRmU6PCNModuWTQ82oR9Ze5a00Or84ZANCktUKKFFz26lnO2IVFbsKuZlRai a9/pSS/uNN0IjCFxs7Gvb2L6UjVsY7S9e80eYnjIiWW4Q97V5Ob1/Jp7Y/6E1qB9zV4f hJPparrtB5SHfO7EqvRyZCxVg5EYW8q/S+n+UWQHmQlquBckSL5k2kQByykvKKg7IKrx 7u4A== X-Forwarded-Encrypted: i=1; AJvYcCUXXYLshYQrhRuviynO1e3urm0yrdyI5l9YHLY/xt/OaxgMMhHFg+vI+z7tbUbGzXEBzuEPU8CJ5xRzEoFr@lists.postgresql.org X-Gm-Message-State: AOJu0YyPFNseDbbOSKN7zTMXsXN/4v1yndamMT4XqTdSOViZfo/Eq3gL Eym+G/dgX4KiMlphIBVlZgG7QmHt0oFtw/e26nXhzCANCLtva8OK4nPNFlJntDr1gfueDmxuX39 4bJOnr5kuOLHo5x5YM+4/rGoNjFFKBfQ= X-Gm-Gg: ASbGncvmy3ulOb384yk6E/aMhzD+r4nsBA4rIWO2/ajtxnODjpSLvCH8QmXP/OAtwjC aOd8S+NEYe9Kil6p0XDmdNz3RT4Ozyal/B5HOgVVVuRVLGo9h/Clz+BjFr8VNpai7XFDrC6aYxy kd6hrUX+ZuINwrUMDCDDJSNxkT7qunZ8hVsj0HMpz8yk+U7nd4J06h4ClIFBSboJlUVPh/z2Kkn UI2HVqPXEVINNj4mZHBJAFwkxPElSzVkpyyP+FfIO/N/uuJGyt8IYUYCBez7lG8HB3Uxi6cWw== X-Google-Smtp-Source: AGHT+IEKq1MLUXbV46uDUh7r5wNtEE3g95ts9eD/VZ8kOonSHT8JfmCwj6xXyi0dKbptjbyKCZ4ITk1vIAF6BsVruIo= X-Received: by 2002:a17:90b:1cc4:b0:340:d81d:7874 with SMTP id 98e67ed59e1d1-3475ed5174cmr25335021a91.26.1764590942662; Mon, 01 Dec 2025 04:09:02 -0800 (PST) MIME-Version: 1.0 References: <04afcd1f-ed7d-4c0a-add1-50e3719ccbf9@postgresfriends.org> <762ae707-7fdc-43d8-a77a-3a10d12ce21d@postgresfriends.org> In-Reply-To: From: Amul Sul Date: Mon, 1 Dec 2025 17:38:24 +0530 X-Gm-Features: AWmQ_bl_inF9rBjRKDQXrEdOMI_JzzMGkUMrHqUUnklVBXDE6Cyj28emBnR66Os Message-ID: Subject: Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions To: jian he Cc: Corey Huinker , Vik Fearing , Isaac Morland , pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Nov 25, 2025 at 8:30=E2=80=AFAM jian he wrote: > > On Mon, Nov 24, 2025 at 11:38=E2=80=AFAM Amul Sul wro= te: > > > > [...] > +static inline float8 > +float8_div_safe(const float8 val1, const float8 val2, struct Node *escon= text) > > but we can change float8_div to: > > static inline float8 > float8_div(const float8 val1, const float8 val2) > { > return float8_div_safe(val1, val2, NULL); > } > I am worried that entering another function would cause a minor performan= ce > degradation. And since these simple functions are so simple, keeping the= m > separated should not be a big problem. also I placed float8_div, > float8_div_safe together. Since you declared float8_div_safe() as static inline, I believe it wouldn't have any performance degradation since most compilers optimize it. Also, I suggest you pass the ErrorSafeContext to float_overflow_error(), float_underflow_error(), and float_zero_divide_error() so that you can avoid duplicating error messages. Regards, Amul