Open tglman opened 7 years ago
Just a couple of comments:
consider that this protocol is also used by the distributed layer for inter-server communication (maybe it's a good time split the two?)
add support of transaction download and upload after a not idempotent query (When a statement is executed on the server, the client transaction has to be flushed to the server, but also the server transaction has to be sent back to the client)
1) yes i want to distributed be out of the spec, and probably that speck don't need to be public. 3) yes i meant that, corrected
Hi,
Most of this has been implemented, working on the documentation and defining the push for metadata. we are near to close this OEP with the full implementation
Summary: A complete review of the binary protocol, introducing streaming, server side transaction, and specifications for any other data send on the binary channel.
Goals: Stabilize the binary protocol introducing all features needed for all the 3.x version and future, avoiding the need of review.
Non-Goals:
Define a replacement of the binary protocol.
Success metrics:
No change of the specification for all the 3.x version. Support of this specifications from third party.
Motivation:
Stabilization of the binary protocol. Add support for the functionality requirements for 3.0
Description:
For version 3.0 will be a general refactor on the binary protocol, it will guarantee the compatibility with 2.x protocol.
The changes are split in 6 main area
1) Genera review of protocol
2) Subscribe based Push Request
The push request flow will change to the following steps:
3) Server Side transaction
4) Introduction of new result set handling
5) Unification under the same protocol specification of all client required informations
6) Review of error format and specification of error by code
Alternatives:
Define a new protocol, that cover all the case that we cover now with all the new cases.
Risks and assumptions:
Is going to require an big effort from contributors.
Impact matrix