{"id":28401908,"url":"https://github.com/griddb/go_client","last_synced_at":"2025-06-28T21:31:24.504Z","repository":{"id":36261896,"uuid":"125323674","full_name":"griddb/go_client","owner":"griddb","description":"GridDB Go Client","archived":false,"fork":false,"pushed_at":"2022-09-30T09:09:07.000Z","size":406,"stargazers_count":17,"open_issues_count":3,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-01T22:09:59.351Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/griddb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-15T06:39:54.000Z","updated_at":"2022-10-25T08:51:50.000Z","dependencies_parsed_at":"2023-01-17T01:15:58.946Z","dependency_job_id":null,"html_url":"https://github.com/griddb/go_client","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/griddb/go_client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgo_client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgo_client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgo_client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgo_client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/griddb","download_url":"https://codeload.github.com/griddb/go_client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griddb%2Fgo_client/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262502192,"owners_count":23321099,"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":"2025-06-01T14:06:40.384Z","updated_at":"2025-06-28T21:31:24.495Z","avatar_url":"https://github.com/griddb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"GridDB Go Client\n\n## Overview\n\nGridDB Go Client is developed using GridDB C Client and [SWIG](http://www.swig.org/) (Simplified Wrapper and Interface Generator).  \n\n## Operating environment\n\nBuilding of the library and execution of the sample programs have been checked in the following environment.\n\n    OS: CentOS 7.9(x64) (GCC 4.8.5)\n    SWIG: 4.0.2\n    Go: 1.16/1.18\n    GridDB C client: V5.0 CE(Community Edition)\n    GridDB server: V5.0 CE, CentOS 7.9(x64) (GCC 4.8.5)\n\n    OS: Ubuntu 18.04(x64) (GCC 7.3.0) / 20.04(x64) (GCC 9.4.0)\n    SWIG: 4.0.2\n    Go: 1.16/1.18\n    GridDB C client: V5.0 CE\n    GridDB server: V5.0 CE, Ubuntu 18.04(x64) (Note: If you build from source code, please use GCC 4.8.5.)\n    \n    OS: Windows 10(x64) (gdm64-gcc 10.3.0)\n    SWIG: 4.0.2\n    Go: 1.16/1.18\n    GridDB C client: V5.0 CE\n    GridDB server: V5.0 CE, CentOS 7.9(x64) (GCC 4.8.5)\n\n## QuickStart (CentOS, Ubuntu)\n### Preparations\n\nInstall SWIG as below.\n\n    $ wget https://prdownloads.sourceforge.net/swig/swig-4.0.2.tar.gz\n    $ tar xvfz swig-4.0.2.tar.gz\n    $ cd swig-4.0.2\n    $ ./autogen.sh\n    $ ./configure\n    $ make\n    $ sudo make install\n   \n    Note: If CentOS, you might need to install pcre in advance.\n    $ sudo yum install pcre2-devel.x86_64\n\nInstall Go.\n\nInstall [GridDB Server](https://github.com/griddb/griddb) and [C Client](https://github.com/griddb/c_client). \n\nNote: \n- If you build Server from source code, please use GCC 4.8.5.\n- If you build C Client from source code, please set LIBRARY_PATH and LD_LIBRARY_PATH.\n\n    Ex.)  \n    $ export LIBRARY_PATH=$LIBRARY_PATH:$C_CLIENT_HOME/bin  \n    $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$C_CLIENT_HOME/bin\n\n### Build and Run \n\n    1. Set the GOPATH variable for Go module files.\n\n    2. Get Go client source code.\n\n        $ go env -w GO111MODULE=off\n        $ go get -d github.com/griddb/go_client\n\n    3. Run script to generate resource and install Go client\n\n        $ cd $GOPATH/src/github.com/griddb/go_client\n        $ ./run_swig.sh\n        $ go install\n\n    4. Import \"github.com/griddb/go_client\" in Go.\n\n### How to run sample\n\nGridDB Server need to be started in advance.\n\n    1. The command to run sample\n\n        $ go run sample/sample1.go \u003cGridDB notification address\u003e \u003cGridDB notification port\u003e\n            \u003cGridDB cluster name\u003e \u003cGridDB user\u003e \u003cGridDB password\u003e\n          --\u003ePerson: name=name02 status=false count=1 lob=[65, 66, 67, 68, 69, 70, 71, 72, 73, 74]\n\n## QuickStart (Windows)\n### Preparations\n\nInstall SWIG as below.\n- Download zip package from https://sourceforge.net/projects/swig/files/swigwin/swigwin-4.0.2/swigwin-4.0.2.zip/download\n- Extract the zip package then set PATH variable for swig tool.\n\nInstall GO\n- Download and install package from https://dl.google.com/go/go1.16.2.windows-amd64.msi\n\nInstall [GridDB Server](https://github.com/griddb/griddb) on CentOS. (Note: If you build them from source code, please use GCC 4.8.5.) \n\nInstall GridDB C Client.\n- Please refer to https://github.com/griddb/c_client to install GridDB C client.\n- After installing GridDB C client, create folder \u003cgo_client\u003e\\libs and store gridstore_c.dll (not use gridstore_c.lib) into it.\n\nSet LIBRARY_PATH.\n\n    $ set LIBRARY_PATH=%LIBRARY_PATH%:\u003cC client library file directory path\u003e\n\nInstall tdm64-gcc\n- Download and install package from https://sourceforge.net/projects/tdm-gcc/files/v10.3.0-tdm64-2/tdm64-gcc-10.3.0-2.exe/download\n\n### Build and Run in cmd\n\n    1. Set the GOPATH variable for Go module files.\n\n    2. Get Go client source code.\n\n        $ go env -w GO111MODULE=off\n        $ go get -d github.com/griddb/go_client\n\n    3. Run script to generate resource and install Go client\n\n        $ cd %GOPATH%/src/github.com/griddb/go_client\n        $ ./run_swig.bat\n        $ go install\n\n    4. Import \"github.com/griddb/go_client\" in Go.\n\n### How to run sample\n\nGridDB Server need to be started in advance.\n\n    1. Set PATH\n\n        $ set PATH=%PATH%:\u003cC client library file directory path\u003e\n\n    2. The command to run sample\n\n        $ go run sample/sample1.go \u003cGridDB notification address\u003e \u003cGridDB notification port\u003e\n            \u003cGridDB cluster name\u003e \u003cGridDB user\u003e \u003cGridDB password\u003e\n          --\u003e[ 'name01', false, 1, \u003cBuffer 41 42 43 44 45 46 47 48 49 4a\u003e ]\n\n## Function\n\n(available)\n- STRING, BOOL, BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, TIMESTAMP, BLOB type for GridDB\n- put single row, get row with key\n- normal query, aggregation with TQL\n- Multi-Put/Get/Query (batch processing)\n\n(not available)\n- GEOMETRY, Array type for GridDB\n- timeseries-specific function like gsAggregateTimeSeries, gsQueryByTimeSeriesSampling in C client\n- affinity\n\nPlease refer to the following files for more detailed information.  \n- [Go Client API Reference](https://griddb.github.io/go_client/GoAPIReference.htm)\n\nNote:\n1. After calling a method getting GridDB object, user must call DeleteClassName() function for each object.\n   If possible, we recommend to use a defer of the DeleteClassName call like sample1.go.\n2. The current API might be changed in the next version. e.g. ContainerInfo()\n\n## Community\n\n  * Issues  \n    Use the GitHub issue function if you have any requests, questions, or bug reports. \n  * PullRequest  \n    Use the GitHub pull request function if you want to contribute code.\n    You'll need to agree GridDB Contributor License Agreement(CLA_rev1.1.pdf).\n    By using the GitHub pull request function, you shall be deemed to have agreed to GridDB Contributor License Agreement.\n\n## License\n  \n  GridDB Go Client source license is Apache License, version 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriddb%2Fgo_client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgriddb%2Fgo_client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriddb%2Fgo_client/lists"}