Commit Graph

15 Commits

Author SHA1 Message Date
xxchan
be90d0e848 derive Debug for SimpleQueryMessage 2022-12-07 12:29:28 +01:00
Steven Fackler
52de269367 fix clippy 2021-05-18 20:47:26 -04:00
Steven Fackler
2615441c7d Doc cleanup and "real" extensible enums 2019-12-21 18:14:28 -08:00
Steven Fackler
12c2ef79b6 Upgrade to tokio 0.2/futures 0.3 2019-11-26 16:32:36 -08:00
Brandon W Maister
4a3df873e9 Make all invalid message length errors unique 2019-11-19 10:28:31 -05:00
Steven Fackler
2cc5bbf21b Inline buffer methods 2019-09-08 16:56:31 -07:00
Steven Fackler
2d2a5dea81 Send response messages in blocks
Our codec implementation originally just parsed single messages out of
the stream buffer. However, if a query returns a bunch of rows, we're
spending a ton of time shipping those individual messages from the
connection back to the Query stream. Instead, collect blocks of unparsed
messages that are as large as possible and send those back.

This cuts the processing time of the following query in half, from ~10
seconds to ~5:
`SELECT s.n, 'name' || s.n FROM generate_series(0, 9999999) AS s(n)`

At this point, almost all of the remainder of the time is spent parsing
the rows.

cc 
2019-06-27 21:47:13 -07:00
Steven Fackler
04ce4bb7a1 Run clippy 2018-12-09 21:44:07 -08:00
Steven Fackler
6a5f22cd5d Migrate postgres-protocol to 2018 edition 2018-12-08 17:24:38 -08:00
Steven Fackler
7056e3ec24 Copy out support 2018-07-15 19:40:15 -07:00
Steven Fackler
6a86f8dd85 Rustfmt 2017-06-30 17:35:17 -10:00
Steven Fackler
f892c4b57b try! -> ? 2017-05-22 21:55:51 -07:00
Steven Fackler
801835a05b Add new SASL messages to protocol 2017-05-18 21:54:39 -07:00
Steven Fackler
6b008766bf Use the bytes crate for backend message parsing () 2017-05-06 08:28:07 -07:00
Steven Fackler
6df3842274 Move postgres-protocol in-tree 2017-03-12 13:46:01 -07:00