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 1tc3v5-00FHEz-EY for pgsql-hackers@arkaria.postgresql.org; Sun, 26 Jan 2025 14:47:27 +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 1tc3v3-007C2L-UF for pgsql-hackers@arkaria.postgresql.org; Sun, 26 Jan 2025 14:47:25 +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 1tc3v3-007C2C-GW for pgsql-hackers@lists.postgresql.org; Sun, 26 Jan 2025 14:47:25 +0000 Received: from mail-vs1-xe32.google.com ([2607:f8b0:4864:20::e32]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tc3v0-001bwY-2u for pgsql-hackers@postgresql.org; Sun, 26 Jan 2025 14:47:24 +0000 Received: by mail-vs1-xe32.google.com with SMTP id ada2fe7eead31-4affab62589so961203137.1 for ; Sun, 26 Jan 2025 06:47:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737902842; x=1738507642; darn=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=HlY+DflruIPmHZ5zWSH0pZCrDOKUDjB0vBVAo1+evns=; b=C+pZ2oTXWDQQGEn5h9lOyBJ36oVzTl086MiDoP9vOvHBzCSZBNOiYOkGrR/6q7qpQZ 9KLngyWGwQyYm00IXJU94UfToNKnFLBM3x6PiIv0MZPre728elMvTIHmT+smgpwVhNnu VVdiXBoAL9tGLJeKevoeR5Ii0fhkJ23T0upGPM2fdlYpjl3CnPRLNyWylM6Ww9M3ggK+ 9bmE8cdbObtu7nr34exd6BzKZ0Gpt6L5d+7XJNfBSxyUBuSR13ik4WnlGqV7Sy3adnHC wM9/o/GKHtkdUabnAQlI/c1/uOXvpnR9dWxRQ26YhqtfMwjcrpSMXVkF5gL8Kwz+agcZ i00Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737902842; x=1738507642; 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=HlY+DflruIPmHZ5zWSH0pZCrDOKUDjB0vBVAo1+evns=; b=HH9AzXEHpR2h1UnqqSdnl+zupLY7mwbNR4cUKf/udgYqBpNJdi2pcf4Ef9WbjpcyQi V8AmjT0/6Gza3q0q2F3yzQUMrLV3T5uiIiiJRpYSIpF/IP4WiuDcsYyOD38WoCFI5S2i yvMb2yZoXuzghPR41qTJsAa5Z+Qm1E7zUTOz+rAWKmNL9a+VdLXv89gBYgqeMo8lavJn /D3C92pTbj2Y7ek8pU195WUTwCK/0VsM+eVPM5wlhw1Ag0FrTOYfJtRehDF9jHCdSach Mt3pfzextRJTYhf0kf5RzRF+OPCNihz2u/91ubbydQZXuO/yaXtkMdT4tgheuboVUFZL LqYw== X-Forwarded-Encrypted: i=1; AJvYcCWORlCwj4cpK4U0TJ3gTtiig+seUezc6Pg/TZQ0NiNyrpC4qlrz3lwVXm4mmon4QjARXeuS8mswE4DJU2Jw@postgresql.org X-Gm-Message-State: AOJu0Yxq0XQiIe6CmvqAF7tv1M6rU81wgABUvjw+C5DtFRWa1fXgnOdc 7qtvOHzgxvJNJFG8IhCm4+0DGP3P60gYkX+n3NeBEvKMCAw6JXAaFZdOd8P3QziORQDo8NPCAVN 1grTJPkLIL6wtyRjnZfIWYacRVGI= X-Gm-Gg: ASbGncs483vufvYN51Esv9a86/ziewiVgwGG5bwHGT9H+ABwtgqwrikHwGoqGOHIpQ0 xhHADRUjIer7rqZOjgigcjkrTcob1In9Nd+spKl79VgbXKGENFfPRbPagrM5i9ZaYrTLnWH3yKZ Gaxre2Gh4eDNoIUjy4 X-Google-Smtp-Source: AGHT+IFRnZdshQEy7H5/qWeQBN2sE8WqYu25lLmij9cmlMzYV1SwCBjoLEbhIfcg62FYtewXcM/ZBmhE4ehTp5cZQP4= X-Received: by 2002:a05:6102:a52:b0:4b6:1991:4f4f with SMTP id ada2fe7eead31-4b690c6b3a8mr33154768137.17.1737902842464; Sun, 26 Jan 2025 06:47:22 -0800 (PST) MIME-Version: 1.0 References: <202501110844.5ztsym4vbflm@alvherre.pgsql> In-Reply-To: From: jian he Date: Sun, 26 Jan 2025 22:46:45 +0800 X-Gm-Features: AWEUYZnfMrElmlBZQRTuLNNbVIlvLNbbE1LKI4XAFXXl0TJ_e52oG4_WyXJIhz0 Message-ID: Subject: Re: Non-text mode for pg_dumpall To: Mahendra Singh Thalor Cc: Alvaro Herrera , Guillaume Lelarge , Nathan Bossart , Magnus Hagander , Tom Lane , Andrew Dunstan , PostgreSQL-development , Dilip Kumar Content-Type: multipart/mixed; boundary="00000000000094f20d062c9d0997" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000094f20d062c9d0997 Content-Type: text/plain; charset="UTF-8" hi. attached patching trying to refactor ReadOneStatement for properly handling the single and double quotes. the commit message also has some tests on it. it is based on your v11_pg_dumpall-with-directory-tar-custom-format-21-jan.patch. --00000000000094f20d062c9d0997 Content-Type: application/octet-stream; name="v11-0001-refactoring-ReadOneStatement.no-cfbot" Content-Disposition: attachment; filename="v11-0001-refactoring-ReadOneStatement.no-cfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m6dqcvnh0 RnJvbSAxMWMxZjM4NDEzNDE1ZjU4MmMwNTk2ZmY3NDVlNGNiZmIxODQ4MTI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFN1biwgMjYgSmFuIDIwMjUgMjI6MzY6MjggKzA4MDAKU3ViamVjdDogW1BBVENIIHYx MSAxLzFdIHJlZmFjdG9yaW5nIFJlYWRPbmVTdGF0ZW1lbnQgZXNjYXBlIHNpbmdsZSBxdW90ZSBh bmQKIGRvdWJsZSBxdW90ZSBmb3IgUmVhZE9uZVN0YXRlbWVudC4KCnRoZSBmb2xsb3dpbmcgYXJl IHNvbWUgdGVzdHMgdG8gcHJvdmUgaXQgYWNjdXJhdGUuCgpjcmVhdGUgcm9sZSB5Owpjb21tZW50 IG9uIHJvbGUgeSBpcyAkJDsiJyQkOwpjcmVhdGUgcm9sZSAiJyI7CmNyZWF0ZSByb2xlICInJzsi OwpjcmVhdGUgcm9sZSAiJzs7Oyc7IjsKY3JlYXRlIHJvbGUgejsKY29tbWVudCBvbiByb2xlIHog aXMgJCQiIjsnOyQkOwoKY3JlYXRlIHJvbGUgIjsKJzsKOwoiOwpjcmVhdGUgcm9sZSAiOyI7CmNv bW1lbnQgb24gcm9sZSAiOyIgaXMgJCQ7Iic7JywiLCcgJCQ7CmNvbW1lbnQgb24gcm9sZSAiOyIg aXMgJCQ7Iic7JywiLCcKCiQkOwoKY3JlYXRlIHJvbGUgIgoKIjsKY29tbWVudCBvbiByb2xlIHog aXMgJCQ7Iic7JywiLCcnOzsnIiI7JCQ7Ci0tLQogc3JjL2Jpbi9wZ19kdW1wL3BnX3Jlc3RvcmUu YyB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDQxIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ19kdW1wL3BnX3Jlc3RvcmUuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMKaW5k ZXggNzlmNjEzOTVhZS4uNjUwMjllY2I3NiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3Bn X3Jlc3RvcmUuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5jCkBAIC03NjQsNiAr NzY0LDEwIEBAIHN0YXRpYyBpbnQKIFJlYWRPbmVTdGF0ZW1lbnQoU3RyaW5nSW5mbyBpbkJ1Ziwg RklMRSAqcGZpbGUpCiB7CiAJaW50CQkJYzsgLyogY2hhcmFjdGVyIHJlYWQgZnJvbSBnZXRjKCkg Ki8KKwlpbnQJCQltOworCisJU3RyaW5nSW5mb0RhdGEJcTsKKwlpbml0U3RyaW5nSW5mbygmcSk7 CiAKIAlyZXNldFN0cmluZ0luZm8oaW5CdWYpOwogCkBAIC03NzIsMTYgKzc3Niw0NCBAQCBSZWFk T25lU3RhdGVtZW50KFN0cmluZ0luZm8gaW5CdWYsIEZJTEUgKnBmaWxlKQogCSAqLwogCXdoaWxl ICgoYyA9IGZnZXRjKHBmaWxlKSkgIT0gRU9GKQogCXsKLQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIo aW5CdWYsIChjaGFyKSBjKTsKKwkJaWYgKGMgIT0gJ1wnJyAmJiBjICE9ICciJyAmJiBjICE9ICdc bicgJiYgYyAhPSAnOycpCisJCXsKKwkJCWFwcGVuZFN0cmluZ0luZm9DaGFyKGluQnVmLCAoY2hh cikgYyk7CisJCQl3aGlsZSAoKGMgPSBmZ2V0YyhwZmlsZSkpICE9IEVPRikKKwkJCXsKKwkJCQlp ZiAoYyAhPSAnXCcnICYmIGMgIT0gJyInICYmIGMgIT0gJzsnICYmIGMgIT0gJ1xuJykKKwkJCQkJ YXBwZW5kU3RyaW5nSW5mb0NoYXIoaW5CdWYsIChjaGFyKSBjKTsKKwkJCQllbHNlCisJCQkJCWJy ZWFrOworCQkJfQorCQl9CisKKwkJaWYgKGMgPT0gJ1wnJyB8fCBjID09ICciJykKKwkJeworCQkJ YXBwZW5kU3RyaW5nSW5mb0NoYXIoJnEsIChjaGFyKSBjKTsKKwkJCW0gPSBjOworCisJCQl3aGls ZSAoKGMgPSBmZ2V0YyhwZmlsZSkpICE9IEVPRikKKwkJCXsKKwkJCQlhcHBlbmRTdHJpbmdJbmZv Q2hhcigmcSwgKGNoYXIpIGMpOworCisJCQkJaWYoIGMgPT0gbSkKKwkJCQl7CisJCQkJCWFwcGVu ZFN0cmluZ0luZm9TdHJpbmcoaW5CdWYsIHEuZGF0YSk7CisJCQkJCXJlc2V0U3RyaW5nSW5mbygm cSk7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJfQorCisJCWlmIChjID09ICc7JykKKwkJ eworCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoaW5CdWYsIChjaGFyKSBjKTsKKwkJCWJyZWFrOwor CQl9CiAKIAkJaWYgKGMgPT0gJ1xuJykKLQkJewotCQkJaWYoaW5CdWYtPmxlbiA+IDEgJiYKLQkJ CQkJaW5CdWYtPmRhdGFbaW5CdWYtPmxlbiAtIDJdID09ICc7JykKLQkJCQlicmVhazsKLQkJCWVs c2UKLQkJCQljb250aW51ZTsKLQkJfQorCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoaW5CdWYsIChj aGFyKSBjKTsKIAl9CiAKIAkvKiBObyBpbnB1dCBiZWZvcmUgRU9GIHNpZ25hbCBtZWFucyB0aW1l IHRvIHF1aXQuICovCkBAIC0xMTEzLDYgKzExNDUsNyBAQCBleGVjdXRlX2dsb2JhbF9zcWxfY29t bWFuZHMoUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpkdW1wZGlycGF0aCwgY29uc3QgY2hhciAq bwogCS8qIFByb2Nlc3MgZmlsZSB0aWxsIEVPRiBhbmQgZXhlY3V0ZSBzcWwgc3RhdGVtZW50cyAq LwogCXdoaWxlIChSZWFkT25lU3RhdGVtZW50KCZzcWxzdGF0ZW1lbnQsIHBmaWxlKSAhPSBFT0Yp CiAJeworCQlwZ19sb2dfaW5mbygiZXhlY3V0aW5nICVzIiwgc3Fsc3RhdGVtZW50LmRhdGEpOwog CQlyZXN1bHQgPSBQUWV4ZWMoY29ubiwgc3Fsc3RhdGVtZW50LmRhdGEpOwogCiAJCXN3aXRjaCAo UFFyZXN1bHRTdGF0dXMocmVzdWx0KSkKLS0gCjIuMzQuMQoK --00000000000094f20d062c9d0997--