pike.git/
lib/
modules/
Sql.pmod/
pgsql_util.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2020-05-18
2020-05-18 18:45:46 by Stephen R. van den Berg <srb@cuci.nl>
42a5aa2dce1d96c4e708a7d59acf4ce85b008011 (
14
lines) (+
11
/-
3
)
[
Show
|
Annotate
]
Branch:
8.0
pgsql: Speed up resync().
109:
private Regexp paralleliseprefix = iregexp("^\a*((SELEC|INSER)T|(UPDA|DELE)TE|(FETC|WIT)H)\a");
-
/* Statements matching transbeginprefix will cause the driver
+
/* Statements matching transbeginprefix will cause the driver
to
* insert a sync after the statement. * Failure to do so, will result in portal synchronisation errors * in the event of an ErrorResponse.
117:
final Regexp transbeginprefix = iregexp("^\a*(BEGIN|START)([; \t\f\r\n]|$)");
-
/* Statements matching transendprefix will cause the driver
+
/* Statements matching transendprefix will cause the driver
to
* insert a sync after the statement. * Failure to do so, will result in portal synchronisation errors * in the event of an ErrorResponse.
125:
final Regexp transendprefix = iregexp("^\a*(COMMIT|ROLLBACK|END)([; \t\f\r\n]|$)");
+
/* Statements matching nodataresprefix will cause the driver
+
* to skip asking for a query description and query results, since there
+
* are no arguments or results to begin with.
+
*/
+
final Regexp nodataresprefix
+
= iregexp("^\a*(RESET|CLOSE|DISCARD)\a");
+
/* For statements matching execfetchlimit the resultrows will not be * fetched in pieces. This heuristic will be sub-optimal whenever * either an UPDATE/DELETE/INSERT statement is prefixed by WITH, or
138:
* tradeoff. */ private Regexp execfetchlimit
-
= iregexp("^\a*((UPDA|DELE)TE|INSERT"
+
= iregexp("^\a*((UPDA|DELE)TE|INSERT
|CREATE|DROP
"
"|RESET|CLOSE|DISCARD)\a|\aLIMIT\a+[1-9][; \t\f\r\n]*$"); private void default_backend_runs() { // Runs as soon as the