Skip to content

Releases: cubrid-lab/cubrid-go

v0.2.1 - context.Context Support

Choose a tag to compare

@yeongseon yeongseon released this 17 Mar 04:45

What's Changed

Added

  • context.Context support for all database operations (#1)
  • Version badge and CI badge in README

Fixed

  • Remove duplicate PR template

Full Changelog: v0.2.0...v0.2.1

v0.2.0 - Protocol Fixes and Project Infrastructure

Choose a tag to compare

@yeongseon yeongseon released this 17 Mar 04:45

What's Changed

Fixed

  • Query handle leak in Exec and fetchLastInsertID
  • Temporal type docs, InterpolateArgs comment parsing, UTC normalization
  • gosec annotations and security workflow configuration
  • CI: Skip integration test in short mode

Added

  • Comprehensive API reference, GORM guide, troubleshooting docs
  • Connection pool configuration guide
  • Benchmark section with cubrid-benchmark link
  • PRD with Example-first Design Philosophy
  • Project management infrastructure (CI, community files, Makefile, LICENSE)
  • llms.txt for AI agent discoverability

Changed

  • Apply gofmt formatting
  • Dependency bumps: actions/setup-go@6, gorm.io/gorm@1.31.1

Full Changelog: v0.1.0...v0.2.0

v0.1.0 — Pure Go CUBRID Driver

Choose a tag to compare

@yeongseon yeongseon released this 14 Mar 13:28

v0.1.0 — Pure Go CUBRID Driver

A pure Go database/sql driver for CUBRID database with GORM dialect support.

Features

  • Pure Go implementation — no CGO, no C bindings
  • database/sql compatible driver
  • GORM dialector with full DDL support (AUTO_INCREMENT, column types)
  • CAS binary protocol implementation
  • Transaction support (Begin, Commit, Rollback)
  • Prepared statements with client-side parameter binding

Fixed

  • Broker port 0 handling: reuse broker connection when newPort == 0
  • recv() missing CAS_INFO: read full dataLen + SizeCASInfo bytes
  • Statement type constants corrected (SELECT=21, INSERT=20, UPDATE=22, DELETE=23)
  • Server-side bind params switched to client-side SQL interpolation
  • fetchLastInsertID using SELECT LAST_INSERT_ID() query

Install

go get github.com/cubrid-labs/cubrid-go

Quick Start

import (
    "database/sql"
    _ "github.com/cubrid-labs/cubrid-go"
)

db, err := sql.Open("cubrid", "CUBRID:localhost:33000:demodb:::")

With GORM

import (
    "gorm.io/gorm"
    cubrid "github.com/cubrid-labs/cubrid-go/dialector"
)

db, err := gorm.Open(cubrid.Open("CUBRID:localhost:33000:demodb:::"), &gorm.Config{})