1. Shantanu Kumar
  2. SQLRat



-*- markdown -*-

# Changes and TODO

## TODO (Please contribute feedback, ideas, code, documentation, donation...)

- [TODO] [Breaks API] Support for composite keys (primary key, foreign key)
- [TODO] [Breaks API] Auto-increment IDs (seq-gen per table) Derby, HSQL, H2
- [TODO] Run current unit tests on all of Derby, HSQL, H2, MySQL, PostgreSQL
- [TODO] Optimistic locks using lock-counter field (optional column in meta)
- [TODO] Enable column names with dash/underscore (Use Clj-SQL instead?)
- [TODO] Discriminator based relation (idea from Hibernate Polymorphism)
- [TODO] Function to retrieve rows from an entire relation graph
- [TODO] [Breaks API] Entity type that spans multiple relations
- [TODO] Entity type specific policies - no-insert, logical-delete-only etc
- [TODO] Implement *show-sql* flag for non-SELECT queries too
- [TODO] Provide 'insert' and 'update' functions and related clause DSL
- [TODO] Declarative transactions
- [TODO] Integrate with Lucene *and* Solr for full-text search (idea from Squeryl 0.9.5)
- [TODO] Sharding support

## 0.2 / 2010-Oct-09 (GMT + 5:30)

- DSL for SQL clauses, Sub-query support
- Support for :groupby and :other attributes in entity/find-xxx functions
- Support large sized query result-sets (with-query-results style)
- Minor backward-incompatible change in entity API
- *assert-args* flag for development mode (can be turned off in production)

## 0.1 / 2010-Aug-31 (GMT + 5:30)

- Entity definitions, meta data, relations (1-to-many, many-to-1)
- CRUD (Create, Retrieve, Update, Delete) functions for entities
- Small-to-medium sized query result-sets (eager-fetching is the only option)
- Query by COUNT(*) function
- User can specify columns, WHERE clause in retrieve functions
- CRUD (Create, Retrieve, Update, Delete) functions for entity-relations
- Avoid N+1 Selects