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