Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1inVUE-0003x3-CG for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Jan 2020 22:32:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1inVUC-0001GN-8I for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Jan 2020 22:32:04 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1inVUB-0001Ef-1T for pgsql-hackers@lists.postgresql.org; Fri, 03 Jan 2020 22:32:03 +0000 Received: from mail-qt1-x842.google.com ([2607:f8b0:4864:20::842]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1inVU4-0001Sm-4p for pgsql-hackers@lists.postgresql.org; Fri, 03 Jan 2020 22:32:01 +0000 Received: by mail-qt1-x842.google.com with SMTP id l12so37902600qtq.12 for ; Fri, 03 Jan 2020 14:31:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=Umn3wPEvW+4DIfzEgLeY4dDjJab4vZAGUiVHs4nH6LA=; b=BhK49mil59IXbY7eOjIuVr03fBTw8CrdYFtJippk1vcJTON4wWnXaVKI/rYRxYZO/g XyNtejHCrM6CChD3dIdxzwQ0jmWy5BIJvpLAN6Rfie4I8WYnaMV7GvjzAjOWiSjvhFom PGkctVrGTVqsF68g+1qBBEWxOWu0rHfilenQqHeKa3xgL8HazoOHTGTZ48UQlesmGXou 2mhEUgBsqx1gbNx/i890FdzYYqUui2+bvINxFTejvLZ9D+R5sIzfnhbfoGMa9jAMSJxj MlWE0j0gTiraExagVgCvodCI3JSYFoMBQJCSI1hI/wsn5MkS+Dt/MzIr/+HZgrp/eOkW zbGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Umn3wPEvW+4DIfzEgLeY4dDjJab4vZAGUiVHs4nH6LA=; b=fpk5C1tyjqaPyDjLyVkt8etgudhJ6BLYZTVvQL5GauZ1UArATp6m4BC/YwcjWLERPf z2NPwr/VzIyRar/on0vHxQ7eoNoSPa2F1MWu5Cc0EDe6C1w2xqcJ4yPWahtPlhZAEVO0 Fke34zvpLVH3lLd6StDnBv6+WPsMsBwvUoyjh+05LM45YhFdmCfoZ8osWdQBedsFx4h6 6DEbip+Xz8FHPv3tWGDUoNNhfw7AcFbZgUhzdo783ahok6T+RhYaHdfeIuNBkz1Q2O66 1un5BQVcAkPoKMu2hdEv1RGPVODdC73ADyYN8NUmJKy287bfZ2979WoJzV6q7yWsewgE GkRw== X-Gm-Message-State: APjAAAUQO/zsNjeFvk9wo0ERFy7bsFscNa7zYnjoySU0NMgLAOypccJh qghtbsP9wbD64909oHhvzrDzkQ== X-Google-Smtp-Source: APXvYqxNlDBRXnEnxhb3/Ofj2xuFAbHKUM+6RLQCsYSp89xK7TmHRhkFemUEi+6yQCjpScI6c7ty0A== X-Received: by 2002:ac8:3198:: with SMTP id h24mr66187652qte.291.1578090715151; Fri, 03 Jan 2020 14:31:55 -0800 (PST) Received: from nimloth.alvh.no-ip.org ([179.56.50.238]) by smtp.gmail.com with ESMTPSA id x42sm19393093qtc.25.2020.01.03.14.31.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jan 2020 14:31:54 -0800 (PST) Received: by nimloth.alvh.no-ip.org (Postfix, from userid 1000) id 122DA300A02; Fri, 3 Jan 2020 19:31:31 -0300 (-03) Date: Fri, 3 Jan 2020 19:31:31 -0300 From: Alvaro Herrera To: Robert Haas Cc: Merlin Moncure , Chapman Flack , Tom Lane , Peter Eisentraut , Dean Rasheed , Vik Fearing , Fabien COELHO , PostgreSQL Hackers Subject: Re: Greatest Common Divisor Message-ID: <20200103223131.GA30702@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 2020-Jan-03, Robert Haas wrote: > On Fri, Jan 3, 2020 at 4:11 PM Alvaro Herrera wrote: > > Maybe a very simple solution is indeed to have a separate pg_math or > > pg_extra or whatever, which by default is *last* in the search_path. > > That would make a user's gcd() be chosen preferently, if one exists. > > Then every time we add a function, or anything else, we can bikeshed > about whether it should go in pg_catalog or pg_extra! Yeah, I was just thinking about that :-) I was thinking that all standard-mandated functions, as well as system functions, should be in pg_catalog; and otherwise stuff should not get in the user's way. > FWIW, EnterpriseDB has something like this for Advanced Server, and it > actually adds a fair amount of complexity, much of it around > OverrideSearchPath. It's not unmanageable, but it's not trivial, > either. Oh, hmm. okay. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services