Re: Proposal: add a debug message about using geqo

2022-06-01 Thread KAWAMOTO Masaya
On Tue, 10 May 2022 18:49:54 +0530 Ashutosh Bapat wrote: > If we add that information to EXPLAIN output, the user won't need > access to server logs. > > May be we need it in both the places. That sounds a nice idea. But I don't think that postgres shows in the EXPLAIN output why the plan is se

Re: Multi-Master Logical Replication

2022-06-01 Thread Amit Kapila
On Wed, Jun 1, 2022 at 7:33 PM Bruce Momjian wrote: > > On Wed, Jun 1, 2022 at 10:27:27AM +0530, Amit Kapila wrote: > > On Tue, May 31, 2022 at 7:36 PM Bruce Momjian wrote: > > > Uh, thinking some more, why would anyone set things up this way --- > > > having part of a table being primary on one

Re: compiler warnings with gcc 4.8 and -Og

2022-06-01 Thread Tom Lane
Justin Pryzby writes: > forking: <20220302205058.gj15...@telsasoft.com>: Re: Adding CI to our tree > On Wed, Mar 02, 2022 at 02:50:58PM -0600, Justin Pryzby wrote: >> BTW (regarding the last patch), I just noticed that -Og optimization can >> cause >> warnings with gcc-4.8.5-39.el7.x86_64. I'm a

Re: [PATCH] Fix pg_upgrade test from v10

2022-06-01 Thread Michael Paquier
On Thu, Jun 02, 2022 at 12:36:30AM -0400, Tom Lane wrote: > The buildfarm animals that test cross-version upgrades are not > unhappy, so please be more specific about what problem you > are trying to solve. Anton is complaining about the case where you try to use the in-core upgrade tests with a s

Re: [PATCH] Fix pg_upgrade test from v10

2022-06-01 Thread Tom Lane
"Anton A. Melnikov" writes: > Found out that test for pg_upgrade (test.sh for 11-14 and > 002_pg_upgrade.pl for 15+) doesn't work from 10th versions to higher > ones due to incompatible options for initdb and default PGDATA permissions. The buildfarm animals that test cross-version upgrades are

Re: compiler warnings with gcc 4.8 and -Og

2022-06-01 Thread Michael Paquier
On Wed, Jun 01, 2022 at 09:42:44PM -0500, Justin Pryzby wrote: > Today's "warnings" thread suggests to me that these are worth fixing - it > seems > reasonable to compile postgres 14 on centos7 (as I sometimes have done), and > the patch seems even more reasonable when backpatched to older version

compiler warnings with gcc 4.8 and -Og

2022-06-01 Thread Justin Pryzby
forking: <20220302205058.gj15...@telsasoft.com>: Re: Adding CI to our tree On Wed, Mar 02, 2022 at 02:50:58PM -0600, Justin Pryzby wrote: > BTW (regarding the last patch), I just noticed that -Og optimization can cause > warnings with gcc-4.8.5-39.el7.x86_64. > > be-fsstubs.c: In function 'be_lo_

Re: [PATCH] Fix pg_upgrade test from v10

2022-06-01 Thread Michael Paquier
On Thu, Jun 02, 2022 at 04:22:52AM +0300, Anton A. Melnikov wrote: > Found out that test for pg_upgrade (test.sh for 11-14 and 002_pg_upgrade.pl > for 15+) doesn't work from 10th versions to higher ones due to incompatible > options for initdb and default PGDATA permissions. Yeah, there are still

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-06-01 Thread Amit Langote
On Wed, Jun 1, 2022 at 6:15 PM Etsuro Fujita wrote: > On Tue, May 31, 2022 at 9:35 PM Robert Haas wrote: > > I would probably just update the synopsis. It's not very hard to > > figure out what's likely to happen even without clicking through the > > link, so it seems like it's just being long-wi

[PATCH] Fix pg_upgrade test from v10

2022-06-01 Thread Anton A. Melnikov
Hello! Found out that test for pg_upgrade (test.sh for 11-14 and 002_pg_upgrade.pl for 15+) doesn't work from 10th versions to higher ones due to incompatible options for initdb and default PGDATA permissions. Here are the patches that may solve this problem. Would be glad to your comments a

