Skip to content

v0.3.0

Compare
Choose a tag to compare
@asdine asdine released this 23 Nov 15:34

Changelog

Core

  • New (db/tx).QueryRecord method to query a single record
  • New db.SQLDB method that wraps the db into a database/sql db
  • New tx.ListTables method
  • New tx.ReIndex method
  • New tx.ReIndexAll method
  • New index implementation
  • Moved package recordutil to record
  • New record.Scan method

SQL

  • Support key() function to return the primary key
  • Support specifying primary key of any type during a CREATE TABLE statement
  • Generate autoincrementing default key instead of uuid
  • Support multiple wildcards, fields and functions in SELECT statement
  • Support != operator
  • Support == operator as an alias for =
  • Better support for NULL
  • Parsed integers are converted to the smallest int size that fits
  • Double quoted strings are now treated exclusively as identifiers
  • Where expression containing only the primary key will benefit from a primary key optimization
  • Float32 numbers no longer supported

Engines

  • Open a BoltDB database without referencing the engine
  • Badger now has its own module
  • Upgrade Badger to v2
  • Renamed engine/memory to engine/memoryengine
  • Renamed engine/bolt to engine/boltengine
  • Renamed engine/badger to engine/badgerengine

Command-line tool

  • Code generation moved under genji generate command
  • Struct fields are lowercased by default
  • Support for struct tag genji:"pk" removed
  • Struct tags are now used to rename a field
  • New SQL shell
  • Store history under $HOME/.genji_history

database/sql

  • Registers as a driver at startup
  • Support record.Scanner as a scan target