Commit Graph

220 Commits (6d6015a2034dbee2ea4eb50d2e84381df008fa46)

Author SHA1 Message Date
Rahim Kanji 83bec8d477 Refactored remove_quotes function
6 months ago
Rahim Kanji 8f8a8c29e3 Code cleanup: Removed is_select_NOT_for_update from PostgreSQL modules
6 months ago
Rahim Kanji b005c2dd8c Add tracking for PostgreSQL search_path parameter
6 months ago
Rahim Kanji d4b2de9e26 Align DateStyle parsing with PostgreSQL
6 months ago
Rahim Kanji 4d91452fc5 Implement backend query cancellation for PostgreSQL #5136
6 months ago
René Cannaò e1b7afe282
Merge pull request #5099 from wazir-ahmed/clock-monotonic-raw
6 months ago
René Cannaò 4639b9705a
Merge pull request #5133 from sysown/v3.0_extended_query_pgsql_query_rules_5132
6 months ago
René Cannaò 9290a5ceec
Merge pull request #5124 from sysown/v3.0_postgres_query_logging_issue_5123
6 months ago
Rahim Kanji 9e9fdc23c2 Modify extended query handling in ProxySQL so that query rules are applied at Parse, Describe, and Execute stages, but hostgroup selection is performed only on the first message in the message pipeline. Ensures that all subsequent messages in the same pipeline use the same backend connection, maintaining consistent routing while applying relevant query rules.
7 months ago
Rahim Kanji 9b0366a89a Improved PostgreSQL Logger
7 months ago
Rahim Kanji a89291c9a9 Added query logging support for PostgreSQL
7 months ago
Rahim Kanji 692109f965 Fixed typo
7 months ago
Rahim Kanji 23a764eaac Preserve implicit transactions with pipeline + FLUSH #5118
7 months ago
Rahim Kanji 205f970ffa Append NoData for DESCRIBE(Portal) on SET/RESET/DISCARD/DEALLOCATE
7 months ago
Rahim Kanji 031d362aab Add STMT prefix to ASYC DESCRIBE status
7 months ago
Rahim Kanji 7d5fe54230 Refactor: unify result handling for Parse and Describe
7 months ago
Rahim Kanji 0391a8d4bb Intercept LISTEN command and return "not supported" #5109
7 months ago
Wazir Ahmed 8d29742e20 `QueryInfo::end_time` should always be greater than or equal to `start_time`
7 months ago
Wazir Ahmed daf1570c5d Replace `CLOCK_MONOTONIC` with `CLOCK_MONOTONIC_RAW`
7 months ago
Rahim Kanji 38841bf189 Remove DESCRIBE statement cache option
7 months ago
Rahim Kanji 9a5fa148c8 Inject implicit Sync if simple query arrives before extended query cycle is completed
7 months ago
Rahim Kanji be2ae45950 Merge branch 'v3.0' into 'v3.0_extended_query_protocol_phase_2'
7 months ago
Rahim Kanji abd19113c0 Fix RequestEnd: avoid updating internal state when query failed on backend
7 months ago
Rahim Kanji 96c989a854 * Replaced virtual RequestEnd method with CRTP (static polymorphism)
7 months ago
Rahim Kanji 515cf12ded Reject COPY FROM STDIN in extended query mode
8 months ago
Rahim Kanji 7a1852fb92 Skip Describe Portal results unless client explicitly requests it
8 months ago
Rahim Kanji 3dd401f81a Queue client packets during active query execution
8 months ago
René Cannaò b5fa8ca1ae
Merge pull request #5044 from sysown/v3.0_extended_query_protocol
8 months ago
Rahim Kanji 9e4b76d6d1 * Refactored PgSQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___PGSQL_QUERY_qpo.
8 months ago
Rahim Kanji 0bb5747291 Add Query Rewrite support for Extended Query Protocol
8 months ago
Rahim Kanji 2d569f3b95 Added support to terminate running queries on timeout
8 months ago
Rahim Kanji 58eac30ff3 Fixed SSL STATUS in PgSQL_Data_Stream
8 months ago
Rahim Kanji f715c546fa Added prepared statement map and connection status fields to PROXYSQL INTERNAL SESSION output
8 months ago
Rahim Kanji 27f1fed446 Handled DISCARD ALL, DISCARD PLANS, send rest of the varients to backend
8 months ago
Rahim Kanji a29eaf1eb2 Moved warning_in_hg from Base_Session to MySQL_Session
8 months ago
Rahim Kanji 8021121cfa Fixed PgSQL_Session::handler___status_NONE_or_default
8 months ago
Rahim Kanji 4d195adc89 Renamed Multiplex status from MYSQL to PGSQL
8 months ago
René Cannaò 471ddfc7aa
Merge pull request #5060 from sysown/v3.0_session_param_reset_connection
8 months ago
Rahim Kanji 070d4ca18d Added DEALLOCATE <stmt_name> and DEALLOCATE ALL support
8 months ago
Rahim Kanji 02eb58db79 Added SET statement tracking support
8 months ago
Rahim Kanji ce94a7080a Merge branch v3.0_session_param_reset_connection into v3.0_extended_query_protocol
8 months ago
Rahim Kanji 50243ef283 Corrected RESET/DEFAULT logic
8 months ago
Rahim Kanji 1bcd09044b Refactor Connection Reset Handling
8 months ago
Rahim Kanji 7c71fe1a05 Prevent overwrite of named statements
9 months ago
Rahim Kanji 0de642559d Avoid crash when mirroring is set for PostgreSQL: show warning instead
9 months ago
Rahim Kanji 4ebff4c0cc Added support for protocol-supplied (out-of-band) parameter typing (argument-based)
9 months ago
Rahim Kanji a8a2799187 Improved locks
9 months ago
Rahim Kanji 703a5f35f5 Added stats_pgsql_prepared_statements_info table
9 months ago
Rahim Kanji 06383750b3 Fixed SonarQube warnings where applicable
9 months ago
Rahim Kanji bc87d0d901 * For a Describe Portal message, peek at the next message in the extended query frame. If it is an Execute message, indicating that client is sending a Bind/Describe/Execute sequence
9 months ago
Rahim Kanji 87ad15b01c * Removed autocommit_on_hostgroup from PostgreSQL modules
9 months ago
Rahim Kanji 48ba491cb7 Add support for unnamed Describe Portal and improve extended query handling
9 months ago
Rahim Kanji 7cde1dcad6 Added comments
9 months ago
Rahim Kanji d3592020ac * Created a separate file for Extended Query messages to reduce clutter in PgSQL_Protocol.
9 months ago
Rahim Kanji 3cff4f9dca * Added sticky backend support for extended query frames: all messages in a single frame will now use the same backend connection.
9 months ago
Rahim Kanji d5fc1fefff Renamed pending_query to extended_query_frame
9 months ago
Rahim Kanji f350102f72 Code cleanup
9 months ago
Rahim Kanji 8bb248cef5 Added Bind and Execute support
9 months ago
Rahim Kanji 4d0618c296 Added Close statement handling
9 months ago
Rahim Kanji a741598a8d Added Describe message handling
10 months ago
Rahim Kanji 97b3bb16e3 Fixed RequestEnd
10 months ago
Rahim Kanji 24fecc1f6e Add PostgreSQL extended query (prepared statement) support in ProxySQL
10 months ago
Rahim Kanji 026f458f7c Removed last_insert_id from PostgreSQL modules
10 months ago
Rahim Kanji c71aa550df Added names (alias of client_encoding)
11 months ago
Rahim Kanji 979b3a81f4 Added PgSQL_ExplicitTxnStateMgr in session
11 months ago
Rahim Kanji 4969bd8301 PQconnectPoll can file descriptor (FD) during the connection process. We need to check whether FD has changed and, if so, update it in the thread's poll array.
12 months ago
René Cannaò 6df3d6b84b
Merge pull request #4899 from sysown/v3.0_refactor_connection_info_param
1 year ago
Rahim Kanji c2f2ae5aa4 * Updated code to use pgsql_tracked_variables[idx] consistently, removing
1 year ago
Rahim Kanji db442ba8cf Treat client_encoding as normal server parameter/variable.
1 year ago
Rahim Kanji fbb9500cb9 Refactored connection parameters
1 year ago
René Cannaò e17477e297
Merge pull request #4871 from sysown/v3.0-4803_20250313
1 year ago
Rahim Kanji fa220398f6 Moved dynamic fast-forward logic (used for COPY ... FROM STDIN) to execute after session variables are set on the backend connection
1 year ago
René Cannaò 2551d350e9 Port to 3.0 of in-memory query logging
1 year ago
Rahim Kanji 055e748673 Fixed DateStyle Validator
1 year ago
Rahim Kanji 6603d48bb0 Optimized and simplified PostgreSQL variable Validator
1 year ago
Rahim Kanji a5b7063cf3 Add validation for PostgreSQL patameters/variables and default PostgreSQL variables
1 year ago
Rahim Kanji 41206d2ee7 Added enable_nestloop parameter
1 year ago
Rahim Kanji e0ced2e14c Fixed extra_float_digits variable position
1 year ago
Rahim Kanji 427f20072b Tracking new variables
1 year ago
Rahim Kanji 40be1158c2 Finally removed PgSQL_Connection_Placeholder class
1 year ago
Rahim Kanji 570e62b618 Removed MySQL Prepare Statement residual code
1 year ago
Rahim Kanji ac64bd5d21 Removed leftover MySQL prepared statement code
1 year ago
Rahim Kanji a22936164b Removed psql from PgSQL_Connection_Placeholder
1 year ago
Rahim Kanji bcc20f8214 Moved few members and methods to PgSQL_Connection
1 year ago
Rahim Kanji 99d9708eeb Removed dead code
1 year ago
Rahim Kanji 87838bec14 Refactored get_default_session_variable
1 year ago
Rahim Kanji e6ddae643b Now, default variables are set for all tracked variables
1 year ago
Rahim Kanji 5fb518dc90 Added some more variables
1 year ago
Rahim Kanji 65ec341b39 Added support for COPY ... FROM STDOUT
1 year ago
Rahim Kanji d2c333dcfd Special handling of PostgreSQL DateStyle in ProxySQL
1 year ago
Rahim Kanji 35b2dd593d Separate implementation of SET statement parser for MySQL and PostgreSQL
1 year ago
Rahim Kanji 0e1392322f RESET oaramter and DEFAULT parameter value handling (not fully tested yet)
1 year ago
Rahim Kanji 06e496b7c3 Added tracking of parameters:
1 year ago
Rahim Kanji b4e9060f71 Modified Set Parser
1 year ago
Rahim Kanji f0316c7d50 Since notices can reorder packets, it is important to account for this when calculating the result set size
1 year ago
Rahim Kanji abbe02d99f Implemented logic to store results with notices in the Query Cache
1 year ago
Rahim Kanji 395a977e68 Merge branch 'v3.0'
1 year ago
Rahim Kanji f33fd02c37 Add COPY ... FROM STDIN detection regex
1 year ago
Rahim Kanji b906c08992 Added dynamic fast forward support
1 year ago
Rahim Kanji c4a8b0ec9b Added FAST FORWARD support for PostgreSQL
1 year ago