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 1td4XW-004fUN-3d for pgsql-hackers@arkaria.postgresql.org; Wed, 29 Jan 2025 09:39:18 +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 1td4XU-0063Yd-8K for pgsql-hackers@arkaria.postgresql.org; Wed, 29 Jan 2025 09:39:16 +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 1td4XT-0063WJ-Ub for pgsql-hackers@lists.postgresql.org; Wed, 29 Jan 2025 09:39:15 +0000 Received: from mail-vk1-xa34.google.com ([2607:f8b0:4864:20::a34]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1td4XR-0025pD-1C for pgsql-hackers@lists.postgresql.org; Wed, 29 Jan 2025 09:39:14 +0000 Received: by mail-vk1-xa34.google.com with SMTP id 71dfb90a1353d-51cee9d5013so3989689e0c.3 for ; Wed, 29 Jan 2025 01:39:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738143553; x=1738748353; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9AHru37vZsZ4kveCsSU3D1Ete5DphkGLdX8PtPkqaik=; b=HvrsZug/350XYSe8bVSvR3WjKUbEfobmW4FvaWL1AIXKcUcidJ/cN9076Y2G3LHyts femvKY348OyhmaS4X/tD51pvIHzs+r8Oc+r0YfNtmJXWdMmH1ePDU5v5FULCZaGUKvWE MFN/NZ26Ea1nNje9ipY/u06NUhxhAJRNitzb3+TF8d89adsG3koz4hFpvOEoFp7UTaD9 5Mz2k5Zv/pUxVIHuQueBNakmpSEHerH/Hd9UuDKpM2wwcGcMCFv0oG2Aa0W0H5P4kAY7 sNf0+chSTuPepYKDgHJx1eR8R6M77kmGdHDwe3sytc2vB2nZP888l8OtglF6/ocyBVGL TeTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738143553; x=1738748353; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9AHru37vZsZ4kveCsSU3D1Ete5DphkGLdX8PtPkqaik=; b=niaP50mQsur4xPakwaO8BS57tjRqLBVOmabr+LgQTjExQ7VJeF1ORzjAk6akixnXDu UwctggOwGSum6AwO9t17K2ZpNcFO40WF5E26pYdNzEiHaZJJHYisZKM9Mu1d88HMKZNz GVCt+xj878r15QrgbEipwFreTB0DuWTV7CP58QiUhJ+KDfH805n/Pyz9a1iegiB+2Qw8 WPY6mHWDcI2LOgF1vr43b/fevx4izGfPrpW1u/S/W6wPKwdN9/BYPjce14j1ei/Qsq+o LAOQBvSNJ6vZS6pthZ5aYtx5BjTZRzl532eWv03x2yGcPXACbq05mmhrZJABK37X4/6j 3NTQ== X-Forwarded-Encrypted: i=1; AJvYcCWAS/gkowJEPbp6Xj0zOiAXI21M9Wj/dm/Soix72oNlrQ6+0FvWZZ0EWUzMr1gtl33RbrEjDnc/O1DaHRWz@lists.postgresql.org X-Gm-Message-State: AOJu0Yztbsm0d/t3zz+TeKUNNq2KjqXHQlVdPVfYjKrA9AjNiU5MqYo5 wCkle2P+8QR/FDq67fUlSr7J36gBwIw3nRsgokatRyKPsXln8GIB1tWfMsgfDhvxLx1/5EaPwcL wGCFTRxDgzRaq/kzmdf7Mo5JzuyM= X-Gm-Gg: ASbGncsOviZ4/UnrUJSeZE+VJblazn7oOIdSDYbKNWOIURTDzjuPfhp430xlQ7hSUnV eovQiRQhXBTyMUEdgd3heUohMKdYfpkfnlKfcVgiEMsL7DHkpB9JTcngjr9bS3hT5bJwLLqMW/o MFz6MJ3hhrJrPq1GYf6zcTw1N96tY= X-Google-Smtp-Source: AGHT+IEu77BMTx743RVE3a6B+9vZoQt4HgRBYSQRa5NoaRnkK2MGSTGf8E/9Qb2fOQtzM4Xx5YlnGm/uNWJZT8ZNS9Q= X-Received: by 2002:a05:6122:2212:b0:51d:e9c0:e607 with SMTP id 71dfb90a1353d-51e9e33ae65mr2281088e0c.4.1738143552954; Wed, 29 Jan 2025 01:39:12 -0800 (PST) MIME-Version: 1.0 References: <202501110844.5ztsym4vbflm@alvherre.pgsql> In-Reply-To: From: jian he Date: Wed, 29 Jan 2025 17:38:36 +0800 X-Gm-Features: AWEUYZkijQe1J6ypiBFq-3AVGGg5x4sb-ZAmbn-PwdsuZYYSVxBblfoXQs0ViHY Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Mahendra Singh Thalor Cc: Srinath Reddy , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000000b1444062cd51563" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000000b1444062cd51563 Content-Type: text/plain; charset="UTF-8" hi. we need to escape the semicolon within the single quotes or double quotes. I think my patch in [1] is correct. we can have "ERROR: role "z" already exists but error message like pg_restore: error: could not execute query: "ERROR: unterminated quoted string at or near "'; should not be accepted in execute_global_sql_commands, ReadOneStatement, PQexec attached is the all the corner test case i come up with against ReadOneStatement. your v13 will generate errors like "ERROR: unterminated quoted string at or near ..."', which is not good, i think. [1] https://www.postgresql.org/message-id/CACJufxEQUcjBocKJQ0Amf3AfiS9wFB7zYSHrj1qqD_oWeaJoGQ%40mail.gmail.com --0000000000000b1444062cd51563 Content-Type: application/sql; name="global_object_quotes_escape_tests.sql" Content-Disposition: attachment; filename="global_object_quotes_escape_tests.sql" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m6hpnnwf0 CmNyZWF0ZSByb2xlIHg7CmNvbW1lbnQgb24gcm9sZSB4IGlzICQkIifwn5iKOyIiJyQkOwpBTFRF UiBST0xFIHggSU4gREFUQUJBU0UgdGVtcGxhdGUxIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0g J0RFQlVHJzsKQUxURVIgUk9MRSB4IFNFVCBtYWludGVuYW5jZV93b3JrX21lbSA9IDEwMDAwMDsK Q1JFQVRFIFJPTEUgeDEgV0lUSCBMT0dJTiBQQVNTV09SRCAnanc4czBGNCcgVkFMSUQgVU5USUwg JzIwMDUtMDEtMDEnOwpjb21tZW50IG9uIHJvbGUgeDEgaXMgJCQiJzsiJycKJCQ7CgpDUkVBVEUg Uk9MRSB4MiBXSVRIIExPR0lOIFBBU1NXT1JEICdqdzhzMEYiNCc7CmNvbW1lbnQgb24gcm9sZSB4 MiBpcyAkJCc7IiQkOwoKY3JlYXRlIHJvbGUgeTsKY29tbWVudCBvbiByb2xlIHkgaXMgJCQ7Iick JDsKY3JlYXRlIHJvbGUgIiciOwpjcmVhdGUgcm9sZSAiJyc7IjsKY3JlYXRlIHJvbGUgIic7Ozsn OyI7CmNyZWF0ZSByb2xlIHo7CmNvbW1lbnQgb24gcm9sZSB6IGlzICQkIiI7JzskJDsKCmNyZWF0 ZSByb2xlICI7Cic7CjsKIjsKY3JlYXRlIHJvbGUgIjsiOwpjb21tZW50IG9uIHJvbGUgIjsiIGlz ICQkOyInOycsIiwnICQkOwpjb21tZW50IG9uIHJvbGUgIjsiIGlzICQkOyInOycsIiwnIAoKJCQ7 CgpjcmVhdGUgcm9sZSAiCgoiOwpjb21tZW50IG9uIHJvbGUgeiBpcyAkJDsiJzsnLCIsJyc7Oyci IjskJDs= --0000000000000b1444062cd51563--