Skip to content

Commit 42fcbd3

Browse files
authored
Move "Feature comparison" table to doc/book/connectors/__go.rst (#2636)
* Moved "Feature comparison" table for Go connectors from Getting started page to the page devoted to connectors * Added links from "Getting started > Python" and "Getting started > Go" chapters to the relevant feature comparison tables in "Connectors" chapter. * Added one new feature for `viciious/go-tarantool`. Fixes #2637
1 parent 951a743 commit 42fcbd3

File tree

6 files changed

+538
-537
lines changed

6 files changed

+538
-537
lines changed

doc/book/connectors/__go.rst

Lines changed: 181 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,186 @@
22
Go
33
=====================================================================
44

5+
The following connectors are available:
56

6-
There are two connectors available:
7+
* Tarantool-supported `go-tarantool <https://github.com/tarantool/go-tarantool>`__
78

8-
* Tarantool-supported
9-
`go-tarantool <https://github.com/tarantool/go-tarantool>`__
10-
* Community-supported
11-
`Tarantool Go client <https://github.com/FZambia/tarantool>`__
12-
9+
* Community-supported `viciious/go-tarantool <https://github.com/viciious/go-tarantool>`_
10+
11+
* Community-supported `FZambia/tarantool <https://github.com/FZambia/tarantool>`_.
12+
13+
Feature comparison
14+
------------------
15+
16+
Last update: January 2022
17+
18+
.. list-table::
19+
:header-rows: 1
20+
:stub-columns: 1
21+
22+
* -
23+
- `tarantool/go-tarantool <https://github.com/tarantool/go-tarantool>`_
24+
- `viciious/go-tarantool <https://github.com/viciious/go-tarantool>`_
25+
- `FZambia/tarantool <https://github.com/FZambia/tarantool>`_
26+
27+
* - License
28+
- BSD 2-Clause
29+
- MIT
30+
- BSD 2-Clause
31+
32+
* - Last update
33+
- 2022
34+
- 2021
35+
- 2021
36+
37+
* - Documentation
38+
- README with examples, API described in code comments
39+
- README with examples, code comments
40+
- README with examples
41+
42+
* - Testing / CI / CD
43+
- GitHub Actions
44+
- Travis CI
45+
- GitHub Actions
46+
47+
* - GitHub Stars
48+
- 127
49+
- 43
50+
- 12
51+
52+
* - Static analysis
53+
- No
54+
- golint
55+
- golangci-lint
56+
57+
* - Packaging
58+
- go get
59+
- go get
60+
- go get
61+
62+
* - Code coverage
63+
- No
64+
- No
65+
- No
66+
67+
* - msgpack driver
68+
- `vmihailenco/msgpack/v2 <https://github.com/vmihailenco/msgpack/tree/v2>`_ (`#124 <https://github.com/tarantool/go-tarantool/issues/124>`_)
69+
- `tinylib/msgp <https://github.com/tinylib/msgp>`_
70+
- `vmihailenco/msgpack/v5 <https://github.com/vmihailenco/msgpack/tree/v5>`_
71+
72+
* - Async work
73+
- Yes
74+
- Yes
75+
- Yes
76+
77+
* - Schema reload
78+
- Yes (manual pull)
79+
- Yes (manual pull)
80+
- Yes (manual pull)
81+
82+
* - Space / index names
83+
- Yes
84+
- Yes
85+
- Yes
86+
87+
* - Tuples as structures
88+
- Yes (structure and marshall functions must be predefined in Go code)
89+
- No
90+
- Yes (structure and marshall functions must be predefined in Go code)
91+
92+
* - Access tuple fields by names
93+
- Only if marshalled to structure
94+
- No
95+
- Only if marshalled to structure
96+
97+
* - `SQL <https://www.tarantool.io/en/doc/latest/reference/reference_sql/>`_ support
98+
- No (`#62 <https://github.com/tarantool/go-tarantool/issues/62>`_)
99+
- No (`#18 <https://github.com/viciious/go-tarantool/issues/18>`_, closed)
100+
- No
101+
102+
* - `Interactive transactions <https://www.tarantool.io/en/doc/latest/book/box/stream/>`_
103+
- No (`#101 <https://github.com/tarantool/go-tarantool/issues/101>`_)
104+
- No
105+
- No
106+
107+
* - `Varbinary <https://www.tarantool.io/en/doc/latest/book/box/data_model/>`_ support
108+
- Yes (with in-built language tools)
109+
- Yes (with in-built language tools)
110+
- Yes (decodes to string by default, see `#6 <https://github.com/FZambia/tarantool/issues/6>`_)
111+
112+
* - `UUID <https://www.tarantool.io/en/doc/latest/book/box/data_model/>`_ support
113+
- Yes
114+
- No
115+
- No
116+
117+
* - Decimal support
118+
- No (`#96 <https://github.com/tarantool/go-tarantool/issues/96>`_)
119+
- No
120+
- No
121+
122+
* - `EXT_ERROR <https://www.tarantool.io/ru/doc/latest/dev_guide/internals/msgpack_extensions/#the-error-type>`_
123+
support
124+
- No
125+
- No
126+
- No
127+
128+
* - `Datetime <https://github.com/tarantool/tarantool/discussions/6244>`_ support
129+
- No (`#118 <https://github.com/tarantool/go-tarantool/issues/118>`_)
130+
- No
131+
- No
132+
133+
* - `box.session.push() responses <https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_session/push/>`_
134+
- No (`#67 <https://github.com/tarantool/go-tarantool/issues/67>`_)
135+
- No (`#21 <https://github.com/viciious/go-tarantool/issues/21>`_)
136+
- Yes
137+
138+
* - `Session settings <https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_space/_session_settings/>`_
139+
- No
140+
- No
141+
- No
142+
143+
* - `Graceful shutdown <https://github.com/tarantool/tarantool/issues/5924>`_
144+
- No
145+
- No
146+
- No
147+
148+
* - `IPROTO_ID (feature discovering) <https://github.com/tarantool/tarantool/issues/6253>`_
149+
- No
150+
- No
151+
- No
152+
153+
* - `tarantool/crud <https://github.com/tarantool/crud>`_ support
154+
- No
155+
- No
156+
- No
157+
158+
* - Connection pool
159+
- Yes (round-robin failover, no balancing, master discovering planned in `#113 <https://github.com/tarantool/go-tarantool/issues/113>`_)
160+
- No
161+
- No
162+
163+
* - Transparent reconnecting
164+
- Yes (see comments in `#129 <https://github.com/tarantool/go-tarantool/issues/129>`_)
165+
- No (handle reconnects explicitly, refer to `#11 <https://github.com/viciious/go-tarantool/issues/11>`_)
166+
- Yes (see comments in `#7 <https://github.com/FZambia/tarantool/issues/7>`_)
167+
168+
* - Transparent request retrying
169+
- No
170+
- No
171+
- No
172+
173+
* - `Watchers <https://github.com/tarantool/tarantool/pull/6510>`_
174+
- No
175+
- No
176+
- No
177+
178+
* - Language features
179+
- No (`#48 <https://github.com/tarantool/go-tarantool/issues/48>`_)
180+
- context
181+
- context
182+
183+
* - Miscellaneous
184+
- Supports `tarantool/queue <https://github.com/tarantool/queue>`_ API
185+
- Can mimic a Tarantool instance (also as replica). Provides instrumentation for reading snapshot and xlog files
186+
via `snapio module <https://github.com/viciious/go-tarantool/tree/master/snapio>`_
187+
- API is experimental and breaking changes may happen

doc/getting_started/getting_started_go.rst

Lines changed: 7 additions & 175 deletions
Original file line numberDiff line numberDiff line change
@@ -252,178 +252,10 @@ To send bare Lua code for execution, use ``Eval``:
252252
Feature comparison
253253
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
254254

255-
There are two more connectors from the open-source community available:
256-
`viciious/go-tarantool <https://github.com/viciious/go-tarantool>`_ and
257-
`FZambia/tarantool <https://github.com/FZambia/tarantool>`_.
258-
259-
Last update: January 2022
260-
261-
.. list-table::
262-
:header-rows: 1
263-
:stub-columns: 1
264-
265-
* -
266-
- `tarantool/go-tarantool <https://github.com/tarantool/go-tarantool>`_
267-
- `viciious/go-tarantool <https://github.com/viciious/go-tarantool>`_
268-
- `FZambia/tarantool <https://github.com/FZambia/tarantool>`_
269-
270-
* - License
271-
- BSD 2-Clause
272-
- MIT
273-
- BSD 2-Clause
274-
275-
* - Last update
276-
- 2022
277-
- 2021
278-
- 2021
279-
280-
* - Documentation
281-
- README with examples, API described in code comments
282-
- README with examples, code comments
283-
- README with examples
284-
285-
* - Testing / CI / CD
286-
- GitHub Actions
287-
- Travis CI
288-
- GitHub Actions
289-
290-
* - GitHub Stars
291-
- 127
292-
- 43
293-
- 12
294-
295-
* - Static analysis
296-
- No
297-
- golint
298-
- golangci-lint
299-
300-
* - Packaging
301-
- go get
302-
- go get
303-
- go get
304-
305-
* - Code coverage
306-
- No
307-
- No
308-
- No
309-
310-
* - msgpack driver
311-
- `vmihailenco/msgpack/v2 <https://github.com/vmihailenco/msgpack/tree/v2>`_ (`#124 <https://github.com/tarantool/go-tarantool/issues/124>`_)
312-
- `tinylib/msgp <https://github.com/tinylib/msgp>`_
313-
- `vmihailenco/msgpack/v5 <https://github.com/vmihailenco/msgpack/tree/v5>`_
314-
315-
* - Async work
316-
- Yes
317-
- Yes
318-
- Yes
319-
320-
* - Schema reload
321-
- Yes (manual pull)
322-
- Yes (manual pull)
323-
- Yes (manual pull)
324-
325-
* - Space / index names
326-
- Yes
327-
- Yes
328-
- Yes
329-
330-
* - Tuples as structures
331-
- Yes (structure and marshall functions must be predefined in Go code)
332-
- No
333-
- Yes (structure and marshall functions must be predefined in Go code)
334-
335-
* - Access tuple fields by names
336-
- Only if marshalled to structure
337-
- No
338-
- Only if marshalled to structure
339-
340-
* - `SQL <https://www.tarantool.io/en/doc/latest/reference/reference_sql/>`_ support
341-
- No (`#62 <https://github.com/tarantool/go-tarantool/issues/62>`_)
342-
- No (`#18 <https://github.com/viciious/go-tarantool/issues/18>`_, closed)
343-
- No
344-
345-
* - `Interactive transactions <https://www.tarantool.io/en/doc/latest/book/box/stream/>`_
346-
- No (`#101 <https://github.com/tarantool/go-tarantool/issues/101>`_)
347-
- No
348-
- No
349-
350-
* - `Varbinary <https://www.tarantool.io/en/doc/latest/book/box/data_model/>`_ support
351-
- Yes (with in-built language tools)
352-
- Yes (with in-built language tools)
353-
- Yes (decodes to string by default, see `#6 <https://github.com/FZambia/tarantool/issues/6>`_)
354-
355-
* - `UUID <https://www.tarantool.io/en/doc/latest/book/box/data_model/>`_ support
356-
- Yes
357-
- No
358-
- No
359-
360-
* - Decimal support
361-
- No (`#96 <https://github.com/tarantool/go-tarantool/issues/96>`_)
362-
- No
363-
- No
364-
365-
* - `EXT_ERROR <https://www.tarantool.io/ru/doc/latest/dev_guide/internals/msgpack_extensions/#the-error-type>`_
366-
support
367-
- No
368-
- No
369-
- No
370-
371-
* - `Datetime <https://github.com/tarantool/tarantool/discussions/6244>`_ support
372-
- No (`#118 <https://github.com/tarantool/go-tarantool/issues/118>`_)
373-
- No
374-
- No
375-
376-
* - `box.session.push() responses <https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_session/push/>`_
377-
- No (`#67 <https://github.com/tarantool/go-tarantool/issues/67>`_)
378-
- No (`#21 <https://github.com/viciious/go-tarantool/issues/21>`_)
379-
- Yes
380-
381-
* - `Session settings <https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_space/_session_settings/>`_
382-
- No
383-
- No
384-
- No
385-
386-
* - `Graceful shutdown <https://github.com/tarantool/tarantool/issues/5924>`_
387-
- No
388-
- No
389-
- No
390-
391-
* - `IPROTO_ID (feature discovering) <https://github.com/tarantool/tarantool/issues/6253>`_
392-
- No
393-
- No
394-
- No
395-
396-
* - `tarantool/crud <https://github.com/tarantool/crud>`_ support
397-
- No
398-
- No
399-
- No
400-
401-
* - Connection pool
402-
- Yes (round-robin failover, no balancing, master discovering planned in `#113 <https://github.com/tarantool/go-tarantool/issues/113>`_)
403-
- No
404-
- No
405-
406-
* - Transparent reconnecting
407-
- Yes (see comments in `#129 <https://github.com/tarantool/go-tarantool/issues/129>`_)
408-
- No (handle reconnects explicitly, refer to `#11 <https://github.com/viciious/go-tarantool/issues/11>`_)
409-
- Yes (see comments in `#7 <https://github.com/FZambia/tarantool/issues/7>`_)
410-
411-
* - Transparent request retrying
412-
- No
413-
- No
414-
- No
415-
416-
* - `Watchers <https://github.com/tarantool/tarantool/pull/6510>`_
417-
- No
418-
- No
419-
- No
420-
421-
* - Language features
422-
- No (`#48 <https://github.com/tarantool/go-tarantool/issues/48>`_)
423-
- context
424-
- context
425-
426-
* - Miscellaneous
427-
- Supports `tarantool/queue <https://github.com/tarantool/queue>`_ API
428-
- Can mimic a Tarantool instance (also as replica)
429-
- API is experimental and breaking changes may happen
255+
There are two more connectors from the open-source community:
256+
257+
* `viciious/go-tarantool <https://github.com/viciious/go-tarantool>`_
258+
259+
* `FZambia/tarantool <https://github.com/FZambia/tarantool>`_.
260+
261+
See the :ref:`feature comparison table <index_connector_go>` of all Go connectors available.

doc/getting_started/getting_started_python.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,3 +245,11 @@ To send bare Lua code for execution, use ``eval``:
245245
246246
>>> connection.eval('return 4 + 5')
247247
9
248+
249+
.. _getting_started-python-comparison:
250+
251+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
252+
Feature comparison
253+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
254+
255+
See the :ref:`feature comparison table <index_connector_py>` of all Python connectors available.

0 commit comments

Comments
 (0)