zero_postgres/protocol/frontend/
mod.rs

1//! PostgreSQL frontend (client → server) messages.
2
3pub mod auth;
4pub mod copy;
5pub mod extended;
6pub mod simple;
7pub mod startup;
8
9pub use auth::{write_password, write_sasl_initial_response, write_sasl_response};
10pub use copy::{write_copy_data, write_copy_done, write_copy_fail};
11// Re-export shared copy types for convenience
12pub use super::copy::{CopyData, CopyDone};
13pub use extended::{
14    write_bind, write_close_portal, write_close_statement, write_describe_portal,
15    write_describe_statement, write_execute, write_flush, write_parse, write_sync,
16};
17pub use simple::write_query;
18pub use startup::{write_cancel_request, write_ssl_request, write_startup, write_terminate};
19
20/// Frontend message type bytes.
21pub mod msg_type {
22    /// Password/SASL response (all auth response types use 'p')
23    pub const PASSWORD: u8 = b'p';
24    /// Query (simple query protocol)
25    pub const QUERY: u8 = b'Q';
26    /// Parse (extended query protocol)
27    pub const PARSE: u8 = b'P';
28    /// Bind (extended query protocol)
29    pub const BIND: u8 = b'B';
30    /// Execute (extended query protocol)
31    pub const EXECUTE: u8 = b'E';
32    /// Describe (extended query protocol)
33    pub const DESCRIBE: u8 = b'D';
34    /// Close (extended query protocol)
35    pub const CLOSE: u8 = b'C';
36    /// Sync (extended query protocol)
37    pub const SYNC: u8 = b'S';
38    /// Flush (extended query protocol)
39    pub const FLUSH: u8 = b'H';
40    /// Function call
41    pub const FUNCTION_CALL: u8 = b'F';
42    /// CopyData
43    pub const COPY_DATA: u8 = b'd';
44    /// CopyDone
45    pub const COPY_DONE: u8 = b'c';
46    /// CopyFail
47    pub const COPY_FAIL: u8 = b'f';
48    /// Terminate
49    pub const TERMINATE: u8 = b'X';
50}