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 1gUzrh-0007ZG-8U for pgsql-bugs@arkaria.postgresql.org; Thu, 06 Dec 2018 20:03:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gUzrf-0006hk-Qy for pgsql-bugs@arkaria.postgresql.org; Thu, 06 Dec 2018 20:03:15 +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 1gUzrf-0006hd-Hf for pgsql-bugs@lists.postgresql.org; Thu, 06 Dec 2018 20:03:15 +0000 Received: from mail-qt1-x844.google.com ([2607:f8b0:4864:20::844]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gUzrc-0003Ha-Aa for pgsql-bugs@lists.postgresql.org; Thu, 06 Dec 2018 20:03:14 +0000 Received: by mail-qt1-x844.google.com with SMTP id i7so1951440qtj.10 for ; Thu, 06 Dec 2018 12:03:12 -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=f6nDlleTzJa2+ESOPmunEBnqQnSMu0sj4v7yVV/OXcE=; b=Zoe9YeTRmpRcSKzfjAD+THthPrc1q0P8kzhpoEJoA+/acdxuKN6DCe6ZToKbatDAnL LRc95YTlr7+Veg3wq+IzqrEL3OxT17I+ewk9dWuF9ZXMEDk27nGCU1hvbHEZOcExXJgh 7ioMZ1oLw5Bq65AwWMoMSgxVEgDKbq2Wv0rMmPl5VO3iaWm+fAAKY8g8nFGlSk/kscf9 wkfeuWwWVv8AsIwstqxLpPy6kYRIzzKE2YfgGXBfVP73FbAy6+utIb08/tNnSEQzxcuf pdzbD1aCqRtmdAD9VSLwMiet4ZZ4CwxUWb5j63bcEc15zovdfp41URRk3HCm0dEQlEP8 8XTw== 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=f6nDlleTzJa2+ESOPmunEBnqQnSMu0sj4v7yVV/OXcE=; b=IRYtV6DfaxU6/czzFK256FY5Dyo3MvP4BUlHjdFezP+Gl5/PqLEUiXBaqvMIzG1c1f UG5JrJsAdn8Y52PHbM05jdDP9iF0T8gpDvZwq9MIJpFB6ODYncC6IxM/WnRwk2ZYbrdR ywuV6rHhQZLG1KyYnfM8enBjn1SPRMF3er7GZbaF5SowJhzJQe/F9/VGNno7X9khcI7x aqlZM9OywplRXwPlgasw5jZhcIpFR6ZWm/5or501hW37WniyzGHjWxfWkBkYqkGk2Eq9 aSbTnhTBxl2lnZ4DmDFq7wmeEVNPM0+2uy6Kb9H7WrwXC1ZcmuvGsh6UfLP8+6EgT/Mv MGNQ== X-Gm-Message-State: AA+aEWZXRb+t96JWqdoY4GEY/hGB97ZQAkGO41mk/SnOMyImqxTw0T0S No8W/x4I7H5sRhkicgnFqoVTTw== X-Google-Smtp-Source: AFSGD/UtpurgNdOSo/vQIKSl9HQdKWe67mMhiRsOXV7s1TNxGBTm9czvvZnE6QMnQaCoYUUmKrJixA== X-Received: by 2002:ac8:45c9:: with SMTP id e9mr29603869qto.273.1544126591283; Thu, 06 Dec 2018 12:03:11 -0800 (PST) Received: from alvin.alvh.no-ip.org ([190.121.29.3]) by smtp.gmail.com with ESMTPSA id i65sm1286771qkh.49.2018.12.06.12.03.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 06 Dec 2018 12:03:10 -0800 (PST) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id D33187EA; Thu, 6 Dec 2018 17:03:08 -0300 (-03) Date: Thu, 6 Dec 2018 17:03:08 -0300 From: Alvaro Herrera To: Tom Lane Cc: ertugrul9090@gmail.com, Peter Eisentraut , pgsql-bugs@lists.postgresql.org Subject: Re: BUG #15511: Drop table error "invalid argument" Message-ID: <20181206200308.m6cxgag3o6yferrb@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <21376.1544125630@sss.pgh.pa.us> User-Agent: NeoMutt/20180716 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 2018-Dec-06, Tom Lane wrote: > Alvaro Herrera writes: > > On 2018-Nov-17, Tom Lane wrote: > >> I poked at that to the extent of testing every string in 11.1's tr.po > >> against our implementation of snprintf, and what I find is this: > >> msgid "column %s of %s" > >> msgstr "%2$s'nin %1$ sütunu" > > > I fixed this string in tr.po. At least it'll be correct in 11.2. > > Thanks! I'm also just about to push code changes for the easy parts > of what I recommended earlier (have psprintf report the bogus format > string, and make snprintf.c throw EINVAL for more error cases). Great. > Is anybody interested in the idea of making our own validator for > the .po files? I might be willing to code it up, if I knew what > its API ought to be, but I don't know the workflow in that area. I think it's definitely worthwhile to avoid introducing bogus files in the Pg repo. The work is done by these scripts: https://git.postgresql.org/gitweb/?p=pgtranslation/admin.git;a=tree;h=refs/heads/master;hb=refs/heads/master cp-po does some validation while copying the file from the pgtranslation repo back to Postgres, but I think that's the wrong time (at release time). The good one I think is wwwtools/pg-make-po, which runs a few times daily and produces the error file that ends up in the status table in babel.postgresql.org. We'd want something that produces output that can be appended to the $outdir/$catalogname-$lang.po.err file (lines 103ff of that script). Peter is the authority on this, of course. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services