Re: Allow file inclusion in pg_hba and pg_ident files

2022-06-01 Thread Michael Paquier
On Thu, May 26, 2022 at 03:26:57PM +0800, Julien Rouhaud wrote: > So you mean having an error message like that (having an "include myconf" > in the HBA file): > > LOG: could not open authentication file "myconf" as "/path/to/myconf": No > such file or directory > LOG: pg_hba.conf was not reloa

Re: pg_upgrade test writes to source directory

2022-06-01 Thread Michael Paquier
On Wed, Jun 01, 2022 at 02:11:12PM -0700, Andres Freund wrote: > Until recently TESTDIR needed to point to the build directory containing the > binaries. But I'd like to be able to separate test log output from the build > tree, so that it's easier to capture files generated by tests for CI / > bui

Re: Allowing REINDEX to have an optional name

2022-06-01 Thread Michael Paquier
On Tue, May 31, 2022 at 02:30:32PM +0200, Alvaro Herrera wrote: > I was thinking the opposite: REINDEX DATABASE with or without a database > name should always process the user relations and skip system catalogs. > If the user wants to do both, then they can use REINDEX SYSTEM in > addition. > > T

Re: Prevent writes on large objects in read-only transactions

2022-06-01 Thread Michael Paquier
On Wed, Jun 01, 2022 at 10:15:17AM -0400, Tom Lane wrote: > It's always appropriate to consider backwards compatibility, and we > frequently don't back-patch a change because of worries about that. > However, if someone complains because we start rejecting this as of > v15 or v16, I don't think the

Re: silence compiler warning in brin.c

2022-06-01 Thread Nathan Bossart
On Wed, Jun 01, 2022 at 05:08:03PM -0400, Tom Lane wrote: > Hmm, if we're following amcheck's example it should be more like this: > > diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c > index 52f171772d..0de1441dc6 100644 > --- a/src/backend/access/brin/brin.c > +++ b/s

Re: [PATCH] Compression dictionaries for JSONB

2022-06-01 Thread Jacob Champion
On Wed, Jun 1, 2022 at 1:44 PM Aleksander Alekseev wrote: > This is a follow-up thread to `RFC: compression dictionaries for JSONB` [1]. > I would like to share my current progress in order to get early feedback. The > patch is currently in a draft state but implements the basic functionality. I

Re: showing effective max_connections

2022-06-01 Thread Tom Lane
Zhihong Yu writes: > Hi, > For non superusers, the max connections would be lower than what > max_connections > specifies. > Should we display the effective value when non superuser issues `SHOW > max_connections` ? That seems more likely to add confusion than remove it.

showing effective max_connections

2022-06-01 Thread Zhihong Yu
Hi, For non superusers, the max connections would be lower than what max_connections specifies. Should we display the effective value when non superuser issues `SHOW max_connections` ? Thanks

Re: pg_upgrade test writes to source directory

2022-06-01 Thread Andres Freund
Hi, On 2022-06-01 16:11:16 +0200, Peter Eisentraut wrote: > On 31.05.22 09:17, Michael Paquier wrote: > > On Sat, May 28, 2022 at 04:14:01PM -0400, Tom Lane wrote: > > > Yeah, I'd noticed the obsoleted comments too, but not bothered to complain > > > since that was just WIP and not an officially p

Re: silence compiler warning in brin.c

2022-06-01 Thread Tom Lane
Nathan Bossart writes: > On Wed, Jun 01, 2022 at 01:06:21PM -0400, Tom Lane wrote: >> It looks like >> AtEOXact_GUC asserts nestLevel > 0, so that either 0 or -1 would >> do as an "invalid" value; I'd lean a bit to using 0. > I only chose -1 to follow a117ceb's example in amcheck. I have no > pr

Re: [RFC] building postgres with meson

