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.96) (envelope-from ) id 1wFnwr-005ZNO-0m for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Apr 2026 06:54:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wFnwq-0006t6-1C for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Apr 2026 06:54:04 +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.96) (envelope-from ) id 1wFnwp-0006sx-32 for pgsql-hackers@lists.postgresql.org; Thu, 23 Apr 2026 06:54:04 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wFnwn-00000002NMp-2bTb for pgsql-hackers@lists.postgresql.org; Thu, 23 Apr 2026 06:54:03 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-67389cf78b0so11304484a12.2 for ; Wed, 22 Apr 2026 23:54:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776927239; cv=none; d=google.com; s=arc-20240605; b=GN5wsm4WPFO1LCpxDU973jWhaOcMQ3fN4JY0179uV4JzsbVz5ScgirPLOxSbz5vtFD reZ3Zq4iP3RtgCUskwYh5UeX+NKK+qOJFmZ53KdrUSJD4WPe8j95e7AKj90iQogmTtQj DQVcjLE1CqPRrEGjyFpAT6BgDVDBik8sPx8ct+Sqs/jDC0W//+CY5V4jL7cq58BAjhUt Iu9QmNW1Y7wX8TY3UwFoDbOqXEXe8Lt4f2KZH3qI5iYmQPxpT+POMltNwfNLHDrpOPNF V9NFUBXYQ0DIfwV8BOYj5i6EHYZiuKuIt/tLomyK4VpzARJUmwPOPcygf1xOlrnurfIn IWVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=L3XGzgyqKEpo+7lXwveNIcI1Urkdz9zCeVKn6HWiCAE=; fh=rf79rTKPGsw7cX8Ly8TKTWm50sbG7CfzRgfTSNZkF6w=; b=hVk8XIpmKvjOlngaO0GbyUcr4h57icrwBkPFMg48q7nmRijhFSNWw14MB0Vqh+02hc p2koTqqLare1fwezop/MA0wydF4KzKru1T98XbBQAuEfQ6jeetQyyR/Crt1JGglKBFwd +OEF9F9KGy9xfbglJzq5xWNB3zZLIlu1Yqpu/2BfKK1DmxFEhI/KF54GNIgFaoN5aoCE q4BTiEW45HKsenz+Yu3IDSuF2iTw33M868d71Hrz5WICYcEbO1JH47WZUL7muPHlSw2D QZwZ8uCwo7/3zjpoFx2QZikRBGb4H3hwSXQeZOyED4PQOROI6dpuc8hzsxrXFF2f9qzj 1G5Q==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776927239; x=1777532039; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=L3XGzgyqKEpo+7lXwveNIcI1Urkdz9zCeVKn6HWiCAE=; b=IR4oB/gbjkn7A06GTzy3RqMvq+rRVKeZCylyvl5NiyP3yMWbQZZ1wnPgJhqZMX+Rt8 l/fzI0FIfx9Wkp82zuvhsQGRieT8Q3w7Ir60g0VOUbg/R6f2FqPpQNI5PkiuttkwI9g4 H02WruTrS9zcKYeWV4vB8XsFN7bqmTc2Wp/cPkDcYbYkjXWq25Y8iTvHE/r3GAgaQIAC OwW5X7PoCKtsY7inbcqE7XD2E0X6tBlO9+O4lV2XUH+Eezu/YcM8XnSf0Spckj3ACHqg 7EluBkbJRKTnfwWdo6op7dLogX6nGjS5ffuT2LlNcxnNSIQ8HtX3ucdx/k4JqQhMo2uL jhzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776927239; x=1777532039; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L3XGzgyqKEpo+7lXwveNIcI1Urkdz9zCeVKn6HWiCAE=; b=GC/TnVWamPXPOa3CfTbQmEmeIEoUN+8y4NUCiORKyIJCNqKyIav33ahok+vmRBF+h8 DA93r/Wbme7/lhKnty5mAjWPQpKygG+uZEzzQD72g8iqk0fg6pja6638ayLBWoTNWlh4 kcfFlrstSalt1zF42e8Ds1SHOIuYCoqyM2ALPOCjuhC2M0d3/2v0n9VQfHSy32IKmspM 6umaMvphhkQCOFXtVtm05r0R8KTXCPtPG2vjQ2hoRQhFriQuDh6V+wDIuJuT9rf514ch RnC5J/IXRpK95YS8b4X/6N7D9GaDm/p7u6lOTOyuW1YJJvgj5zu/RKpsCQzpYv+4KZ+j 0pUA== X-Gm-Message-State: AOJu0YxyHr+ZC/XAFC2InZw6Opx956yF7DIPkyJR/QUWCRDvMLGkmOII ibCe5V1X5lb3ix6dLue3sK1g783Q38CcaukzkCFRCekgOXz3vq33DkmpRX6KQEeQZ4uIXG041TZ dVZTt/DM9vH6zVPHylRL2sFCs+8e3USF1cnkx X-Gm-Gg: AeBDietE1QKcy31suInOa/Snv3kcYihpwhnuUo4DB433VJaEOmKIBdPXpkQu33Sz/YP wH6gWLpLtrjuwylaD/UdVkaqU3iXDv6JOxj/8m7gEQ6g3D8ETmJe5YWhVal6KE3ZVQUpaNZz0L4 FYtOLTXW2+8PEhO0cscGIRTdQghXtZmsdM0N2ic54cZzR5OFjhnMdoDOuGPFCv272IURMXP/cqv omCI25L4S3a7uwnUXJzqtqcoSW7xCfUEaY5A3u5+DEWMnb7ftaUH3d3P9+BM4HicrTbGp05H6+A ojGkiLWb4ezvfeGmWQ== X-Received: by 2002:a17:907:961b:b0:b9d:33b5:6ba1 with SMTP id a640c23a62f3a-ba41c1b6fbdmr1305515566b.15.1776927238758; Wed, 22 Apr 2026 23:53:58 -0700 (PDT) MIME-Version: 1.0 From: SATYANARAYANA NARLAPURAM Date: Wed, 22 Apr 2026 23:53:45 -0700 X-Gm-Features: AQROBzBbCDpS8Da6QbKBQLCnbX169BTSjGxvgMDFvAr2Fg6-nyIIqggbw97VLCc Message-ID: Subject: [Patch] Block ALTER TABLE RENAME COLUMN when column is used by property graph To: PostgreSQL Hackers , Ashutosh Bapat Content-Type: multipart/mixed; boundary="000000000000dbf5fb06501b1cf4" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000dbf5fb06501b1cf4 Content-Type: multipart/alternative; boundary="000000000000dbf5fa06501b1cf2" --000000000000dbf5fa06501b1cf2 Content-Type: text/plain; charset="UTF-8" Hi hackers, When a table column is referenced by a property graph, the property name stored in pg_propgraph_property.pgpname would become stale after a column rename. This caused GRAPH_TABLE queries to fail with the new column name ("property does not exist") while the old (dead) name continued to work. pg_get_propgraphdef() would also emit confusing output like "new_col AS old_col". Fix by checking pg_depend in renameatt_internal() for PropgraphLabelPropertyRelationId entries that reference the column being renamed. If any exist, raise an error directing the user to drop the property graph first. Thanks, Satya --000000000000dbf5fa06501b1cf2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi hackers,

