{"kind": "protocol", "major": "18", "item": {"slug": "parse-f", "name": "Parse", "name_zh": "", "category": "Frontend messages", "summary": "Parse is a frontend protocol message. Identifies the message as a Parse command.", "aliases": ["Parse", "Byte1('P')"], "content_hash": "8a4f8508e4c4c01c606e95df1f18dee0fdb82227e4cfab29eebb34bb5d08c734", "versions": {"10": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/10/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/10/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/10/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "stable", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 10 English manual", "sha256": "b730a205dfc348a67edbc1e9687f2c2df69005fe30c062ef76e37b474538e4f8"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/10/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "11": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/11/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/11/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/11/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 11 English manual", "sha256": "a6087693de687f5a6582bfa6529356ecb8a089e2d56694482352a55eb6ccfdf1"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/11/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "12": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/12/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/12/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/12/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 12 English manual", "sha256": "00f6cafbcaad89c7e7982faed10a2896b7188de151ac9137633021207f7c2b70"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/12/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "13": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/13/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/13/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/13/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 13 English manual", "sha256": "86bc62b343a9bd881a6832cced7d81285a9924985ea598ee2b207bbb4ba9666e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/13/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "14": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/14/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/14/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/14/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 14 English manual", "sha256": "250fd6a2529964948260a546f72931e259885bb222b62c3bdbf5ab402b72987b"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/14/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "15": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/15/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/15/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/15/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 15 English manual", "sha256": "8c5c191eef74cd3249dabab5d6714b0f516b88c4658da4d6cce6c003bc45d919"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/15/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "16": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/16/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/16/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 16 English manual", "sha256": "c15646b30727f469cdac3bd411e50dc9b14ee85982a9c9c8a2b3e16449b39a46"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/16/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "17": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/17/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/17/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 17 English manual", "sha256": "3c0e7b8a1a8f7ec5026226eab83d6704b7c5199ec9ba1aaaf91ea517609eed4e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/17/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "18": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/18/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "19": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/19/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/19/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 19 English manual", "sha256": "90ffd4417d4975d088424b23a513f1d79ac914225ad7e239a12f44d0dd2248e4"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/19/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "20": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/devel/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/devel/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 20 English manual", "sha256": "4e786b7a3a7f6dbe6547ece35c3281e7f1a33816b0613d2cdc3beec827362d4e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/devel/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}}}, "snapshot": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Byte1('P')"}, {"label": "Field entries", "value": "6"}, {"label": "Documented flow contexts", "value": "Extended Query"}], "fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('P')", "c2": "Identifies the message as a Parse command."}, {"c0": "2", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "3", "c1": "String", "c2": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"c0": "4", "c1": "String", "c2": "The query string to be parsed."}, {"c0": "5", "c1": "Int16", "c2": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"c0": "6", "c1": "Int32", "c2": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/18/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "Extended Query"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-PARSE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "Parse (F)", "description": ["Parse is a frontend protocol message. Identifies the message as a Parse command."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('P')</span></dt>\n<dd>\n<p>Identifies the message as a Parse command.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The name of the destination prepared statement (an empty string selects the unnamed prepared statement).</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The query string to be parsed.</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p>The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.</p>\n</dd>\n</dl>\n</div>\n<p>Then, for each parameter, there is the following:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Byte1('P')", "description": "Identifies the message as a Parse command."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "String", "description": "The name of the destination prepared statement (an empty string selects the unnamed prepared statement)."}, {"format": "String", "description": "The query string to be parsed."}, {"format": "Int16", "description": "The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for."}, {"format": "Int32", "description": "Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified."}], "direction": "F"}, "comparison_hash": "201708d7bd600d2238f95a98a16d8eb25385280bd7b3067305fb3941c0f16e2c"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}