2022-06-01 Thread Andres Freund
Hi, On 2022-06-01 12:39:50 +0300, Aleksander Alekseev wrote: > > > ``` > > > ../src/include/parser/kwlist.h:332:25: error: ‘PARAMETER’ undeclared here > > > (not > > > in a function) > > > 332 | PG_KEYWORD("parameter", PARAMETER, UNRESERVED_KEYWORD, BARE_LABEL) > > > > > > ../src/interfaces/ecpg/

Re: [RFC] building postgres with meson -v8

2022-06-01 Thread Andres Freund
Hi, On 2022-06-01 06:55:06 +0200, Peter Eisentraut wrote: > > On 06.05.22 23:27, Andres Freund wrote: > > I added pkgconfig since then. They're not exactly the same, but pretty > > close, > > except for one thing: Looks like some of the ecpg libraries really should > > link > > to some other ec

Re: Ignoring BRIN for HOT udpates seems broken

2022-06-01 Thread Robert Haas
On Sat, May 28, 2022 at 4:51 PM Tomas Vondra wrote: > Yeah, I think that might/should work. We could still create the HOT > chain, but we'd have to update the BRIN indexes. But that seems like a > fairly complicated change to be done this late for PG15. Yeah, I think a revert is better for now. B

Re: Add SPLIT PARTITION/MERGE PARTITIONS commands

2022-06-01 Thread Zhihong Yu
On Wed, Jun 1, 2022 at 11:58 AM Dmitry Koval wrote: > Hi, > > 1) > > For attachPartTable, the parameter wqueue is missing from comment. > > The parameters of CloneRowTriggersToPartition are called parent and > partition. > > I think it is better to name the parameters to attachPartTable in a > si

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Fri, May 27, 2022 at 2:08 PM Peter Smith wrote: > > On Fri, May 27, 2022 at 5:04 PM shiy.f...@fujitsu.com > wrote: > > > > On Wed, May 25, 2022 7:55 PM vignesh C wrote: > > > > > > The attached v16 patch has the changes for the same. > > > > > > > Thanks for updating the patch. > > > > Some c

Re: silence compiler warning in brin.c

2022-06-01 Thread Tom Lane
Zhihong Yu writes: > Hi, > if (heapRel == NULL || heapoid != IndexGetRelation(indexoid, false)) > ereport(ERROR, > I wonder why the above check is not placed in the else block: > else > heapRel = NULL; Because we don't want to throw that error until we've exhausted the

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Fri, May 27, 2022 at 12:34 PM shiy.f...@fujitsu.com wrote: > > On Wed, May 25, 2022 7:55 PM vignesh C wrote: > > > > The attached v16 patch has the changes for the same. > > > > Thanks for updating the patch. > > Some comments for the document in 0002 patch. > > 1. > + > +Lock the requi

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Fri, May 27, 2022 at 10:56 AM Peter Smith wrote: > > Here are some more review comments for v15-0002 I found while working > through the documented examples. These are all for > doc/src/sgml/logical-replication.sgml. The section numbers (e.g. > 31.11.1) are the assigned numbers after HTML rende

Re: silence compiler warning in brin.c

2022-06-01 Thread Zhihong Yu
On Wed, Jun 1, 2022 at 10:06 AM Tom Lane wrote: > Zhihong Yu writes: > > On Wed, Jun 1, 2022 at 9:35 AM Nathan Bossart > > wrote: > >> I'm seeing a compiler warning in brin.c with an older version of gcc. > >> Specifically, it seems worried that a variable might not be initialized. > >> AFAICT

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Fri, May 27, 2022 at 7:54 AM Amit Kapila wrote: > > On Wed, Apr 6, 2022 at 9:36 AM Amit Kapila wrote: > > > > On Tue, Apr 5, 2022 at 7:06 PM Ashutosh Bapat > > wrote: > > > > > > On Tue, Apr 5, 2022 at 6:21 AM Peter Smith wrote: > > > > > > > > Below are some other name ideas. Maybe they are

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Thu, May 26, 2022 at 4:40 PM Amit Kapila wrote: > > On Fri, May 20, 2022 at 3:31 PM vignesh C wrote: > > > > On Wed, May 18, 2022 at 4:22 PM Amit Kapila wrote: > > > > > > 5. > > > * It is quite possible that subscriber has not yet pulled data to > > > + * the tables, but in ideal cases the

Re: Handle infinite recursion in logical replication setup

2022-06-01 Thread vignesh C
On Thu, May 26, 2022 at 2:06 PM Peter Smith wrote: > > This post completes my review of patch v15*. > > == > > 1. A general comment affecting both patches > > I realised the things defined in the subscription WITH are referred to > in the PG DOCS as "parameters" (not "options"). See CREATE > S

Re: silence compiler warning in brin.c

2022-06-01 Thread Nathan Bossart
On Wed, Jun 01, 2022 at 01:06:21PM -0400, Tom Lane wrote: > Zhihong Yu writes: >> It seems the variable can be initialized to the value of GUCNestLevel since >> later in the func: >> /* Roll back any GUC changes executed by index functions */ >> AtEOXact_GUC(false, save_nestlevel); > > Th

Re: Assorted small doc patches

2022-06-01 Thread David G. Johnston
On Wed, Jun 1, 2022 at 7:05 AM Peter Eisentraut < peter.eisentr...@enterprisedb.com> wrote: > On 31.05.22 22:12, David G. Johnston wrote: > > Anything I should be doing differently here to get a bit of > > reviewer/committer time on these? I'll add them to the commitfest for > > next month if nee

Re: plperl tests fail with latest Perl 5.36

2022-06-01 Thread Tom Lane
Robert Haas writes: > On Wed, Jun 1, 2022 at 11:40 AM Tom Lane wrote: >> Looks reasonable to me, but I'm hardly a Perl monk. Anybody have >> a different opinion? > Well, it falsifies the immediately preceding comment, but I think it's > fine otherwise. Duh, right, will fix. This seems appropr

Re: silence compiler warning in brin.c

2022-06-01 Thread Tom Lane
Zhihong Yu writes: > On Wed, Jun 1, 2022 at 9:35 AM Nathan Bossart > wrote: >> I'm seeing a compiler warning in brin.c with an older version of gcc. >> Specifically, it seems worried that a variable might not be initialized. >> AFAICT there is no real risk, so I've attached a small patch to silen

Re: plperl tests fail with latest Perl 5.36

2022-06-01 Thread Robert Haas
On Wed, Jun 1, 2022 at 11:40 AM Tom Lane wrote: > Looks reasonable to me, but I'm hardly a Perl monk. Anybody have > a different opinion? Well, it falsifies the immediately preceding comment, but I think it's fine otherwise. -- Robert Haas EDB: http://www.enterprisedb.com

Re: silence compiler warning in brin.c

2022-06-01 Thread Zhihong Yu
On Wed, Jun 1, 2022 at 9:35 AM Nathan Bossart wrote: > Hi hackers, > > I'm seeing a compiler warning in brin.c with an older version of gcc. > Specifically, it seems worried that a variable might not be initialized. > AFAICT there is no real risk, so I've attached a small patch to silence the > w

silence compiler warning in brin.c

2022-06-01 Thread Nathan Bossart
Hi hackers, I'm seeing a compiler warning in brin.c with an older version of gcc. Specifically, it seems worried that a variable might not be initialized. AFAICT there is no real risk, so I've attached a small patch to silence the warning. -- Nathan Bossart Amazon Web Services: https://aws.amazo

Re: plperl tests fail with latest Perl 5.36

2022-06-01 Thread Tom Lane
=?utf-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= writes: > Tom Lane writes: >> Apparently 5.36 rejiggers warning classifications in a way that breaks >> one of our test cases. Perhaps we should switch it to some other >> warning-triggering condition. > The simplest thing is to actually use sort in voi

Re: support for MERGE

2022-06-01 Thread Alvaro Herrera
On 2022-Jun-01, Justin Pryzby wrote: > I prefer that way, with "See also" after the text that requires more > information. But the most important thing is to include the link at all. But it's not a "see also". It's a link to the primary source of concurrency information for MERGE. The text tha

Re: plperl tests fail with latest Perl 5.36

2022-06-01 Thread Dagfinn Ilmari Mannsåker
Tom Lane writes: > Apparently 5.36 rejiggers warning classifications in a way that breaks > one of our test cases. Perhaps we should switch it to some other > warning-triggering condition. The simplest thing is to actually use sort in void context, i.e. removing the `my $x = ` part from the tes

Re: [PoC] Let libpq reject unexpected authentication requests

2022-06-01 Thread Jacob Champion
On Wed, Jun 1, 2022 at 12:55 AM Michael Paquier wrote: > > Jacob, do you still have plans to work on this patch? Yes, definitely. That said, the more the merrier if there are others interested in taking a shot at it. There are a large number of alternative implementation proposals. Thanks, --Jac

Re: pg_upgrade test writes to source directory

2022-06-01 Thread Tom Lane
Peter Eisentraut writes: > On 31.05.22 09:17, Michael Paquier wrote: >> Well, here is a formal patch set, then. Please feel free to comment. >> >> FWIW, I am on the fence with dropping TESTDIR, as it could be used by >> out-of-core test code as well. If there are doubts about >> back-patching t

Re: generate_series for timestamptz and time zone problem

2022-06-01 Thread Przemysław Sztoch
Tom Lane wrote on 31.05.2022 22:54: =?UTF-8?Q?Przemys=c5=82aw_Sztoch?= writes: |generate_series| ( /|start|/ |timestamp with time zone|, /|stop|/ |timestamp with time zone|, /|step|/ |interval| ) produces results depending on the timezone value set: That's intentional. If you don't want it,

Re: funcs.sgml - wrong example

2022-06-01 Thread Tom Lane
Justin Pryzby writes: > On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote: >> funcs.sgml has >> 42 <@ '{[1,7)}'::int4multirange >> and calls it true. The attached fixes that. >> >> Included are two more changes where actual output differs a bit from what >> the doc examples show. >

plperl tests fail with latest Perl 5.36

2022-06-01 Thread Tom Lane
Apparently 5.36 rejiggers warning classifications in a way that breaks one of our test cases. Perhaps we should switch it to some other warning-triggering condition. regards, tom lane --- Forwarded Message Date:Wed, 01 Jun 2022 14:08:46 + From:bugzi...@re

Re: Prevent writes on large objects in read-only transactions

2022-06-01 Thread Tom Lane
Robert Haas writes: > On Wed, Jun 1, 2022 at 1:29 AM Michael Paquier wrote: >> Now the LO handling is quite old, and I am not sure if this is worth >> changing as we have seen no actual complains about that with read-only >> transactions, even if I agree on that it is inconsistent. That could >>

Re: pg_upgrade test writes to source directory

2022-06-01 Thread Peter Eisentraut
On 31.05.22 09:17, Michael Paquier wrote: On Sat, May 28, 2022 at 04:14:01PM -0400, Tom Lane wrote: Yeah, I'd noticed the obsoleted comments too, but not bothered to complain since that was just WIP and not an officially proposed patch. I'll be happy to review if you want to put up a full patch

Re: Assorted small doc patches

2022-06-01 Thread Peter Eisentraut
On 31.05.22 22:12, David G. Johnston wrote: Anything I should be doing differently here to get a bit of reviewer/committer time on these?  I'll add them to the commitfest for next month if needed but I'm seeing quick patches going in every week and the batch format done at the beginning of the

Re: Multi-Master Logical Replication

2022-06-01 Thread Bruce Momjian
On Wed, Jun 1, 2022 at 10:27:27AM +0530, Amit Kapila wrote: > On Tue, May 31, 2022 at 7:36 PM Bruce Momjian wrote: > > Uh, thinking some more, why would anyone set things up this way --- > > having part of a table being primary on one server and a different part > > of the table be a subscriber.

Re: Prevent writes on large objects in read-only transactions

2022-06-01 Thread Robert Haas
On Wed, Jun 1, 2022 at 1:29 AM Michael Paquier wrote: > Now the LO handling is quite old, and I am not sure if this is worth > changing as we have seen no actual complains about that with read-only > transactions, even if I agree on that it is inconsistent. That could > cause more harm than the c

Re: funcs.sgml - wrong example

2022-06-01 Thread Justin Pryzby
On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote: > funcs.sgml has > > 42 <@ '{[1,7)}'::int4multirange > > and calls it true. The attached fixes that. > > Included are two more changes where actual output differs a bit from what > the doc examples show. This patch is RFC but see

Re: support for MERGE

2022-06-01 Thread Justin Pryzby
On Wed, Jun 01, 2022 at 12:56:55PM +0200, Peter Eisentraut wrote: > On 31.05.22 22:06, Justin Pryzby wrote: > > On Wed, May 18, 2022 at 11:57:15AM -0500, Justin Pryzby wrote: > > > I prefer my original, but the most important thing is to include the link > > > at > > > *somewhere*. > > > > Any ot

Re: support for MERGE

2022-06-01 Thread Peter Eisentraut
On 31.05.22 22:06, Justin Pryzby wrote: On Wed, May 18, 2022 at 11:57:15AM -0500, Justin Pryzby wrote: I prefer my original, but the most important thing is to include the link at *somewhere*. Any other opinions ? Álvaro's patch seems ok to me. What are you concerned about? Do you have an

RE: Unicode Variation Selector and Combining character

2022-06-01 Thread 荒井元成
Thank you for your reply. I will check if there is any function below char_length that is realized by icu_ext. substring|trim|btrim|left |lpad|ltrim|regexp_match|regexp_matches |regexp_replace|regexp_split_to_array|regexp_split_to_table |replace|reverse|right|rpad|rtrim|split_part|strpos|substr|

Re: Unicode Variation Selector and Combining character

2022-06-01 Thread Peter Eisentraut
On 01.06.22 08:15, 荒井元成 wrote: D209007=# select char_length(U&'\+0066FE' || U&'\+0E0103') ; char_length -    2 (1 行) I expect length 1. The char_length function is defined to return the length in characters, so 2 is the correct answer. What you appear to be looking f

Re: Unicode Variation Selector and Combining character

2022-06-01 Thread Daniel Verite
Thomas Munro wrote: > Looking around a bit, it might be interesting to check if the > icu_character_boundaries() function in Daniel Vérité's icu_ext treats > IVSs as single grapheme clusters. It does. with strings(s) as ( values (U&'\+0066FE' || U&'\+0E0103'), (U&'\+00304B' || U

Re: [RFC] building postgres with meson

2022-06-01 Thread Aleksander Alekseev
Hi Andres, > What do those extensions use to build? Since the unconference I added some > rudimentary PGXS compatibility, but it's definitely not complete yet. We mostly use CMake and Cargo, the Rust package manager. So I don't anticipate many problems here, just want to make sure it's going to w

Re: doc: CREATE FOREIGN TABLE .. PARTITION OF .. DEFAULT

2022-06-01 Thread Etsuro Fujita
On Tue, May 31, 2022 at 9:35 PM Robert Haas wrote: > On Mon, May 30, 2022 at 2:27 AM Etsuro Fujita wrote: > > On Fri, May 27, 2022 at 9:22 PM Amit Langote > > wrote: > > > On Fri, May 27, 2022 at 7:15 PM Etsuro Fujita > > > wrote: > > > > Attached is a patch for that. > > > > > I think we sh

Re: [PoC] Let libpq reject unexpected authentication requests

2022-06-01 Thread Michael Paquier
On Sat, Mar 05, 2022 at 01:04:05AM +, Jacob Champion wrote: > the connection string, and libpq will fail the connection if the server > doesn't use that method. > > (This is not intended for PG15. I'm generally anxious about posting > experimental work during a commitfest, but there's been eno

Re: Unicode Variation Selector and Combining character

2022-06-01 Thread Thomas Munro
On Wed, Jun 1, 2022 at 7:09 PM Thomas Munro wrote: > On Wed, Jun 1, 2022 at 6:15 PM 荒井元成 wrote: > > D209007=# select char_length(U&'\+0066FE' || U&'\+0E0103') ; > > char_length > > - > >2 > > (1 行) > > > > I expect length 1. > > No opinion here, but I did happen to see Nor

Re: Unicode Variation Selector and Combining character

2022-06-01 Thread Thomas Munro
On Wed, Jun 1, 2022 at 6:15 PM 荒井元成 wrote: > D209007=# select char_length(U&'\+0066FE' || U&'\+0E0103') ; > char_length > - >2 > (1 行) > > I expect length 1. No opinion here, but I did happen to see Noriyoshi Shinoda's slides about this topic a little while ago, comparing