When a table column is refe= renced by a property graph, the property
name stored in pg_propgraph_pro= perty.pgpname would become stale after
a column rename.=C2=A0 This cause= d GRAPH_TABLE queries to fail with the new
column name ("property d= oes not exist") while the old (dead) name
continued to work. =C2=A0= pg_get_propgraphdef() would also emit confusing
output like "new_co= l AS old_col".

Fix by checking pg_depend in renameatt_internal(= ) for
PropgraphLabelPropertyRelationId entries that reference the column=
being renamed.=C2=A0 If any exist, raise an error directing the user to=
drop the property graph first.

Thanks,
Satya
--000000000000dbf5fa06501b1cf2-- --000000000000dbf5fb06501b1cf4 Content-Type: application/octet-stream; name="0001-Block-ALTER-TABLE-RENAME-COLUMN-when-column-is-used-.patch" Content-Disposition: attachment; filename="0001-Block-ALTER-TABLE-RENAME-COLUMN-when-column-is-used-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mob4krry0 RnJvbSBmMDY0MDQ3MmNmYWJjOTYwZDFjMDdhNmY1OTZjY2NhYWRkYmI5ZDQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBzYXR5YW5hcmF5YW5hIG5hcmxhcHVyYW0gPHNhdHlhbmFybGFw dXJhbUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjEgQXByIDIwMjYgMDU6MTU6NDMgKzAwMDAKU3Vi amVjdDogW1BBVENIXSBCbG9jayBBTFRFUiBUQUJMRSBSRU5BTUUgQ09MVU1OIHdoZW4gY29sdW1u IGlzIHVzZWQgYnkKIHByb3BlcnR5IGdyYXBoCgpXaGVuIGEgdGFibGUgY29sdW1uIGlzIHJlZmVy ZW5jZWQgYnkgYSBwcm9wZXJ0eSBncmFwaCwgdGhlIHByb3BlcnR5Cm5hbWUgc3RvcmVkIGluIHBn X3Byb3BncmFwaF9wcm9wZXJ0eS5wZ3BuYW1lIHdvdWxkIGJlY29tZSBzdGFsZSBhZnRlcgphIGNv bHVtbiByZW5hbWUuICBUaGlzIGNhdXNlZCBHUkFQSF9UQUJMRSBxdWVyaWVzIHRvIGZhaWwgd2l0 aCB0aGUgbmV3CmNvbHVtbiBuYW1lICgicHJvcGVydHkgZG9lcyBub3QgZXhpc3QiKSB3aGlsZSB0 aGUgb2xkIChkZWFkKSBuYW1lCmNvbnRpbnVlZCB0byB3b3JrLiAgcGdfZ2V0X3Byb3BncmFwaGRl ZigpIHdvdWxkIGFsc28gZW1pdCBjb25mdXNpbmcKb3V0cHV0IGxpa2UgIm5ld19jb2wgQVMgb2xk X2NvbCIuCgpGaXggYnkgY2hlY2tpbmcgcGdfZGVwZW5kIGluIHJlbmFtZWF0dF9pbnRlcm5hbCgp IGZvcgpQcm9wZ3JhcGhMYWJlbFByb3BlcnR5UmVsYXRpb25JZCBlbnRyaWVzIHRoYXQgcmVmZXJl bmNlIHRoZSBjb2x1bW4KYmVpbmcgcmVuYW1lZC4gIElmIGFueSBleGlzdCwgcmFpc2UgYW4gZXJy b3IgZGlyZWN0aW5nIHRoZSB1c2VyIHRvCmRyb3AgdGhlIHByb3BlcnR5IGdyYXBoIGZpcnN0LgoK VGhpcyBpcyBjb25zaXN0ZW50IHdpdGggaG93IERST1AgQ09MVU1OIGFscmVhZHkgYmxvY2tzIHdo ZW4gYSBwcm9wZXJ0eQpncmFwaCBkZXBlbmRzIG9uIHRoZSBjb2x1bW4uCi0tLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgNTMgKysrKysrKysrKysrKysr KysrKwogLi4uL2V4cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5vdXQgICAgICAgIHwgMTcg KysrKysrCiAuLi4vcmVncmVzcy9zcWwvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLnNxbCAgICAgfCAx NiArKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv dGFibGVjbWRzLmMKaW5kZXggZWVjMDliYTEuLjc4YjZlNDY3IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJs ZWNtZHMuYwpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19w cm9jLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9wZ3JhcGhfbGFiZWxfcHJvcGVydHkuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFs b2cvcGdfcmV3cml0ZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljX2V4dC5oIgpA QCAtMzk5Nyw2ICszOTk4LDU4IEBAIHJlbmFtZWF0dF9pbnRlcm5hbChPaWQgbXlyZWxpZCwKIAkv KiBuZXcgbmFtZSBzaG91bGQgbm90IGFscmVhZHkgZXhpc3QgKi8KIAkodm9pZCkgY2hlY2tfZm9y X2NvbHVtbl9uYW1lX2NvbGxpc2lvbih0YXJnZXRyZWxhdGlvbiwgbmV3YXR0bmFtZSwgZmFsc2Up OwogCisJLyoKKwkgKiBEaXNhbGxvdyByZW5hbWluZyBjb2x1bW5zIHRoYXQgYXJlIHVzZWQgYnkg YSBwcm9wZXJ0eSBncmFwaC4gIFRoZQorCSAqIHByb3BlcnR5IGdyYXBoIGNhdGFsb2cgc3RvcmVz IHRoZSBwcm9wZXJ0eSBuYW1lIGluCisJICogcGdfcHJvcGdyYXBoX3Byb3BlcnR5LnBncG5hbWUs IHdoaWNoIHdvdWxkIGJlY29tZSBzdGFsZSBhZnRlciBhCisJICogcmVuYW1lLCBjYXVzaW5nIEdS QVBIX1RBQkxFIHF1ZXJpZXMgdXNpbmcgdGhlIG5ldyBjb2x1bW4gbmFtZSB0byBmYWlsCisJICog d2hpbGUgdGhlIG9sZCAoZGVhZCkgbmFtZSB3b3VsZCBzdGlsbCB3b3JrLgorCSAqLworCXsKKwkJ UmVsYXRpb24JZGVwUmVsOworCQlTY2FuS2V5RGF0YSBrZXlbM107CisJCVN5c1NjYW5EZXNjIGRl cFNjYW47CisJCUhlYXBUdXBsZQlkZXBUdXA7CisKKwkJZGVwUmVsID0gdGFibGVfb3BlbihEZXBl bmRSZWxhdGlvbklkLCBBY2Nlc3NTaGFyZUxvY2spOworCisJCVNjYW5LZXlJbml0KCZrZXlbMF0s CisJCQkJCUFudW1fcGdfZGVwZW5kX3JlZmNsYXNzaWQsCisJCQkJCUJURXF1YWxTdHJhdGVneU51 bWJlciwgRl9PSURFUSwKKwkJCQkJT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvblJlbGF0aW9uSWQp KTsKKwkJU2NhbktleUluaXQoJmtleVsxXSwKKwkJCQkJQW51bV9wZ19kZXBlbmRfcmVmb2JqaWQs CisJCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9PSURFUSwKKwkJCQkJT2JqZWN0SWRHZXRE YXR1bShteXJlbGlkKSk7CisJCVNjYW5LZXlJbml0KCZrZXlbMl0sCisJCQkJCUFudW1fcGdfZGVw ZW5kX3JlZm9ianN1YmlkLAorCQkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfSU5UNEVRLAor CQkJCQlJbnQzMkdldERhdHVtKChpbnQzMikgYXR0bnVtKSk7CisKKwkJZGVwU2NhbiA9IHN5c3Rh YmxlX2JlZ2luc2NhbihkZXBSZWwsIERlcGVuZFJlZmVyZW5jZUluZGV4SWQsIHRydWUsCisJCQkJ CQkJCQkgTlVMTCwgMywga2V5KTsKKworCQl3aGlsZSAoSGVhcFR1cGxlSXNWYWxpZChkZXBUdXAg PSBzeXN0YWJsZV9nZXRuZXh0KGRlcFNjYW4pKSkKKwkJeworCQkJRm9ybV9wZ19kZXBlbmQgZGVw Rm9ybSA9IChGb3JtX3BnX2RlcGVuZCkgR0VUU1RSVUNUKGRlcFR1cCk7CisKKwkJCWlmIChkZXBG b3JtLT5jbGFzc2lkID09IFByb3BncmFwaExhYmVsUHJvcGVydHlSZWxhdGlvbklkKQorCQkJewor CQkJCXN5c3RhYmxlX2VuZHNjYW4oZGVwU2Nhbik7CisJCQkJdGFibGVfY2xvc2UoZGVwUmVsLCBB Y2Nlc3NTaGFyZUxvY2spOworCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJD T0RFX0RFUEVOREVOVF9PQkpFQ1RTX1NUSUxMX0VYSVNUKSwKKwkJCQkJCSBlcnJtc2coImNhbm5v dCByZW5hbWUgY29sdW1uIFwiJXNcIiBvZiB0YWJsZSBcIiVzXCIgYmVjYXVzZSBhIHByb3BlcnR5 IGdyYXBoIGRlcGVuZHMgb24gaXQiLAorCQkJCQkJCQlvbGRhdHRuYW1lLAorCQkJCQkJCQlSZWxh dGlvbkdldFJlbGF0aW9uTmFtZSh0YXJnZXRyZWxhdGlvbikpLAorCQkJCQkJIGVycmhpbnQoIkRy b3AgdGhlIHByb3BlcnR5IGdyYXBoIGZpcnN0LCB0aGVuIHJlbmFtZSB0aGUgY29sdW1uLiIpKSk7 CisJCQl9CisJCX0KKworCQlzeXN0YWJsZV9lbmRzY2FuKGRlcFNjYW4pOworCQl0YWJsZV9jbG9z ZShkZXBSZWwsIEFjY2Vzc1NoYXJlTG9jayk7CisJfQorCiAJLyogYXBwbHkgdGhlIHVwZGF0ZSAq LwogCW5hbWVzdHJjcHkoJihhdHRmb3JtLT5hdHRuYW1lKSwgbmV3YXR0bmFtZSk7CiAKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dApp bmRleCBiYzlhNTk2ZS4uYTFkM2U2YTAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5vdXQKQEAgLTkwMSw2ICs5MDEsMjMgQEAgRVJS T1I6ICBjYW5ub3QgYWRkIHRlbXBvcmFyeSBlbGVtZW50IHRhYmxlIHRvIG5vbi10ZW1wb3Jhcnkg cHJvcGVydHkgZ3JhcGgKIExJTkUgMjogICAgIEFERCBWRVJURVggVEFCTEVTICh2MnRtcCBLRVkg KG0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiBERVRBSUw6ICBUYWJsZSAi djJ0bXAiIGlzIGEgdGVtcG9yYXJ5IHRhYmxlLgorLS0gQUxURVIgVEFCTEUgUkVOQU1FIENPTFVN TiBzaG91bGQgYmUgYmxvY2tlZCB3aGVuIGNvbHVtbiBpcyB1c2VkIGJ5CistLSBhIHByb3BlcnR5 IGdyYXBoICh0aGUgcHJvcGVydHkgZ3JhcGggY2F0YWxvZyBzdG9yZXMgcHJvcGVydHkgbmFtZXMK Ky0tIHRoYXQgd291bGQgYmVjb21lIHN0YWxlIGFmdGVyIHRoZSByZW5hbWUpCitDUkVBVEUgVEFC TEUgcmVuYW1lX3Rlc3QgKGlkIGludCBQUklNQVJZIEtFWSwgdmFsIHRleHQpOworQ1JFQVRFIFBS T1BFUlRZIEdSQVBIIGdfcmVuYW1lIFZFUlRFWCBUQUJMRVMgKHJlbmFtZV90ZXN0IEtFWSAoaWQp KTsKK0FMVEVSIFRBQkxFIHJlbmFtZV90ZXN0IFJFTkFNRSBDT0xVTU4gdmFsIFRPIG5ld192YWw7 ICAtLSBlcnJvcgorRVJST1I6ICBjYW5ub3QgcmVuYW1lIGNvbHVtbiAidmFsIiBvZiB0YWJsZSAi cmVuYW1lX3Rlc3QiIGJlY2F1c2UgYSBwcm9wZXJ0eSBncmFwaCBkZXBlbmRzIG9uIGl0CitISU5U OiAgRHJvcCB0aGUgcHJvcGVydHkgZ3JhcGggZmlyc3QsIHRoZW4gcmVuYW1lIHRoZSBjb2x1bW4u CitBTFRFUiBUQUJMRSByZW5hbWVfdGVzdCBSRU5BTUUgQ09MVU1OIGlkIFRPIG5ld19pZDsgIC0t IGVycm9yIChLRVkgY29sdW1uKQorRVJST1I6ICBjYW5ub3QgcmVuYW1lIGNvbHVtbiAiaWQiIG9m IHRhYmxlICJyZW5hbWVfdGVzdCIgYmVjYXVzZSBhIHByb3BlcnR5IGdyYXBoIGRlcGVuZHMgb24g aXQKK0hJTlQ6ICBEcm9wIHRoZSBwcm9wZXJ0eSBncmFwaCBmaXJzdCwgdGhlbiByZW5hbWUgdGhl IGNvbHVtbi4KKy0tIHJlbmFtaW5nIGEgY29sdW1uIG5vdCB1c2VkIGJ5IHRoZSBncmFwaCBzaG91 bGQgc3RpbGwgd29yaworQUxURVIgVEFCTEUgcmVuYW1lX3Rlc3QgQUREIENPTFVNTiBleHRyYSBp bnQ7CitBTFRFUiBUQUJMRSByZW5hbWVfdGVzdCBSRU5BTUUgQ09MVU1OIGV4dHJhIFRPIGV4dHJh MjsgIC0tIG9rCitBTFRFUiBUQUJMRSByZW5hbWVfdGVzdCBEUk9QIENPTFVNTiBleHRyYTI7CitE Uk9QIFBST1BFUlRZIEdSQVBIIGdfcmVuYW1lOworRFJPUCBUQUJMRSByZW5hbWVfdGVzdDsKIC0t IERST1AsIEFMVEVSIFNFVCBTQ0hFTUEsIEFMVEVSIFBST1BFUlRZIEdSQVBIIFJFTkFNRSBUTwog RFJPUCBUQUJMRSBnMjsgIC0tIGVycm9yOiB3cm9uZyBvYmplY3QgdHlwZQogRVJST1I6ICAiZzIi IGlzIG5vdCBhIHRhYmxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVf cHJvcGVydHlfZ3JhcGguc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3Byb3BlcnR5 X2dyYXBoLnNxbAppbmRleCAyNDFmOTNkZi4uMDMwOTZmNWQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9wcm9wZXJ0eV9ncmFwaC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvY3JlYXRlX3Byb3BlcnR5X2dyYXBoLnNxbApAQCAtMzQ3LDYgKzM0NywyMiBAQCBB TFRFUiBQUk9QRVJUWSBHUkFQSCBnMQogICAgIEFERCBWRVJURVggVEFCTEVTICh2MnRtcCBLRVkg KG0pKTsgIC0tIGVycm9yCiAKIAorLS0gQUxURVIgVEFCTEUgUkVOQU1FIENPTFVNTiBzaG91bGQg YmUgYmxvY2tlZCB3aGVuIGNvbHVtbiBpcyB1c2VkIGJ5CistLSBhIHByb3BlcnR5IGdyYXBoICh0 aGUgcHJvcGVydHkgZ3JhcGggY2F0YWxvZyBzdG9yZXMgcHJvcGVydHkgbmFtZXMKKy0tIHRoYXQg d291bGQgYmVjb21lIHN0YWxlIGFmdGVyIHRoZSByZW5hbWUpCisKK0NSRUFURSBUQUJMRSByZW5h bWVfdGVzdCAoaWQgaW50IFBSSU1BUlkgS0VZLCB2YWwgdGV4dCk7CitDUkVBVEUgUFJPUEVSVFkg R1JBUEggZ19yZW5hbWUgVkVSVEVYIFRBQkxFUyAocmVuYW1lX3Rlc3QgS0VZIChpZCkpOworQUxU RVIgVEFCTEUgcmVuYW1lX3Rlc3QgUkVOQU1FIENPTFVNTiB2YWwgVE8gbmV3X3ZhbDsgIC0tIGVy cm9yCitBTFRFUiBUQUJMRSByZW5hbWVfdGVzdCBSRU5BTUUgQ09MVU1OIGlkIFRPIG5ld19pZDsg IC0tIGVycm9yIChLRVkgY29sdW1uKQorLS0gcmVuYW1pbmcgYSBjb2x1bW4gbm90IHVzZWQgYnkg dGhlIGdyYXBoIHNob3VsZCBzdGlsbCB3b3JrCitBTFRFUiBUQUJMRSByZW5hbWVfdGVzdCBBREQg Q09MVU1OIGV4dHJhIGludDsKK0FMVEVSIFRBQkxFIHJlbmFtZV90ZXN0IFJFTkFNRSBDT0xVTU4g ZXh0cmEgVE8gZXh0cmEyOyAgLS0gb2sKK0FMVEVSIFRBQkxFIHJlbmFtZV90ZXN0IERST1AgQ09M VU1OIGV4dHJhMjsKK0RST1AgUFJPUEVSVFkgR1JBUEggZ19yZW5hbWU7CitEUk9QIFRBQkxFIHJl bmFtZV90ZXN0OworCisKIC0tIERST1AsIEFMVEVSIFNFVCBTQ0hFTUEsIEFMVEVSIFBST1BFUlRZ IEdSQVBIIFJFTkFNRSBUTwogCiBEUk9QIFRBQkxFIGcyOyAgLS0gZXJyb3I6IHdyb25nIG9iamVj dCB0eXBlCi0tIAoyLjQzLjAKCg== --000000000000dbf5fb06501b1cf4--