Repository navigation
v0.21.0
This release adds two drivers, maxcompute and tablestore, for two hosted services of Alibaba Cloud. Both are new, so no consumer must change anything.
maxcompute (W47)
- The driver name is
maxcompute. The DSN ismaxcompute://<id>:<secret>@service.<region>.maxcompute.aliyun.com/<project>, with an optional?region=. A key that starts withodps.sets a setting of the server. - The driver signs each request with version 4 and reads the result as CSV.
- Before each query, the driver runs
EXPLAIN OUTPUTto learn the exact type of each column. ADATETIMEor aTIMESTAMPis atime.Timein the zone of the project. - The driver sends no parameters to the server. It writes each argument into the text of the statement. It has no transactions.
- The server cuts a result at 10,000 rows without an error, and the driver returns the rows as they arrive.
- The caller sets script mode, because the driver never parses a query to find several statements.
tablestore (W48)
- The driver name is
tablestore. The DSN istablestore://<id>:<secret>@<instance>.<region>.ots.aliyuncs.com/<instance>. - The driver sends SQL over the mapping tables of Tablestore. It writes the protobuf and FlatBuffers messages in this repository and adds no package.
- A
DATETIMEis adbimp.LocalDateTime. The server reads and writes its text in the zone Asia/Shanghai. The driver reads the text in that zone. - The driver sends one statement for each request, with no parameters and no transactions.
- The driver keeps the whole answer in memory.
Recorder and documents
- The recorder in
dbimptest/cmd/recordcan sign requests for both services, send a binary body, and send a request again after a reset or a handshake timeout. - The documents
docs/MAXCOMPUTE.mdanddocs/TABLESTORE.md, the decisions D218 to D224, the type matrix, the targets and the progress table describe both drivers. D220, D221 and D224 are still proposed.
Workflow
- The integration jobs leave out both drivers, because
dbrunstarts no server for a hosted service. The integration tests passed by hand on a live project and a live instance. - The jobs
drill-1.21.2anddrill-1.22.0fail in CI. They failed before this release, andv0.21.1fixes them. This release changes no code of either driver.