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 1w0ogO-002EXr-3A for pgsql-general@arkaria.postgresql.org; Thu, 12 Mar 2026 22:39:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0ogM-000hik-1f for pgsql-general@arkaria.postgresql.org; Thu, 12 Mar 2026 22:39:07 +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.96) (envelope-from ) id 1w0ogM-000hic-0f for pgsql-general@lists.postgresql.org; Thu, 12 Mar 2026 22:39:06 +0000 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0ogK-00000002MzZ-1DAY for pgsql-general@lists.postgresql.org; Thu, 12 Mar 2026 22:39:06 +0000 Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-7d73e0e0a36so726614a34.1 for ; Thu, 12 Mar 2026 15:39:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773355143; cv=none; d=google.com; s=arc-20240605; b=gRDiJt4OSUrp8ATqFwpS9CQTxMge+P1LVWhR+uyd9Gsn9IaWd1LHC44ULyNCd2CjTi 4VwpvyYIemM6jDP0eBKk3G6jK3U7FR3enfB8yuWKHa8frF6RmOWFOwlOl8H6WdMoHULB VKlL9zbKxOaToi5ot2UKWKu5cbMZ8Wi019i18/ahgCkesMfZb4WpUBq1yx+f5TpJWu3K lI/8y6Yep5b03Ia/oyjrdz4/Mc97ShjrUH02KP4fvqAjoADYYhcHtJ1vhxVUP8QEa5cb W5+KGVO+P7mvtlvZQIqSo3StFx1kt+0OGKWlkZzuuU6/84gNWmdpUiKy3z1JJimdZV6V Tquw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature; bh=MUkqt4zUptBFp6BzSA6NwCa+3PlzYTm1D3+QcVQ7IY4=; fh=MqX3/PjeIRWyveucHIwmT3MEzIvphFWgoM5FEnVDTkI=; b=ayT7emQ9NurYQFXO5f0KgtgOCfGHBK0elsUhGD//99svFkiFVxzMDtJh1ba1mzJDOV Gighb36X//hAcTNUx2dWJAWv19UOeKoEPanMWSy3KWHdXWXrCyAG7QclE9p4Z3u5PqPZ uGLfwuiVEF3UFTEdFgZwkEVynvD6h/haQRNocHaW3gAF5phRt82FC87rnjjCISU/aoHE vOFSA4IdK9hsjWbDAfX36uGDreC9NegCDe+N4zqBidRSilniHmMI17fQR2uTmyirVgCv o6ruMmSyvVT9jmMmJeKGw9kTn5UGC7Q56eQazCvoZNK2xKftdMYe7E5Cfo+8t9VZ7Vkn rJqA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773355143; x=1773959943; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MUkqt4zUptBFp6BzSA6NwCa+3PlzYTm1D3+QcVQ7IY4=; b=BpqReAYHy3UGHEFpwBZ8djQIXyaqXahK1l5qn6pIu1PiWjqiZ2IEqcld8e6zimfk+7 T1fZOIUTqPnJ0Fm6kplcohEGKZs+eK3kaIRMXZPWjuxybssG8veKgK9fIx7REJ7hy+YJ rOYFYA2swd4Yf3KQe6Wy1D7grBjRnyvtuDXYUdW1bw4F8sCcZQybIMfH1abiezdCLOiq 9qEpmedENlABXFzM66ujVx2pkL9tJdlbNZZxUgC8Y+S4cDL530HphvPqdGfWP5u9R0XC pgbIPRTIFOEYegswEvJ+gZubr1FixfR05jt5rtES75FA94AvXmp/KsMRYOm9eP2DGli1 C14g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773355143; x=1773959943; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MUkqt4zUptBFp6BzSA6NwCa+3PlzYTm1D3+QcVQ7IY4=; b=oGo7T7RFN4fL2Zn+DIpLrHbezzouzAOROvD1n9FWVZsRR8GGv13I0yXrYHg5Tgmm9u QXYM2DYNWMhEsx0gh2Sv3llVYNv+6lrYaeWhWHKGySNJSeRBI1zuT4hANzsg4pSGWEjI BhnoV27fa0viSNkUXWk+xWrDgvkC6ytg0XuK2+aUNI5Xydglj13wvNjD0Q/pK4Eui6mn d3HF+ozhl+78xbiulfm190OpCZV4/khylKNtNhi+iaaq7e7qAE1NZBLw5FUJIv1qt4EG 0ZfaDfn1oyhpPRbGiy8H1y1fuf1q2iuZhoy3LbbirNFqqaDKipqv8MfUb1crJOG7K3Zh MREQ== X-Gm-Message-State: AOJu0YxduA07fMtCFCrQaWkOkGlGQm4yICwnnLfMMB/HW6C/j6BGcs// aZ8M6cWJjH2V3z6EyueveIuVpAgy1mq1BMTsveUieOWGrqhULx+TssTlq6+gtsqxtUTriE1tUgp 1+60qgwYBaGGVXuqMEQAbKiwpII1pHy4= X-Gm-Gg: ATEYQzz6dMp/hbkj5408vV0eE5SehAv5ESYmhJA5uI9qYPPSXSQDWs6OD5h5STrFj9B TlG8tsAXcfgqERw5fvVnS79fkilRLmteyV28GXPDCaWLPrRuIP9Hhyz0rUclrRTIhD38SWaDCKd lSRKquCSJxuZPg0hlaz9pFq5UCLFVThGRqflLz+JQ098pgprdPk2w/x2l9t9klNu/gMBi8nxFnX UuFYS1os1mp0Z4f8itBakCpvvMu07JJkcXrEN7ppe373wds4gcCqzUb4EoPKnBgDFT6Htbd+1TP vg6Jhbcy X-Received: by 2002:a05:6820:162c:b0:67b:c567:eeb9 with SMTP id 006d021491bc7-67bdaa6cad7mr729562eaf.58.1773355142891; Thu, 12 Mar 2026 15:39:02 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a05:6802:5106:10b0:619:b23e:f229 with HTTP; Thu, 12 Mar 2026 15:39:02 -0700 (PDT) In-Reply-To: References: From: "David G. Johnston" Date: Thu, 12 Mar 2026 15:39:02 -0700 X-Gm-Features: AaiRm514Z_oLwj2UQgB0aT94m5p1aoUDY09SM9rB0bB4nnDrkBglPERIQZ8CJp4 Message-ID: Subject: Re: libq API question To: Igor Korot Cc: "pgsql-generallists.postgresql.org" Content-Type: multipart/alternative; boundary="0000000000005a4ba5064cdb6b13" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005a4ba5064cdb6b13 Content-Type: text/plain; charset="UTF-8" On Thursday, March 12, 2026, Igor Korot wrote: > Hi, ALL, > > In the docs I see the following: > > [quote] > > PGresult *PQexecParams(PGconn *conn, > const char *command, > int nParams, > const Oid *paramTypes, > const char * const *paramValues, > const int *paramLengths, > const int *paramFormats, > int resultFormat); > [/quote] > > Is there a reason why the parameters are int and not unsigned int? > Unsigned ints are, I believe, less performant, and losing half the value space is immaterial here. David J. --0000000000005a4ba5064cdb6b13 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thursday, March 12, 2026, Igor Korot <ikorot01@gmail.com> wrote:
= Hi, ALL,

In the docs I see the following:

[quote]

PGresult *PQexecParams(PGconn *conn,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0const char *command,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0int nParams,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0const Oid *paramTypes,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0const char * const *paramValues,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0const int *paramLengths,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0const int *paramFormats,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0int resultFormat);
[/quote]

Is there a reason why the parameters are int and not unsigned int?

Unsigned ints are, I believe, less perform= ant, and losing half the value space is immaterial here.

David J.

--0000000000005a4ba5064cdb6b13--