{"id":13393182,"url":"https://github.com/istreamdata/orientgo","last_synced_at":"2025-03-13T19:31:27.955Z","repository":{"id":26392982,"uuid":"29842572","full_name":"istreamdata/orientgo","owner":"istreamdata","description":"Go (golang) client for OrientDB","archived":true,"fork":false,"pushed_at":"2018-10-18T10:01:37.000Z","size":1103,"stargazers_count":125,"open_issues_count":16,"forks_count":22,"subscribers_count":18,"default_branch":"v2","last_synced_at":"2025-03-10T19:13:10.863Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/istreamdata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-26T03:05:50.000Z","updated_at":"2025-01-18T11:48:45.000Z","dependencies_parsed_at":"2022-08-28T23:04:14.801Z","dependency_job_id":null,"html_url":"https://github.com/istreamdata/orientgo","commit_stats":null,"previous_names":["quux00/ogonori"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/istreamdata%2Forientgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/istreamdata%2Forientgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/istreamdata%2Forientgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/istreamdata%2Forientgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/istreamdata","download_url":"https://codeload.github.com/istreamdata/orientgo/tar.gz/refs/heads/v2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243469146,"owners_count":20295694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:00:45.115Z","updated_at":"2025-03-13T19:31:25.580Z","avatar_url":"https://github.com/istreamdata.png","language":"Go","readme":"# Overview\n[![Build Status](https://travis-ci.org/istreamdata/orientgo.svg?branch=v2)](https://travis-ci.org/istreamdata/orientgo)\n[![GoDoc](https://godoc.org/gopkg.in/istreamdata/orientgo.v2?status.svg)](https://godoc.org/gopkg.in/istreamdata/orientgo.v2)\n\n**OrientGo** is a Go client for the [OrientDB](http://orientdb.com/orientdb/) database.\n\n![OrientGo Logo](https://raw.github.com/istreamdata/orientgo/v2/logo/orientgo.png)\n\n# Status\n\nOrientDB versions supported: **2.0.15 - 2.1.5**\n\n**Not supported versions:**\n\n- 2.1.0 (bug in OrientDB, see [#28](https://github.com/istreamdata/orientgo/issues/28))\n- 2.1.3 (broken protocol, see [#39](https://github.com/istreamdata/orientgo/issues/39))\n\nDriver is no longer maintained and seeking for a new owner.\n\n### Ogonori\n\nOriginal ogonori API is deprecated. Still, it's source code have been frozen in [v1.0](https://github.com/istreamdata/orientgo/tree/v1.0) branch.\nTo use it, simply replace `github.com/quux00/ogonori` imports with `gopkg.in/istreamdata/orientgo.v1`.\n\n### Supported features:\n- Mostly any SQL [queries](http://godoc.org/gopkg.in/istreamdata/orientgo.v2#SQLQuery), [commands](http://godoc.org/gopkg.in/istreamdata/orientgo.v2#SQLCommand) and [batch requests](http://godoc.org/gopkg.in/istreamdata/orientgo.v2#ScriptCommand).\n- Server-side scripts (via [ScriptCommand](http://godoc.org/gopkg.in/istreamdata/orientgo.v2#ScriptCommand) or [functions](http://godoc.org/gopkg.in/istreamdata/orientgo.v2#Function)).\n- Command results conversion to custom types via [mapstructure](http://github.com/mitchellh/mapstructure).\n- Direct CRUD operations on `Document` or `BytesRecord` objects.\n- Management of databases and record clusters.\n- Can be used for the golang `database/sql` API, with some cautions (see below).\n- Only supports OrientDB 2.x series.\n\n### Not supported yet:\n- OrientDB 1.x.\n- Servers with cluster configuration (not tested).\n- Fetch plans are temporary disabled due to internal changes.\n- Transactions in Go. Transactions in JS can be used instead.\n- Live queries.\n- Command results streaming ([#26](https://github.com/istreamdata/orientgo/issues/26)).\n- OrientDB CUSTOM type.\n- ORM-like API. See Issue [#6](https://github.com/istreamdata/orientgo/issues/6).\n\n#### Caveat on using OrientGo as a database/sql API driver\n\n**WARNING: database/sql API is disabled for now.**\n\nThe golang `database/sql` API has some constraints that can be make it painful to work with OrientDB. For example:\n\n* When you insert a record, the Go `database/sql` API only allows one to return a single int64 identifier for the record, but OrientDB uses as a compound int16:int64 RID, so getting the RID of records you just inserted requires another round trip to the database to query the RID.\n\nAlso, since OrientDB transactions are not supported, the `Tx` portion of the `database/sql` API is not yet implemented.\n\n# Development\n\nYou are welcome to initiate pull request and suggest a more user-friendly API. We will try to review them ASAP.\n\n## How to run functional tests:\n\n1) Install [Docker](https://docs.docker.com)\n\n2) Pull OrientDB image: `docker pull dennwc/orientdb:2.1`\n\n3) `go test -v ./...`\n\n## Examples\n\nDial example - dial_example_test.go\n\n## LICENSE\n\nThe MIT License\n","funding_links":[],"categories":["Uncategorized","Go","🥧 Browse Series: 52 articles"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fistreamdata%2Forientgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fistreamdata%2Forientgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fistreamdata%2Forientgo/lists"}