Skip to content

Release v0.2.0

Choose a tag to compare

@greysquirr3l greysquirr3l released this 23 Jun 10:36
· 54 commits to main since this release
v0.2.0
d687cd3

GORM DuckDB Driver v0.2.0 🚀

Major new release with comprehensive DuckDB extension support!

🎯 What's New

A powerful extension management system that unlocks DuckDB's full analytical capabilities within the GORM ecosystem. This release transforms the basic driver into a comprehensive analytics powerhouse.

✨ Major Features Added

  • 🔌 Complete Extension Management: Load, install, and manage all DuckDB extensions
  • 🧰 Extension Helper: High-level convenience methods for common workflows
  • 📊 Analytics Extensions: JSON, Parquet, CSV, and statistical functions
  • 🗺️ Spatial Support: Geographic and spatial data analysis capabilities
  • 🤖 ML Extensions: Machine learning and advanced analytics features
  • ⏰ Time Series: Enhanced temporal data analysis support
  • ☁️ Cloud Data: HTTP/S3 extensions for remote data access

🔧 Core Improvements

  • Fixed db.DB() method - Proper access to underlying *sql.DB instance
  • Enhanced error handling and validation throughout
  • Cleaned up package structure and resolved import conflicts
  • Comprehensive test coverage with 13+ new extension tests

🚀 Quick Start with Extensions

import "github.com/greysquirr3l/gorm-duckdb-driver"

// Basic usage
db, err := gorm.Open(duckdb.Open("analytics.db"), &gorm.Config{})

// With auto-loaded extensions
config := &duckdb.ExtensionConfig{
    AutoInstall: true,
    PreloadExtensions: []string{"json", "parquet", "spatial"},
}
db, err := gorm.Open(duckdb.OpenWithExtensions("analytics.db", config), &gorm.Config{})

// Use extension features
manager := duckdb.MustGetExtensionManager(db)
helper := duckdb.NewExtensionHelper(manager)
helper.EnableAnalytics() // Load JSON, Parquet, CSV extensions

📊 Perfect For

  • Advanced Analytics: Statistical analysis, ML pipelines, time series
  • Geospatial Analysis: Geographic data processing and visualization
  • Data Engineering: ETL pipelines with multiple data formats
  • Cloud Analytics: Processing remote datasets from S3/HTTP sources
  • Data Science: Comprehensive analytical workflows in Go

🧪 Quality & Compatibility

  • 100% backward compatible with existing GORM DuckDB code
  • Comprehensive test suite with real extension functionality testing
  • Follows GORM standards and coding conventions
  • Production ready with proper error handling and validation

⚠️ Known Issues

  • Time pointer conversion temporarily disabled (affects *time.Time fields)
  • Will be resolved in v0.2.1 with improved connection wrapper

🤝 Contributing

This driver aims for inclusion in the official go-gorm organization. Community feedback and contributions welcome!

Repository: https://github.com/greysquirr3l/gorm-duckdb-driver

License: MIT