MCPcopy Create free account
hub / github.com/erans/pgsqlite / is_fast_path_simple_query

Function is_fast_path_simple_query

src/query/simple_query_detector.rs:141–298  ·  view source on GitHub ↗
(query: &str)

Source from the content-addressed store, hash-verified

139/// Heavily optimized for minimal overhead
140#[inline(always)]
141pub fn is_fast_path_simple_query(query: &str) -> bool {
142 // Quick length check
143 if query.len() < 10 || query.len() > 2000 {
144 return false;
145 }
146
147 let query_bytes = query.as_bytes();
148
149 // Quick check for first character to determine query type
150 // This avoids expensive string operations for most queries
151 let first_char = query_bytes[0].to_ascii_uppercase();
152
153 let (is_dml, _can_have_returning) = match first_char {
154 b'S' => {
155 // Check if it's SELECT (no RETURNING possible)
156 if query_bytes.len() >= 7 {
157 let prefix = &query_bytes[0..7];
158 let is_select = prefix.eq_ignore_ascii_case(b"SELECT ");
159 (is_select, false)
160 } else {
161 (false, false)
162 }
163 },
164 b'I' => {
165 // Check if it's INSERT INTO (can have RETURNING)
166 if query_bytes.len() >= 12 {
167 let prefix = &query_bytes[0..12];
168 let is_insert = prefix.eq_ignore_ascii_case(b"INSERT INTO ");
169 (is_insert, is_insert)
170 } else {
171 (false, false)
172 }
173 },
174 b'U' => {
175 // Check if it's UPDATE (can have RETURNING)
176 if query_bytes.len() >= 7 {
177 let prefix = &query_bytes[0..7];
178 let is_update = prefix.eq_ignore_ascii_case(b"UPDATE ");
179 (is_update, is_update)
180 } else {
181 (false, false)
182 }
183 },
184 b'D' => {
185 // Check if it's DELETE FROM (can have RETURNING)
186 if query_bytes.len() >= 12 {
187 let prefix = &query_bytes[0..12];
188 let is_delete = prefix.eq_ignore_ascii_case(b"DELETE FROM ");
189 (is_delete, is_delete)
190 } else {
191 (false, false)
192 }
193 },
194 _ => (false, false),
195 };
196
197 if !is_dml {
198 return false;

Callers 2

process_queryFunction · 0.85

Calls 2

has_complex_returningFunction · 0.85
lenMethod · 0.45

Tested by

no test coverage detected