{"Entry":{"collection":"guc","key":"debug_copy_parse_plan_trees","name":"debug_copy_parse_plan_trees","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Developer Options","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"17","status":"added","to":"18"}],"content_hash":"de0520fd900cb79af0e368ade53ee767034727280dc5c7f1790edd9b102771d6","context":"","default_changed_in":[],"default_history":[],"derived_content_hash":"8f5413f457e93eec98e178326cf48f2f4c70756035df697f4b77982d2c9077fc","documentation_refresh":{"batch":"20261113","original_source_rev":"wiki-repair-20261023:0635a3e0435713aa1c13275927a59549aa23adf6b9c74616674eaf700e4b9a6f","versions":{"18":"18.7","19":"19rc2"}},"editorial":{},"enumvals":[],"first_version":"18","group":"Developer Options","group_slug":"developer","imported_at":"2026-09-27T17:57:31.035535+08:00","intro_commit":{},"key":"debug_copy_parse_plan_trees","last_version":"20","max_val":"","min_val":"","name":"debug_copy_parse_plan_trees","position":83,"present_in":["18","19","20"],"repair_provenance":{"original_source_revision":"english-manuals:4885b1b443e27b4398921a95fbc25fd95ac232dd0c372c4894b16510dea42888","receipt_sha256":"b16799eb256ccf9b16b03b99211d3451b4ecd54355ecf755926be8d36cf3751d","repair":"wiki-repair-20261023"},"short_desc":"Enabling this forces all parse and plan trees to be passed through copyObject(), to facilitate catching errors and omissions in copyObject().","short_desc_zh":"","source_rev":"wiki-repair-20261023:0635a3e0435713aa1c13275927a59549aa23adf6b9c74616674eaf700e4b9a6f","unit":"","vartype":"bool"}},"Definition":{"Collection":"guc","Key":"debug_copy_parse_plan_trees","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"debug_copy_parse_plan_trees","SourceRevision":"wiki-repair-20261023:0635a3e0435713aa1c13275927a59549aa23adf6b9c74616674eaf700e4b9a6f","Facts":{"boot_val":null,"category":"Developer Options","context":"","description":"Enabling this forces all parse and plan trees to be passed through copyObject(), to facilitate catching errors and omissions in copyObject(). The default is off. This parameter is only available when DEBUG_NODE_TESTS_ENABLED was defined at compile time (which happens automatically when using the configure option --enable-cassert).","description_zh":"启用该选项会强制所有解析树和计划树都经过 copyObject() 处理，以便更容易发现 copyObject() 中的错误和遗漏。默认值为关闭。 只有在编译时定义了 DEBUG_NODE_TESTS_ENABLED 时，这个参数才可用；使用 configure 选项 --enable-cassert 时会自动定义该宏。","description_zh_html":"\u003cp\u003e\n        启用该选项会强制所有解析树和计划树都经过 \u003ccode class=\"function\"\u003ecopyObject()\u003c/code\u003e 处理，以便更容易发现 \u003ccode class=\"function\"\u003ecopyObject()\u003c/code\u003e 中的错误和遗漏。默认值为关闭。\n       \u003c/p\u003e\u003cp\u003e\n        只有在编译时定义了 \u003ccode class=\"symbol\"\u003eDEBUG_NODE_TESTS_ENABLED\u003c/code\u003e 时，这个参数才可用；使用 \u003cspan class=\"application\"\u003econfigure\u003c/span\u003e 选项 \u003ccode class=\"option\"\u003e--enable-cassert\u003c/code\u003e 时会自动定义该宏。\n       \u003c/p\u003e","doc":{"anchor":"GUC-DEBUG-COPY-PARSE-PLAN-TREES","file":"runtime-config-developer.html","lang":"en","sha256":"a3f6a107ed6ba4edaf6df03e52f4a469bd09350d545e4ff419e62844025ec1cf","slug":"18"},"doc_html":"\u003cp\u003e\n        Enabling this forces all parse and plan trees to be passed through\n        \u003ccode class=\"function\"\u003ecopyObject()\u003c/code\u003e, to facilitate catching errors and\n        omissions in \u003ccode class=\"function\"\u003ecopyObject()\u003c/code\u003e.  The default is off.\n       \u003c/p\u003e\u003cp\u003e\n        This parameter is only available when\n        \u003ccode class=\"symbol\"\u003eDEBUG_NODE_TESTS_ENABLED\u003c/code\u003e was defined at compile time\n        (which happens automatically when using the\n        \u003cspan class=\"application\"\u003econfigure\u003c/span\u003e option\n        \u003ccode class=\"option\"\u003e--enable-cassert\u003c/code\u003e).\n       \u003c/p\u003e","doc_same_as":"","documentation_revision":{"inputs":[{"file":"runtime-config-developer.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"a3f6a107ed6ba4edaf6df03e52f4a469bd09350d545e4ff419e62844025ec1cf","version":"18.7"},{"file":"runtime-config-developer.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"e7e22aa5738a1d376b84af1adca796c5e14746266733f925eb50c3ef86a50655","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"documented":true,"enumvals":[],"extra_desc":"","lang":"en","max_val":null,"metadata_version":"","min_val":null,"name":"debug_copy_parse_plan_trees","short_desc":"","source":"english-manual","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/runtime-config-developer.html","sha256":"3c08bf624188bbb0733dc7854e61c0c251c2578311ac3dc8fa626ab21b7911d1"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"unit":"","vartype":"bool","zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"GUC-DEBUG-COPY-PARSE-PLAN-TREES","file":"runtime-config-developer.html","lang":"en","sha256":"a3f6a107ed6ba4edaf6df03e52f4a469bd09350d545e4ff419e62844025ec1cf","slug":"18"}},"MeasuredEvidence":{"metadata_version":""}},"Text":{"Collection":"guc","Key":"debug_copy_parse_plan_trees","SourceDatabase":"center","Version":"18","Locale":"en","Title":"debug_copy_parse_plan_trees","Summary":"Enabling this forces all parse and plan trees to be passed through copyObject(), to facilitate catching errors and omissions in copyObject(). The default is off. This parameter is only available when DEBUG_NODE_TESTS_ENABLED was defined at compile time (which happens automatically when using the configure option --enable-cassert).","BodyHTML":"\u003cp\u003e\n        Enabling this forces all parse and plan trees to be passed through\n        \u003ccode\u003ecopyObject()\u003c/code\u003e, to facilitate catching errors and\n        omissions in \u003ccode\u003ecopyObject()\u003c/code\u003e.  The default is off.\n       \u003c/p\u003e\u003cp\u003e\n        This parameter is only available when\n        \u003ccode\u003eDEBUG_NODE_TESTS_ENABLED\u003c/code\u003e was defined at compile time\n        (which happens automatically when using the\n        \u003cspan\u003econfigure\u003c/span\u003e option\n        \u003ccode\u003e--enable-cassert\u003c/code\u003e).\n       \u003c/p\u003e","SourceRevision":"wiki-repair-20261023:0635a3e0435713aa1c13275927a59549aa23adf6b9c74616674eaf700e4b9a6f","ContentHash":"32d45a2d7777591fa6e7a453d1f52296f9c46fe17550d751a5260355f804786b","Payload":{"description":"Enabling this forces all parse and plan trees to be passed through copyObject(), to facilitate catching errors and omissions in copyObject(). The default is off. This parameter is only available when DEBUG_NODE_TESTS_ENABLED was defined at compile time (which happens automatically when using the configure option --enable-cassert)."}},"RequestedLocale":"en","Fallback":false,"Versions":["18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
