@@ -245,3 +245,208 @@ To send bare Lua code for execution, use ``Eval``:
245
245
.. code-block :: go
246
246
247
247
resp, err = connection.Eval("return 4 + 5", []interface{}{})
248
+
249
+ .. _getting_started-go-comparison :
250
+
251
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
252
+ Feature comparison
253
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
254
+
255
+ There are two more connectors from 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
+ .. list-table ::
260
+ :header-rows: 1
261
+ :stub-columns: 1
262
+ :align: center
263
+
264
+ * -
265
+ - `tarantool/go-tarantool <https://github.com/tarantool/go-tarantool >`_
266
+ - `viciious/go-tarantool <https://github.com/viciious/go-tarantool >`_
267
+ - `FZambia/tarantool <https://github.com/FZambia/tarantool >`_
268
+
269
+ * - License
270
+ - BSD 2-Clause
271
+ - MIT
272
+ - BSD 2-Clause
273
+
274
+ * - Last update
275
+ - 2021
276
+ - 2021
277
+ - 2021
278
+
279
+ * - Estimation of importance of known bugs
280
+ - `#50 <https://github.com/tarantool/go-tarantool/issues/50 >`_,
281
+ `#89 <https://github.com/tarantool/go-tarantool/issues/89 >`_,
282
+ `#94 <https://github.com/tarantool/go-tarantool/issues/94 >`_
283
+ - `#41 <https://github.com/viciious/go-tarantool/issues/41 >`_
284
+ - No known issues
285
+
286
+ * - Documentation
287
+ - README with examples, API described in code comments
288
+ - README with examples, code comments
289
+ - README with examples
290
+
291
+ * - Testing / CI / CD
292
+ - GitHub Actions
293
+ - Travis CI
294
+ - GitHub Actions
295
+
296
+ * - Github Stars
297
+ - 127
298
+ - 43
299
+ - 12
300
+
301
+ * - Static Analysis
302
+ - No
303
+ - golint
304
+ - golangci-lint
305
+
306
+ * - Packaging
307
+ - go get
308
+ - go get
309
+ - go get
310
+
311
+ * - Code coverage
312
+ - No
313
+ - No
314
+ - No
315
+
316
+ * - msgpack driver
317
+ - `vmihailenco/msgpack/v2 <https://github.com/vmihailenco/msgpack/tree/v2 >`_
318
+ - `tinylib/msgp <https://github.com/tinylib/msgp >`_
319
+ - `vmihailenco/msgpack/v5 <https://github.com/vmihailenco/msgpack/tree/v5 >`_
320
+
321
+ * - Async work
322
+ - Yes (channels)
323
+ - Yes (channels)
324
+ - Yes (channels)
325
+
326
+ * - Batching
327
+ - No
328
+ - No
329
+ - No
330
+
331
+ * - Schema reload
332
+ - Yes (manual pull)
333
+ - Yes (manual pull)
334
+ - Yes (manual pull)
335
+
336
+ * - Space / index names
337
+ - Yes
338
+ - Yes
339
+ - Yes
340
+
341
+ * - Tuples as structures
342
+ - Yes (structure and marshall functions must be predefined in Go code)
343
+ - No
344
+ - Yes (structure and marshall functions must be predefined in Go code)
345
+
346
+ * - Access tuple fields by names
347
+ - Only if marshalled to structure
348
+ - No
349
+ - Only if marshalled to structure
350
+
351
+ * - `SQL <https://www.tarantool.io/en/doc/latest/reference/reference_sql/ >`_ support
352
+ - No (`#62 <https://github.com/tarantool/go-tarantool/issues/62 >`_), eval supported
353
+ - No (`#18 <https://github.com/viciious/go-tarantool/issues/18 >`_, closed), eval supported
354
+ - No, eval supported
355
+
356
+ * - `Interactive transactions <https://www.tarantool.io/en/doc/latest/book/box/stream/ >`_
357
+ - No (`#101 <https://github.com/tarantool/go-tarantool/issues/101 >`_)
358
+ - No
359
+ - No
360
+
361
+ * - `Varbinary <https://www.tarantool.io/en/doc/latest/book/box/data_model/ >`_ support
362
+ - Yes (with in-built language tools)
363
+ - Yes (with in-built language tools)
364
+ - Questionable (decoding is weird with in-built language tools)
365
+
366
+ * - `UUID <https://www.tarantool.io/en/doc/latest/book/box/data_model/ >`_ support
367
+ - Yes
368
+ - No
369
+ - No
370
+
371
+ * - Decimal support
372
+ - No (`#96 <https://github.com/tarantool/go-tarantool/issues/96 >`_)
373
+ - No
374
+ - No
375
+
376
+ * - `EXT_ERROR <https://www.tarantool.io/ru/doc/latest/dev_guide/internals/msgpack_extensions/#the-error-type >`_
377
+ support
378
+ - Yes
379
+ - Yes
380
+ - Yes
381
+
382
+ * - `[Soon] Datetime <https://github.com/tarantool/tarantool/discussions/6244 >`_ support
383
+ - No
384
+ - No
385
+ - No
386
+
387
+ * - `box.session.push() responses <https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_session/push/ >`_
388
+ - No (`#67 <https://github.com/tarantool/go-tarantool/issues/67 >`_)
389
+ - No (`#21 <https://github.com/viciious/go-tarantool/issues/21 >`_)
390
+ - Yes
391
+
392
+ * - `Session settings <https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_space/_session_settings/ >`_
393
+ - No
394
+ - No
395
+ - No
396
+
397
+ * - `[Soon] Graceful shutdown <https://github.com/tarantool/tarantool/issues/5924 >`_
398
+ - No
399
+ - No
400
+ - No
401
+
402
+ * - `IPROTO_ID (feature discovering) <https://github.com/tarantool/tarantool/issues/6253 >`_
403
+ - No
404
+ - No
405
+ - No
406
+
407
+ * - `tarantool/crud <https://github.com/tarantool/crud >`_ support
408
+ - No
409
+ - No
410
+ - No
411
+
412
+ * - Support retrying
413
+ - No
414
+ - No
415
+ - No
416
+
417
+ * - Implicit reconnecting strategy
418
+ - Yes
419
+ - Yes
420
+ - Yes
421
+
422
+ * - Round robin failover
423
+ - Yes
424
+ - No
425
+ - No
426
+
427
+ * - `[Soon] Master discovering <https://github.com/tarantool/tarantool/issues/6256 >`__
428
+ - No
429
+ - No
430
+ - No
431
+
432
+ * - `Watchers <https://github.com/tarantool/tarantool/pull/6510 >`_
433
+ - No
434
+ - No
435
+ - No
436
+
437
+ * - Connection pool
438
+ - Yes
439
+ - No (requests pool supported)
440
+ - No (msgpack pool supported)
441
+
442
+ * - Language features
443
+ - No
444
+ - context
445
+ - context
446
+
447
+ * - Other features
448
+ - Queue API
449
+ - Can mimic a Tarantool instance (also as replica)
450
+ - No
451
+
452
+ Last update: December 2021
0 commit comments