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.94.2) (envelope-from ) id 1tOHeH-005LuB-H4 for pgsql-general@arkaria.postgresql.org; Thu, 19 Dec 2024 14:37:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tOHeF-00Dsd5-HB for pgsql-general@arkaria.postgresql.org; Thu, 19 Dec 2024 14:37:07 +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.94.2) (envelope-from ) id 1tOHeF-00Dscv-32 for pgsql-general@lists.postgresql.org; Thu, 19 Dec 2024 14:37:06 +0000 Received: from mout.gmx.net ([212.227.15.18]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tOHeB-000OUL-Gx for pgsql-general@lists.postgresql.org; Thu, 19 Dec 2024 14:37:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1734619020; x=1735223820; i=d.frey@gmx.de; bh=cPb8q2ZNvwima8i+FYKDdcHenEIfG1YXIsAlXlenhzY=; h=X-UI-Sender-Class:From:Content-Type:Content-Transfer-Encoding: Mime-Version:Subject:Message-Id:Date:To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=HsSUM1vQyzeQ4bVk80MAqBYr0ETCEoXWI/HBTRmgPJeU+QdjgCcWcQhRgGK+/A+Z AStGLu0G+UygqHKjVSvGvkTYe+aQD6B6ULTy4/n0iYN1rahC6X2LClWA2xueiNVQC QEuWSPOUrSnLsAwemALBNQ/lKOV8cOIkuMU12xg+EJdCpXtyOPRyonpI6YN9qffTI Uwj9X28NkGNc1l5j8mLDFleqsXssyINTAPzny7IIJaDfF6Ym0T8yL7+Grp/uXccPL kTEduag51oJclOeKggqRgT/lGjk+Q0loQj6jjQwXEnzddl9sQONZhUEj+O0kvzt4K Q3PCM2OzuBG4VpezdA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from smtpclient.apple ([84.147.42.80]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N7QxL-1td25R1nsj-00v3XH for ; Thu, 19 Dec 2024 15:37:00 +0100 From: Daniel Frey Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Pipeline Mode vs Single Row Mode / Chunked Rows Mode Message-Id: Date: Thu, 19 Dec 2024 15:36:49 +0100 To: pgsql-general X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Provags-ID: V03:K1:nIouMR/QzllZHPWzV5WJQYxwkYGvMZcbHm3qtKtc1ASwNS5YHPt JZBDI8JqP52GR42JK4m2HSdgYPkn7oWLuB4FPXFxVgWHwllXSwHLgmhjzQKtWR9G7BOQ75Y cdyBijkq05joG1lBOI3ta6j/BnyZd4NptP61yhIBUxBVCiYUpyHgDJ1dHZeacLeNmN6xqdV LHAt8goKqpiiNlFvkiYtw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:PjKi2co3Bvo=;7MrbTuQ18tOq+NWagweoM9vNqEc vI9nLEiUT1Pav4A93DbtHonvnyIVkukPSqPdF0BBKIm9g0laq0NCMbinPfWCuoLUvhSECJT6V y8h8n8CpDi50oWBzAjRntRjUGMcj5aocFCdSknS3zH1YHqHIs7FCpwWeyrWudTaJ6dw9YNO1N 1cZ8trJw+rs/SC3/m5usQeRmUEj181FztAK2z12vlnq3tu0WLLSzLXB8eQwwwKa+fr0h+zkoi lBR8pNoiRwBr+wNvY6lmu+/jRd+YyAjsVg64k7FejRJ0ZIoGGLoO2EPDb5GLO5ByauduDqqzV KPhiW1A8DRBJS8MqpQDpSNiT6xs9Sy4QnCOZGCQr05IlV3vd2YnRbfkF4qUOlYGSCdoTUeKoS 8ssUoAPw11s8VRVmkSLr/zN8eO6g18zuc4x6RHoASAyPVixHdQQkDugtAsyFpws014HgB2Gux AfFyWRPoQJ59Mh0aKZU3Za6knhPTfALSteBci62pwUuZLA44VR4VZ6rkFDSP6M09jYvlNB4cl Un+oTSQ4VQxheMn0GcDByqoUAygwnc053doyEocGVqcklODtcgMDUQlooH0AKuVWdovpKMeXH HVHBh6BWL1V+fflCOUKP1vr0tbBO69eQKY82FJ666bvNNtI6jX87kpmnzzXNYp6/USo8WPmLH B9Hv6Kv+YQHaD9V7zipqbZ5wCcY72/4ajl0i9/nPYQnMIqC88XtscOnBVb/vlAHL7QUzD9Bsy GFRyuPLEfxipzBwm/vlzkHk/DpRLLZM8tC87e4Rw8m1yFox+l/LIUtgt/9prX5yEOrHUrBrbZ 6lUub/1oArDM9HE2yb/aboqZ3bRctBbOhvADLUIaSv7PH5vpJKGxpxpD/8ub5xg4Pkb5feyxk +R0y8dpK6JAcuWcqfxE1HaCXGT+9wNHiVl9HyzStpXLXSxpnaKCaMjLrXqsReGG/8Qye5cpq6 yIusnnZDd3plLSmmD/Z1bM0LnPDf/UsN5+0XFBODu0EOZnhL+1u6u+8K6vGRV/q10P/mDMHaj OpBQNo4FThsvNTWo3QX0rVwbDYYTF1xrODfqo3buTTZyMkDkdkKrH+vWLwXpABc50McHYKy3+ MUHXihAAdHvD8dB+NTswWIuc7291Kjn6lUi8N9X9vBxuN/gZUALTeVe3O6gYTqpODBkDlbyqY = List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, I'm adding support for Pipeline Mode to my C++ PostgreSQL client library = (https://github.com/taocpp/taopq) and I tried to understand the = interaction between Pipeline Mode and Single Row Mode / Chunked Rows = Mode. It seems that it works sometimes, but I don't get the feeling that = it was deliberately designed to work consistently. Example: * Consider a table with three rows of data * I send two (identical) SELECT commands, e.g. "SELECT * FROM = test_table" * I call PQpipelineSync() * I call PQsetSingleRowMode() * I read the results, I get * One result with size 1 * Another one with size 1 * Another one with size 1 * A final one with size 0 for the first select * A result with size 3 for the second select * A result with PGRES_PIPELINE_SYNC When I try to call PQsetSingleRowMode() for the second SELECT, it fails. It also seems weird that I can call it for the first result after the = sync call, but maybe that's OK? Anyway, is there some documentation about how these modes interact and = how they can be combined? Or should they never be combined? -Daniel