{"version":3,"file":"postgresql.cjs","names":["MessageType","UnknownFieldHandler","key: keyof PostgreSQLQuery[\"tags\"] | undefined","val: PostgreSQLQuery[\"tags\"][any] | undefined","WireType","key: keyof QueryOptions[\"customOptions\"] | undefined","val: QueryOptions[\"customOptions\"][any] | undefined","Struct","Timestamp"],"sources":["../../generated/ts/postgresql/postgresql.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"postgresql/postgresql.proto\" (package \"tusk.drift.instrumentation.postgresql.v1\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Timestamp } from \"../google/protobuf/timestamp\";\nimport { Struct } from \"../google/protobuf/struct\";\n/**\n * PostgreSQL query request - used internally by PostgreSQL instrumentation SDK\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery\n */\nexport interface PostgreSQLQuery {\n    /**\n     * Core query information\n     *\n     * @generated from protobuf field: string text = 1\n     */\n    text: string; // SQL query text\n    /**\n     * @generated from protobuf field: repeated string values = 2\n     */\n    values: string[]; // Parameterized query values (always strings)\n    /**\n     * @generated from protobuf field: string client_type = 3\n     */\n    clientType: string; // \"client\", \"pool\", etc.\n    /**\n     * Connection context\n     *\n     * @generated from protobuf field: tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection connection = 4\n     */\n    connection?: PostgreSQLConnection; // Connection information\n    /**\n     * @generated from protobuf field: tusk.drift.instrumentation.postgresql.v1.QueryOptions options = 5\n     */\n    options?: QueryOptions; // Query execution options\n    /**\n     * Query metadata\n     *\n     * @generated from protobuf field: string query_id = 6\n     */\n    queryId: string; // Unique query identifier (optional)\n    /**\n     * @generated from protobuf field: map<string, string> tags = 7\n     */\n    tags: {\n        [key: string]: string;\n    }; // Custom tags for the query\n}\n/**\n * PostgreSQL connection information\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection\n */\nexport interface PostgreSQLConnection {\n    /**\n     * @generated from protobuf field: string database_name = 1\n     */\n    databaseName: string; // Database name\n    /**\n     * @generated from protobuf field: string username = 2\n     */\n    username: string; // Username (without password)\n    /**\n     * @generated from protobuf field: string host = 3\n     */\n    host: string; // Host address\n    /**\n     * @generated from protobuf field: int32 port = 4\n     */\n    port: number; // Port number\n    /**\n     * @generated from protobuf field: string application_name = 5\n     */\n    applicationName: string; // Application name in connection\n    /**\n     * @generated from protobuf field: string connection_id = 6\n     */\n    connectionId: string; // Connection identifier\n    /**\n     * @generated from protobuf field: bool ssl_enabled = 7\n     */\n    sslEnabled: boolean; // Whether SSL is enabled\n    /**\n     * @generated from protobuf field: string server_version = 8\n     */\n    serverVersion: string; // PostgreSQL server version\n}\n/**\n * Query execution options\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.QueryOptions\n */\nexport interface QueryOptions {\n    /**\n     * @generated from protobuf field: int32 statement_timeout = 1\n     */\n    statementTimeout: number; // Statement timeout in milliseconds\n    /**\n     * @generated from protobuf field: int32 query_timeout = 2\n     */\n    queryTimeout: number; // Query timeout in milliseconds\n    /**\n     * @generated from protobuf field: bool binary_mode = 3\n     */\n    binaryMode: boolean; // Whether binary mode is enabled\n    /**\n     * @generated from protobuf field: string cursor_name = 4\n     */\n    cursorName: string; // Cursor name (for cursor queries)\n    /**\n     * @generated from protobuf field: int32 fetch_size = 5\n     */\n    fetchSize: number; // Fetch size for large result sets\n    /**\n     * @generated from protobuf field: bool read_only = 6\n     */\n    readOnly: boolean; // Whether query is read-only\n    /**\n     * @generated from protobuf field: map<string, string> custom_options = 7\n     */\n    customOptions: {\n        [key: string]: string;\n    }; // Custom driver options\n}\n/**\n * PostgreSQL query result - matches your trace data structure\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult\n */\nexport interface PostgreSQLResult {\n    /**\n     * Core result information (from your trace data)\n     *\n     * @generated from protobuf field: string command = 1\n     */\n    command: string; // \"SELECT\", \"INSERT\", \"UPDATE\", etc.\n    /**\n     * @generated from protobuf field: int32 row_count = 2\n     */\n    rowCount: number; // Number of rows affected/returned\n    /**\n     * @generated from protobuf field: optional int32 oid = 3\n     */\n    oid?: number; // Object ID (PostgreSQL-specific, can be null)\n    /**\n     * Result data\n     *\n     * @generated from protobuf field: repeated google.protobuf.Struct rows = 4\n     */\n    rows: Struct[]; // Actual row data as JSON objects\n    /**\n     * @generated from protobuf field: repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLField fields = 5\n     */\n    fields: PostgreSQLField[]; // Field/column definitions\n    /**\n     * Query execution metadata\n     *\n     * @generated from protobuf field: tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo execution_info = 6\n     */\n    executionInfo?: QueryExecutionInfo; // Execution details\n    /**\n     * Error information (if query failed)\n     *\n     * @generated from protobuf field: optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError error = 7\n     */\n    error?: PostgreSQLError; // Error details\n}\n/**\n * PostgreSQL field definition (matches your trace data)\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLField\n */\nexport interface PostgreSQLField {\n    /**\n     * @generated from protobuf field: string name = 1\n     */\n    name: string; // Field name (e.g., \"Repo_id\")\n    /**\n     * @generated from protobuf field: int32 table_id = 2\n     */\n    tableId: number; // PostgreSQL table OID\n    /**\n     * @generated from protobuf field: int32 column_id = 3\n     */\n    columnId: number; // Column ID within table\n    /**\n     * @generated from protobuf field: int32 data_type_id = 4\n     */\n    dataTypeId: number; // PostgreSQL data type OID\n    /**\n     * @generated from protobuf field: int32 data_type_size = 5\n     */\n    dataTypeSize: number; // Data type size (-1 for variable)\n    /**\n     * @generated from protobuf field: int32 data_type_modifier = 6\n     */\n    dataTypeModifier: number; // Type-specific modifier\n    /**\n     * @generated from protobuf field: string format = 7\n     */\n    format: string; // \"text\" or \"binary\"\n    /**\n     * Additional field metadata\n     *\n     * @generated from protobuf field: string data_type_name = 8\n     */\n    dataTypeName: string; // Human-readable type name\n    /**\n     * @generated from protobuf field: bool nullable = 9\n     */\n    nullable: boolean; // Whether field can be null\n    /**\n     * @generated from protobuf field: bool primary_key = 10\n     */\n    primaryKey: boolean; // Whether field is part of primary key\n}\n/**\n * Query execution information\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo\n */\nexport interface QueryExecutionInfo {\n    /**\n     * Timing breakdown\n     *\n     * @generated from protobuf field: int64 parse_time_ms = 1\n     */\n    parseTimeMs: bigint; // Time to parse query\n    /**\n     * @generated from protobuf field: int64 plan_time_ms = 2\n     */\n    planTimeMs: bigint; // Time to plan query\n    /**\n     * @generated from protobuf field: int64 execute_time_ms = 3\n     */\n    executeTimeMs: bigint; // Time to execute query\n    /**\n     * @generated from protobuf field: int64 total_time_ms = 4\n     */\n    totalTimeMs: bigint; // Total query time\n    /**\n     * Execution statistics\n     *\n     * @generated from protobuf field: int64 rows_examined = 5\n     */\n    rowsExamined: bigint; // Rows examined by query\n    /**\n     * @generated from protobuf field: int64 rows_returned = 6\n     */\n    rowsReturned: bigint; // Rows returned by query\n    /**\n     * @generated from protobuf field: int64 bytes_sent = 7\n     */\n    bytesSent: bigint; // Bytes sent to client\n    /**\n     * @generated from protobuf field: int64 bytes_received = 8\n     */\n    bytesReceived: bigint; // Bytes received from server\n    /**\n     * Query plan information (optional)\n     *\n     * @generated from protobuf field: string execution_plan = 9\n     */\n    executionPlan: string; // EXPLAIN output (optional)\n    /**\n     * @generated from protobuf field: repeated string notices = 10\n     */\n    notices: string[]; // PostgreSQL notices/warnings\n}\n/**\n * PostgreSQL-specific error information\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLError\n */\nexport interface PostgreSQLError {\n    /**\n     * @generated from protobuf field: string sql_state = 1\n     */\n    sqlState: string; // SQL state code (e.g., \"23505\")\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string; // Error message\n    /**\n     * @generated from protobuf field: string detail = 3\n     */\n    detail: string; // Detailed error information\n    /**\n     * @generated from protobuf field: string hint = 4\n     */\n    hint: string; // Error hint\n    /**\n     * @generated from protobuf field: string position = 5\n     */\n    position: string; // Error position in query\n    /**\n     * @generated from protobuf field: string where = 6\n     */\n    where: string; // Context where error occurred\n    /**\n     * @generated from protobuf field: string schema_name = 7\n     */\n    schemaName: string; // Schema name (if applicable)\n    /**\n     * @generated from protobuf field: string table_name = 8\n     */\n    tableName: string; // Table name (if applicable)\n    /**\n     * @generated from protobuf field: string column_name = 9\n     */\n    columnName: string; // Column name (if applicable)\n    /**\n     * @generated from protobuf field: string constraint_name = 10\n     */\n    constraintName: string; // Constraint name (if applicable)\n    /**\n     * @generated from protobuf field: string data_type_name = 11\n     */\n    dataTypeName: string; // Data type name (if applicable)\n    /**\n     * @generated from protobuf field: string file = 12\n     */\n    file: string; // Source file where error occurred\n    /**\n     * @generated from protobuf field: string line = 13\n     */\n    line: string; // Line number in source file\n    /**\n     * @generated from protobuf field: string routine = 14\n     */\n    routine: string; // Routine name where error occurred\n}\n/**\n * Prepared statement information\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLPreparedStatement\n */\nexport interface PostgreSQLPreparedStatement {\n    /**\n     * @generated from protobuf field: string statement_name = 1\n     */\n    statementName: string; // Name of prepared statement\n    /**\n     * @generated from protobuf field: string query_text = 2\n     */\n    queryText: string; // Original query text\n    /**\n     * @generated from protobuf field: repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType parameter_types = 3\n     */\n    parameterTypes: PostgreSQLParameterType[]; // Parameter type information\n    /**\n     * @generated from protobuf field: google.protobuf.Timestamp prepared_at = 4\n     */\n    preparedAt?: Timestamp; // When statement was prepared\n    /**\n     * @generated from protobuf field: int32 execution_count = 5\n     */\n    executionCount: number; // How many times executed\n}\n/**\n * Parameter type information for prepared statements\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType\n */\nexport interface PostgreSQLParameterType {\n    /**\n     * @generated from protobuf field: int32 position = 1\n     */\n    position: number; // Parameter position (1-based)\n    /**\n     * @generated from protobuf field: int32 data_type_id = 2\n     */\n    dataTypeId: number; // PostgreSQL data type OID\n    /**\n     * @generated from protobuf field: string data_type_name = 3\n     */\n    dataTypeName: string; // Human-readable type name\n    /**\n     * @generated from protobuf field: bool nullable = 4\n     */\n    nullable: boolean; // Whether parameter can be null\n}\n/**\n * Transaction context\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLTransaction\n */\nexport interface PostgreSQLTransaction {\n    /**\n     * @generated from protobuf field: string transaction_id = 1\n     */\n    transactionId: string; // Transaction identifier\n    /**\n     * @generated from protobuf field: tusk.drift.instrumentation.postgresql.v1.TransactionState state = 2\n     */\n    state: TransactionState; // Current transaction state\n    /**\n     * @generated from protobuf field: tusk.drift.instrumentation.postgresql.v1.IsolationLevel isolation_level = 3\n     */\n    isolationLevel: IsolationLevel; // Transaction isolation level\n    /**\n     * @generated from protobuf field: bool read_only = 4\n     */\n    readOnly: boolean; // Whether transaction is read-only\n    /**\n     * @generated from protobuf field: google.protobuf.Timestamp started_at = 5\n     */\n    startedAt?: Timestamp; // When transaction started\n}\n/**\n * Batch query support\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatch\n */\nexport interface PostgreSQLBatch {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery queries = 1\n     */\n    queries: PostgreSQLQuery[]; // Queries in the batch\n    /**\n     * @generated from protobuf field: bool stop_on_error = 2\n     */\n    stopOnError: boolean; // Whether to stop on first error\n    /**\n     * @generated from protobuf field: bool return_results = 3\n     */\n    returnResults: boolean; // Whether to return individual results\n}\n/**\n * Batch result\n *\n * @generated from protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatchResult\n */\nexport interface PostgreSQLBatchResult {\n    /**\n     * @generated from protobuf field: repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult results = 1\n     */\n    results: PostgreSQLResult[]; // Results for each query\n    /**\n     * @generated from protobuf field: int32 successful_queries = 2\n     */\n    successfulQueries: number; // Number of successful queries\n    /**\n     * @generated from protobuf field: int32 failed_queries = 3\n     */\n    failedQueries: number; // Number of failed queries\n    /**\n     * @generated from protobuf field: optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError first_error = 4\n     */\n    firstError?: PostgreSQLError; // First error encountered (if any)\n}\n/**\n * Transaction state enumeration\n *\n * @generated from protobuf enum tusk.drift.instrumentation.postgresql.v1.TransactionState\n */\nexport enum TransactionState {\n    /**\n     * @generated from protobuf enum value: TRANSACTION_STATE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * Not in a transaction\n     *\n     * @generated from protobuf enum value: TRANSACTION_STATE_IDLE = 1;\n     */\n    IDLE = 1,\n    /**\n     * Transaction active\n     *\n     * @generated from protobuf enum value: TRANSACTION_STATE_ACTIVE = 2;\n     */\n    ACTIVE = 2,\n    /**\n     * Idle in transaction\n     *\n     * @generated from protobuf enum value: TRANSACTION_STATE_IDLE_IN_TRANSACTION = 3;\n     */\n    IDLE_IN_TRANSACTION = 3,\n    /**\n     * Idle in failed transaction\n     *\n     * @generated from protobuf enum value: TRANSACTION_STATE_IDLE_IN_FAILED_TRANSACTION = 4;\n     */\n    IDLE_IN_FAILED_TRANSACTION = 4\n}\n/**\n * PostgreSQL isolation levels\n *\n * @generated from protobuf enum tusk.drift.instrumentation.postgresql.v1.IsolationLevel\n */\nexport enum IsolationLevel {\n    /**\n     * @generated from protobuf enum value: ISOLATION_LEVEL_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: ISOLATION_LEVEL_READ_UNCOMMITTED = 1;\n     */\n    READ_UNCOMMITTED = 1,\n    /**\n     * @generated from protobuf enum value: ISOLATION_LEVEL_READ_COMMITTED = 2;\n     */\n    READ_COMMITTED = 2,\n    /**\n     * @generated from protobuf enum value: ISOLATION_LEVEL_REPEATABLE_READ = 3;\n     */\n    REPEATABLE_READ = 3,\n    /**\n     * @generated from protobuf enum value: ISOLATION_LEVEL_SERIALIZABLE = 4;\n     */\n    SERIALIZABLE = 4\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLQuery$Type extends MessageType<PostgreSQLQuery> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery\", [\n            { no: 1, name: \"text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"values\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"client_type\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"connection\", kind: \"message\", T: () => PostgreSQLConnection },\n            { no: 5, name: \"options\", kind: \"message\", T: () => QueryOptions },\n            { no: 6, name: \"query_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"tags\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"scalar\", T: 9 /*ScalarType.STRING*/ } }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLQuery>): PostgreSQLQuery {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.text = \"\";\n        message.values = [];\n        message.clientType = \"\";\n        message.queryId = \"\";\n        message.tags = {};\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLQuery>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLQuery): PostgreSQLQuery {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string text */ 1:\n                    message.text = reader.string();\n                    break;\n                case /* repeated string values */ 2:\n                    message.values.push(reader.string());\n                    break;\n                case /* string client_type */ 3:\n                    message.clientType = reader.string();\n                    break;\n                case /* tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection connection */ 4:\n                    message.connection = PostgreSQLConnection.internalBinaryRead(reader, reader.uint32(), options, message.connection);\n                    break;\n                case /* tusk.drift.instrumentation.postgresql.v1.QueryOptions options */ 5:\n                    message.options = QueryOptions.internalBinaryRead(reader, reader.uint32(), options, message.options);\n                    break;\n                case /* string query_id */ 6:\n                    message.queryId = reader.string();\n                    break;\n                case /* map<string, string> tags */ 7:\n                    this.binaryReadMap7(message.tags, reader, options);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    private binaryReadMap7(map: PostgreSQLQuery[\"tags\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof PostgreSQLQuery[\"tags\"] | undefined, val: PostgreSQLQuery[\"tags\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = reader.string();\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery.tags\");\n            }\n        }\n        map[key ?? \"\"] = val ?? \"\";\n    }\n    internalBinaryWrite(message: PostgreSQLQuery, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string text = 1; */\n        if (message.text !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.text);\n        /* repeated string values = 2; */\n        for (let i = 0; i < message.values.length; i++)\n            writer.tag(2, WireType.LengthDelimited).string(message.values[i]);\n        /* string client_type = 3; */\n        if (message.clientType !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.clientType);\n        /* tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection connection = 4; */\n        if (message.connection)\n            PostgreSQLConnection.internalBinaryWrite(message.connection, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.instrumentation.postgresql.v1.QueryOptions options = 5; */\n        if (message.options)\n            QueryOptions.internalBinaryWrite(message.options, writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        /* string query_id = 6; */\n        if (message.queryId !== \"\")\n            writer.tag(6, WireType.LengthDelimited).string(message.queryId);\n        /* map<string, string> tags = 7; */\n        for (let k of globalThis.Object.keys(message.tags))\n            writer.tag(7, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.tags[k]).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery\n */\nexport const PostgreSQLQuery = new PostgreSQLQuery$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLConnection$Type extends MessageType<PostgreSQLConnection> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection\", [\n            { no: 1, name: \"database_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"username\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"host\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"port\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 5, name: \"application_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"connection_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"ssl_enabled\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 8, name: \"server_version\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLConnection>): PostgreSQLConnection {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.databaseName = \"\";\n        message.username = \"\";\n        message.host = \"\";\n        message.port = 0;\n        message.applicationName = \"\";\n        message.connectionId = \"\";\n        message.sslEnabled = false;\n        message.serverVersion = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLConnection>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLConnection): PostgreSQLConnection {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string database_name */ 1:\n                    message.databaseName = reader.string();\n                    break;\n                case /* string username */ 2:\n                    message.username = reader.string();\n                    break;\n                case /* string host */ 3:\n                    message.host = reader.string();\n                    break;\n                case /* int32 port */ 4:\n                    message.port = reader.int32();\n                    break;\n                case /* string application_name */ 5:\n                    message.applicationName = reader.string();\n                    break;\n                case /* string connection_id */ 6:\n                    message.connectionId = reader.string();\n                    break;\n                case /* bool ssl_enabled */ 7:\n                    message.sslEnabled = reader.bool();\n                    break;\n                case /* string server_version */ 8:\n                    message.serverVersion = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLConnection, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string database_name = 1; */\n        if (message.databaseName !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.databaseName);\n        /* string username = 2; */\n        if (message.username !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.username);\n        /* string host = 3; */\n        if (message.host !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.host);\n        /* int32 port = 4; */\n        if (message.port !== 0)\n            writer.tag(4, WireType.Varint).int32(message.port);\n        /* string application_name = 5; */\n        if (message.applicationName !== \"\")\n            writer.tag(5, WireType.LengthDelimited).string(message.applicationName);\n        /* string connection_id = 6; */\n        if (message.connectionId !== \"\")\n            writer.tag(6, WireType.LengthDelimited).string(message.connectionId);\n        /* bool ssl_enabled = 7; */\n        if (message.sslEnabled !== false)\n            writer.tag(7, WireType.Varint).bool(message.sslEnabled);\n        /* string server_version = 8; */\n        if (message.serverVersion !== \"\")\n            writer.tag(8, WireType.LengthDelimited).string(message.serverVersion);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLConnection\n */\nexport const PostgreSQLConnection = new PostgreSQLConnection$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass QueryOptions$Type extends MessageType<QueryOptions> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.QueryOptions\", [\n            { no: 1, name: \"statement_timeout\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 2, name: \"query_timeout\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"binary_mode\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 4, name: \"cursor_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"fetch_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 6, name: \"read_only\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 7, name: \"custom_options\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"scalar\", T: 9 /*ScalarType.STRING*/ } }\n        ]);\n    }\n    create(value?: PartialMessage<QueryOptions>): QueryOptions {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.statementTimeout = 0;\n        message.queryTimeout = 0;\n        message.binaryMode = false;\n        message.cursorName = \"\";\n        message.fetchSize = 0;\n        message.readOnly = false;\n        message.customOptions = {};\n        if (value !== undefined)\n            reflectionMergePartial<QueryOptions>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QueryOptions): QueryOptions {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int32 statement_timeout */ 1:\n                    message.statementTimeout = reader.int32();\n                    break;\n                case /* int32 query_timeout */ 2:\n                    message.queryTimeout = reader.int32();\n                    break;\n                case /* bool binary_mode */ 3:\n                    message.binaryMode = reader.bool();\n                    break;\n                case /* string cursor_name */ 4:\n                    message.cursorName = reader.string();\n                    break;\n                case /* int32 fetch_size */ 5:\n                    message.fetchSize = reader.int32();\n                    break;\n                case /* bool read_only */ 6:\n                    message.readOnly = reader.bool();\n                    break;\n                case /* map<string, string> custom_options */ 7:\n                    this.binaryReadMap7(message.customOptions, reader, options);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    private binaryReadMap7(map: QueryOptions[\"customOptions\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n        let len = reader.uint32(), end = reader.pos + len, key: keyof QueryOptions[\"customOptions\"] | undefined, val: QueryOptions[\"customOptions\"][any] | undefined;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case 1:\n                    key = reader.string();\n                    break;\n                case 2:\n                    val = reader.string();\n                    break;\n                default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.instrumentation.postgresql.v1.QueryOptions.custom_options\");\n            }\n        }\n        map[key ?? \"\"] = val ?? \"\";\n    }\n    internalBinaryWrite(message: QueryOptions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int32 statement_timeout = 1; */\n        if (message.statementTimeout !== 0)\n            writer.tag(1, WireType.Varint).int32(message.statementTimeout);\n        /* int32 query_timeout = 2; */\n        if (message.queryTimeout !== 0)\n            writer.tag(2, WireType.Varint).int32(message.queryTimeout);\n        /* bool binary_mode = 3; */\n        if (message.binaryMode !== false)\n            writer.tag(3, WireType.Varint).bool(message.binaryMode);\n        /* string cursor_name = 4; */\n        if (message.cursorName !== \"\")\n            writer.tag(4, WireType.LengthDelimited).string(message.cursorName);\n        /* int32 fetch_size = 5; */\n        if (message.fetchSize !== 0)\n            writer.tag(5, WireType.Varint).int32(message.fetchSize);\n        /* bool read_only = 6; */\n        if (message.readOnly !== false)\n            writer.tag(6, WireType.Varint).bool(message.readOnly);\n        /* map<string, string> custom_options = 7; */\n        for (let k of globalThis.Object.keys(message.customOptions))\n            writer.tag(7, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.customOptions[k]).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.QueryOptions\n */\nexport const QueryOptions = new QueryOptions$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLResult$Type extends MessageType<PostgreSQLResult> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult\", [\n            { no: 1, name: \"command\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"row_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"oid\", kind: \"scalar\", opt: true, T: 5 /*ScalarType.INT32*/ },\n            { no: 4, name: \"rows\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Struct },\n            { no: 5, name: \"fields\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PostgreSQLField },\n            { no: 6, name: \"execution_info\", kind: \"message\", T: () => QueryExecutionInfo },\n            { no: 7, name: \"error\", kind: \"message\", T: () => PostgreSQLError }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLResult>): PostgreSQLResult {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.command = \"\";\n        message.rowCount = 0;\n        message.rows = [];\n        message.fields = [];\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLResult>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLResult): PostgreSQLResult {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string command */ 1:\n                    message.command = reader.string();\n                    break;\n                case /* int32 row_count */ 2:\n                    message.rowCount = reader.int32();\n                    break;\n                case /* optional int32 oid */ 3:\n                    message.oid = reader.int32();\n                    break;\n                case /* repeated google.protobuf.Struct rows */ 4:\n                    message.rows.push(Struct.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLField fields */ 5:\n                    message.fields.push(PostgreSQLField.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo execution_info */ 6:\n                    message.executionInfo = QueryExecutionInfo.internalBinaryRead(reader, reader.uint32(), options, message.executionInfo);\n                    break;\n                case /* optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError error */ 7:\n                    message.error = PostgreSQLError.internalBinaryRead(reader, reader.uint32(), options, message.error);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string command = 1; */\n        if (message.command !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.command);\n        /* int32 row_count = 2; */\n        if (message.rowCount !== 0)\n            writer.tag(2, WireType.Varint).int32(message.rowCount);\n        /* optional int32 oid = 3; */\n        if (message.oid !== undefined)\n            writer.tag(3, WireType.Varint).int32(message.oid);\n        /* repeated google.protobuf.Struct rows = 4; */\n        for (let i = 0; i < message.rows.length; i++)\n            Struct.internalBinaryWrite(message.rows[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLField fields = 5; */\n        for (let i = 0; i < message.fields.length; i++)\n            PostgreSQLField.internalBinaryWrite(message.fields[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo execution_info = 6; */\n        if (message.executionInfo)\n            QueryExecutionInfo.internalBinaryWrite(message.executionInfo, writer.tag(6, WireType.LengthDelimited).fork(), options).join();\n        /* optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError error = 7; */\n        if (message.error)\n            PostgreSQLError.internalBinaryWrite(message.error, writer.tag(7, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult\n */\nexport const PostgreSQLResult = new PostgreSQLResult$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLField$Type extends MessageType<PostgreSQLField> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLField\", [\n            { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"table_id\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"column_id\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 4, name: \"data_type_id\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 5, name: \"data_type_size\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 6, name: \"data_type_modifier\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 7, name: \"format\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 8, name: \"data_type_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 9, name: \"nullable\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 10, name: \"primary_key\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLField>): PostgreSQLField {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.name = \"\";\n        message.tableId = 0;\n        message.columnId = 0;\n        message.dataTypeId = 0;\n        message.dataTypeSize = 0;\n        message.dataTypeModifier = 0;\n        message.format = \"\";\n        message.dataTypeName = \"\";\n        message.nullable = false;\n        message.primaryKey = false;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLField>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLField): PostgreSQLField {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string name */ 1:\n                    message.name = reader.string();\n                    break;\n                case /* int32 table_id */ 2:\n                    message.tableId = reader.int32();\n                    break;\n                case /* int32 column_id */ 3:\n                    message.columnId = reader.int32();\n                    break;\n                case /* int32 data_type_id */ 4:\n                    message.dataTypeId = reader.int32();\n                    break;\n                case /* int32 data_type_size */ 5:\n                    message.dataTypeSize = reader.int32();\n                    break;\n                case /* int32 data_type_modifier */ 6:\n                    message.dataTypeModifier = reader.int32();\n                    break;\n                case /* string format */ 7:\n                    message.format = reader.string();\n                    break;\n                case /* string data_type_name */ 8:\n                    message.dataTypeName = reader.string();\n                    break;\n                case /* bool nullable */ 9:\n                    message.nullable = reader.bool();\n                    break;\n                case /* bool primary_key */ 10:\n                    message.primaryKey = reader.bool();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLField, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string name = 1; */\n        if (message.name !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.name);\n        /* int32 table_id = 2; */\n        if (message.tableId !== 0)\n            writer.tag(2, WireType.Varint).int32(message.tableId);\n        /* int32 column_id = 3; */\n        if (message.columnId !== 0)\n            writer.tag(3, WireType.Varint).int32(message.columnId);\n        /* int32 data_type_id = 4; */\n        if (message.dataTypeId !== 0)\n            writer.tag(4, WireType.Varint).int32(message.dataTypeId);\n        /* int32 data_type_size = 5; */\n        if (message.dataTypeSize !== 0)\n            writer.tag(5, WireType.Varint).int32(message.dataTypeSize);\n        /* int32 data_type_modifier = 6; */\n        if (message.dataTypeModifier !== 0)\n            writer.tag(6, WireType.Varint).int32(message.dataTypeModifier);\n        /* string format = 7; */\n        if (message.format !== \"\")\n            writer.tag(7, WireType.LengthDelimited).string(message.format);\n        /* string data_type_name = 8; */\n        if (message.dataTypeName !== \"\")\n            writer.tag(8, WireType.LengthDelimited).string(message.dataTypeName);\n        /* bool nullable = 9; */\n        if (message.nullable !== false)\n            writer.tag(9, WireType.Varint).bool(message.nullable);\n        /* bool primary_key = 10; */\n        if (message.primaryKey !== false)\n            writer.tag(10, WireType.Varint).bool(message.primaryKey);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLField\n */\nexport const PostgreSQLField = new PostgreSQLField$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass QueryExecutionInfo$Type extends MessageType<QueryExecutionInfo> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo\", [\n            { no: 1, name: \"parse_time_ms\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 2, name: \"plan_time_ms\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 3, name: \"execute_time_ms\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 4, name: \"total_time_ms\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 5, name: \"rows_examined\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 6, name: \"rows_returned\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 7, name: \"bytes_sent\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 8, name: \"bytes_received\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 9, name: \"execution_plan\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 10, name: \"notices\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<QueryExecutionInfo>): QueryExecutionInfo {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.parseTimeMs = 0n;\n        message.planTimeMs = 0n;\n        message.executeTimeMs = 0n;\n        message.totalTimeMs = 0n;\n        message.rowsExamined = 0n;\n        message.rowsReturned = 0n;\n        message.bytesSent = 0n;\n        message.bytesReceived = 0n;\n        message.executionPlan = \"\";\n        message.notices = [];\n        if (value !== undefined)\n            reflectionMergePartial<QueryExecutionInfo>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QueryExecutionInfo): QueryExecutionInfo {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int64 parse_time_ms */ 1:\n                    message.parseTimeMs = reader.int64().toBigInt();\n                    break;\n                case /* int64 plan_time_ms */ 2:\n                    message.planTimeMs = reader.int64().toBigInt();\n                    break;\n                case /* int64 execute_time_ms */ 3:\n                    message.executeTimeMs = reader.int64().toBigInt();\n                    break;\n                case /* int64 total_time_ms */ 4:\n                    message.totalTimeMs = reader.int64().toBigInt();\n                    break;\n                case /* int64 rows_examined */ 5:\n                    message.rowsExamined = reader.int64().toBigInt();\n                    break;\n                case /* int64 rows_returned */ 6:\n                    message.rowsReturned = reader.int64().toBigInt();\n                    break;\n                case /* int64 bytes_sent */ 7:\n                    message.bytesSent = reader.int64().toBigInt();\n                    break;\n                case /* int64 bytes_received */ 8:\n                    message.bytesReceived = reader.int64().toBigInt();\n                    break;\n                case /* string execution_plan */ 9:\n                    message.executionPlan = reader.string();\n                    break;\n                case /* repeated string notices */ 10:\n                    message.notices.push(reader.string());\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: QueryExecutionInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int64 parse_time_ms = 1; */\n        if (message.parseTimeMs !== 0n)\n            writer.tag(1, WireType.Varint).int64(message.parseTimeMs);\n        /* int64 plan_time_ms = 2; */\n        if (message.planTimeMs !== 0n)\n            writer.tag(2, WireType.Varint).int64(message.planTimeMs);\n        /* int64 execute_time_ms = 3; */\n        if (message.executeTimeMs !== 0n)\n            writer.tag(3, WireType.Varint).int64(message.executeTimeMs);\n        /* int64 total_time_ms = 4; */\n        if (message.totalTimeMs !== 0n)\n            writer.tag(4, WireType.Varint).int64(message.totalTimeMs);\n        /* int64 rows_examined = 5; */\n        if (message.rowsExamined !== 0n)\n            writer.tag(5, WireType.Varint).int64(message.rowsExamined);\n        /* int64 rows_returned = 6; */\n        if (message.rowsReturned !== 0n)\n            writer.tag(6, WireType.Varint).int64(message.rowsReturned);\n        /* int64 bytes_sent = 7; */\n        if (message.bytesSent !== 0n)\n            writer.tag(7, WireType.Varint).int64(message.bytesSent);\n        /* int64 bytes_received = 8; */\n        if (message.bytesReceived !== 0n)\n            writer.tag(8, WireType.Varint).int64(message.bytesReceived);\n        /* string execution_plan = 9; */\n        if (message.executionPlan !== \"\")\n            writer.tag(9, WireType.LengthDelimited).string(message.executionPlan);\n        /* repeated string notices = 10; */\n        for (let i = 0; i < message.notices.length; i++)\n            writer.tag(10, WireType.LengthDelimited).string(message.notices[i]);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.QueryExecutionInfo\n */\nexport const QueryExecutionInfo = new QueryExecutionInfo$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLError$Type extends MessageType<PostgreSQLError> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLError\", [\n            { no: 1, name: \"sql_state\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"detail\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"hint\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"position\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 6, name: \"where\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 7, name: \"schema_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 8, name: \"table_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 9, name: \"column_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 10, name: \"constraint_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 11, name: \"data_type_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 12, name: \"file\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 13, name: \"line\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 14, name: \"routine\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLError>): PostgreSQLError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.sqlState = \"\";\n        message.message = \"\";\n        message.detail = \"\";\n        message.hint = \"\";\n        message.position = \"\";\n        message.where = \"\";\n        message.schemaName = \"\";\n        message.tableName = \"\";\n        message.columnName = \"\";\n        message.constraintName = \"\";\n        message.dataTypeName = \"\";\n        message.file = \"\";\n        message.line = \"\";\n        message.routine = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLError): PostgreSQLError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string sql_state */ 1:\n                    message.sqlState = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                case /* string detail */ 3:\n                    message.detail = reader.string();\n                    break;\n                case /* string hint */ 4:\n                    message.hint = reader.string();\n                    break;\n                case /* string position */ 5:\n                    message.position = reader.string();\n                    break;\n                case /* string where */ 6:\n                    message.where = reader.string();\n                    break;\n                case /* string schema_name */ 7:\n                    message.schemaName = reader.string();\n                    break;\n                case /* string table_name */ 8:\n                    message.tableName = reader.string();\n                    break;\n                case /* string column_name */ 9:\n                    message.columnName = reader.string();\n                    break;\n                case /* string constraint_name */ 10:\n                    message.constraintName = reader.string();\n                    break;\n                case /* string data_type_name */ 11:\n                    message.dataTypeName = reader.string();\n                    break;\n                case /* string file */ 12:\n                    message.file = reader.string();\n                    break;\n                case /* string line */ 13:\n                    message.line = reader.string();\n                    break;\n                case /* string routine */ 14:\n                    message.routine = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string sql_state = 1; */\n        if (message.sqlState !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.sqlState);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        /* string detail = 3; */\n        if (message.detail !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.detail);\n        /* string hint = 4; */\n        if (message.hint !== \"\")\n            writer.tag(4, WireType.LengthDelimited).string(message.hint);\n        /* string position = 5; */\n        if (message.position !== \"\")\n            writer.tag(5, WireType.LengthDelimited).string(message.position);\n        /* string where = 6; */\n        if (message.where !== \"\")\n            writer.tag(6, WireType.LengthDelimited).string(message.where);\n        /* string schema_name = 7; */\n        if (message.schemaName !== \"\")\n            writer.tag(7, WireType.LengthDelimited).string(message.schemaName);\n        /* string table_name = 8; */\n        if (message.tableName !== \"\")\n            writer.tag(8, WireType.LengthDelimited).string(message.tableName);\n        /* string column_name = 9; */\n        if (message.columnName !== \"\")\n            writer.tag(9, WireType.LengthDelimited).string(message.columnName);\n        /* string constraint_name = 10; */\n        if (message.constraintName !== \"\")\n            writer.tag(10, WireType.LengthDelimited).string(message.constraintName);\n        /* string data_type_name = 11; */\n        if (message.dataTypeName !== \"\")\n            writer.tag(11, WireType.LengthDelimited).string(message.dataTypeName);\n        /* string file = 12; */\n        if (message.file !== \"\")\n            writer.tag(12, WireType.LengthDelimited).string(message.file);\n        /* string line = 13; */\n        if (message.line !== \"\")\n            writer.tag(13, WireType.LengthDelimited).string(message.line);\n        /* string routine = 14; */\n        if (message.routine !== \"\")\n            writer.tag(14, WireType.LengthDelimited).string(message.routine);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLError\n */\nexport const PostgreSQLError = new PostgreSQLError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLPreparedStatement$Type extends MessageType<PostgreSQLPreparedStatement> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLPreparedStatement\", [\n            { no: 1, name: \"statement_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"query_text\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"parameter_types\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PostgreSQLParameterType },\n            { no: 4, name: \"prepared_at\", kind: \"message\", T: () => Timestamp },\n            { no: 5, name: \"execution_count\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLPreparedStatement>): PostgreSQLPreparedStatement {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.statementName = \"\";\n        message.queryText = \"\";\n        message.parameterTypes = [];\n        message.executionCount = 0;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLPreparedStatement>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLPreparedStatement): PostgreSQLPreparedStatement {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string statement_name */ 1:\n                    message.statementName = reader.string();\n                    break;\n                case /* string query_text */ 2:\n                    message.queryText = reader.string();\n                    break;\n                case /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType parameter_types */ 3:\n                    message.parameterTypes.push(PostgreSQLParameterType.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* google.protobuf.Timestamp prepared_at */ 4:\n                    message.preparedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.preparedAt);\n                    break;\n                case /* int32 execution_count */ 5:\n                    message.executionCount = reader.int32();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLPreparedStatement, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string statement_name = 1; */\n        if (message.statementName !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.statementName);\n        /* string query_text = 2; */\n        if (message.queryText !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.queryText);\n        /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType parameter_types = 3; */\n        for (let i = 0; i < message.parameterTypes.length; i++)\n            PostgreSQLParameterType.internalBinaryWrite(message.parameterTypes[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n        /* google.protobuf.Timestamp prepared_at = 4; */\n        if (message.preparedAt)\n            Timestamp.internalBinaryWrite(message.preparedAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        /* int32 execution_count = 5; */\n        if (message.executionCount !== 0)\n            writer.tag(5, WireType.Varint).int32(message.executionCount);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLPreparedStatement\n */\nexport const PostgreSQLPreparedStatement = new PostgreSQLPreparedStatement$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLParameterType$Type extends MessageType<PostgreSQLParameterType> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType\", [\n            { no: 1, name: \"position\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 2, name: \"data_type_id\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"data_type_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"nullable\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLParameterType>): PostgreSQLParameterType {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.position = 0;\n        message.dataTypeId = 0;\n        message.dataTypeName = \"\";\n        message.nullable = false;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLParameterType>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLParameterType): PostgreSQLParameterType {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int32 position */ 1:\n                    message.position = reader.int32();\n                    break;\n                case /* int32 data_type_id */ 2:\n                    message.dataTypeId = reader.int32();\n                    break;\n                case /* string data_type_name */ 3:\n                    message.dataTypeName = reader.string();\n                    break;\n                case /* bool nullable */ 4:\n                    message.nullable = reader.bool();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLParameterType, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int32 position = 1; */\n        if (message.position !== 0)\n            writer.tag(1, WireType.Varint).int32(message.position);\n        /* int32 data_type_id = 2; */\n        if (message.dataTypeId !== 0)\n            writer.tag(2, WireType.Varint).int32(message.dataTypeId);\n        /* string data_type_name = 3; */\n        if (message.dataTypeName !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.dataTypeName);\n        /* bool nullable = 4; */\n        if (message.nullable !== false)\n            writer.tag(4, WireType.Varint).bool(message.nullable);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLParameterType\n */\nexport const PostgreSQLParameterType = new PostgreSQLParameterType$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLTransaction$Type extends MessageType<PostgreSQLTransaction> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLTransaction\", [\n            { no: 1, name: \"transaction_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"state\", kind: \"enum\", T: () => [\"tusk.drift.instrumentation.postgresql.v1.TransactionState\", TransactionState, \"TRANSACTION_STATE_\"] },\n            { no: 3, name: \"isolation_level\", kind: \"enum\", T: () => [\"tusk.drift.instrumentation.postgresql.v1.IsolationLevel\", IsolationLevel, \"ISOLATION_LEVEL_\"] },\n            { no: 4, name: \"read_only\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 5, name: \"started_at\", kind: \"message\", T: () => Timestamp }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLTransaction>): PostgreSQLTransaction {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.transactionId = \"\";\n        message.state = 0;\n        message.isolationLevel = 0;\n        message.readOnly = false;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLTransaction>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLTransaction): PostgreSQLTransaction {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string transaction_id */ 1:\n                    message.transactionId = reader.string();\n                    break;\n                case /* tusk.drift.instrumentation.postgresql.v1.TransactionState state */ 2:\n                    message.state = reader.int32();\n                    break;\n                case /* tusk.drift.instrumentation.postgresql.v1.IsolationLevel isolation_level */ 3:\n                    message.isolationLevel = reader.int32();\n                    break;\n                case /* bool read_only */ 4:\n                    message.readOnly = reader.bool();\n                    break;\n                case /* google.protobuf.Timestamp started_at */ 5:\n                    message.startedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.startedAt);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLTransaction, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string transaction_id = 1; */\n        if (message.transactionId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.transactionId);\n        /* tusk.drift.instrumentation.postgresql.v1.TransactionState state = 2; */\n        if (message.state !== 0)\n            writer.tag(2, WireType.Varint).int32(message.state);\n        /* tusk.drift.instrumentation.postgresql.v1.IsolationLevel isolation_level = 3; */\n        if (message.isolationLevel !== 0)\n            writer.tag(3, WireType.Varint).int32(message.isolationLevel);\n        /* bool read_only = 4; */\n        if (message.readOnly !== false)\n            writer.tag(4, WireType.Varint).bool(message.readOnly);\n        /* google.protobuf.Timestamp started_at = 5; */\n        if (message.startedAt)\n            Timestamp.internalBinaryWrite(message.startedAt, writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLTransaction\n */\nexport const PostgreSQLTransaction = new PostgreSQLTransaction$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLBatch$Type extends MessageType<PostgreSQLBatch> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatch\", [\n            { no: 1, name: \"queries\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PostgreSQLQuery },\n            { no: 2, name: \"stop_on_error\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n            { no: 3, name: \"return_results\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLBatch>): PostgreSQLBatch {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.queries = [];\n        message.stopOnError = false;\n        message.returnResults = false;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLBatch>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLBatch): PostgreSQLBatch {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery queries */ 1:\n                    message.queries.push(PostgreSQLQuery.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* bool stop_on_error */ 2:\n                    message.stopOnError = reader.bool();\n                    break;\n                case /* bool return_results */ 3:\n                    message.returnResults = reader.bool();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLBatch, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLQuery queries = 1; */\n        for (let i = 0; i < message.queries.length; i++)\n            PostgreSQLQuery.internalBinaryWrite(message.queries[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* bool stop_on_error = 2; */\n        if (message.stopOnError !== false)\n            writer.tag(2, WireType.Varint).bool(message.stopOnError);\n        /* bool return_results = 3; */\n        if (message.returnResults !== false)\n            writer.tag(3, WireType.Varint).bool(message.returnResults);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatch\n */\nexport const PostgreSQLBatch = new PostgreSQLBatch$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass PostgreSQLBatchResult$Type extends MessageType<PostgreSQLBatchResult> {\n    constructor() {\n        super(\"tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatchResult\", [\n            { no: 1, name: \"results\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PostgreSQLResult },\n            { no: 2, name: \"successful_queries\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 3, name: \"failed_queries\", kind: \"scalar\", T: 5 /*ScalarType.INT32*/ },\n            { no: 4, name: \"first_error\", kind: \"message\", T: () => PostgreSQLError }\n        ]);\n    }\n    create(value?: PartialMessage<PostgreSQLBatchResult>): PostgreSQLBatchResult {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.results = [];\n        message.successfulQueries = 0;\n        message.failedQueries = 0;\n        if (value !== undefined)\n            reflectionMergePartial<PostgreSQLBatchResult>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostgreSQLBatchResult): PostgreSQLBatchResult {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult results */ 1:\n                    message.results.push(PostgreSQLResult.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                case /* int32 successful_queries */ 2:\n                    message.successfulQueries = reader.int32();\n                    break;\n                case /* int32 failed_queries */ 3:\n                    message.failedQueries = reader.int32();\n                    break;\n                case /* optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError first_error */ 4:\n                    message.firstError = PostgreSQLError.internalBinaryRead(reader, reader.uint32(), options, message.firstError);\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: PostgreSQLBatchResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* repeated tusk.drift.instrumentation.postgresql.v1.PostgreSQLResult results = 1; */\n        for (let i = 0; i < message.results.length; i++)\n            PostgreSQLResult.internalBinaryWrite(message.results[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* int32 successful_queries = 2; */\n        if (message.successfulQueries !== 0)\n            writer.tag(2, WireType.Varint).int32(message.successfulQueries);\n        /* int32 failed_queries = 3; */\n        if (message.failedQueries !== 0)\n            writer.tag(3, WireType.Varint).int32(message.failedQueries);\n        /* optional tusk.drift.instrumentation.postgresql.v1.PostgreSQLError first_error = 4; */\n        if (message.firstError)\n            PostgreSQLError.internalBinaryWrite(message.firstError, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.instrumentation.postgresql.v1.PostgreSQLBatchResult\n */\nexport const PostgreSQLBatchResult = new PostgreSQLBatchResult$Type();\n"],"mappings":"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"}