- Names of constants provided by the SQL package are now UpperCamelCase to match those found in Go's standard library.
- Allow for constraints on multiple columns.
- Split SQL table creation and alteration into two managers.
- Update AlterManager and AlterStatement to allow for table/column/index drops and column type modifications.
- Tests for nodes, visitors and managers for table creation and alteration.
- Introduce nodes, visitors and managers for table creation and alteration.
- Major package update to remove unused "tree" directory as it does not represent a package.
- Returning method on an InsertManager should only covert strings passed as arguments to Column nodes.
- Allow for columns within an INSERT statements to be SQL bindings.
- Replace engine field and Engine method on managers in favor of adapter and SetAdapter respectively.
- Implement BindingNode for SQL parameterization.
- Implement BindingNode for PostgreSQL parameterization.
- Update to Where method for SelectMananger - if provided expression is a string, convert it to a literal node.
- Update to Order method for SelectMananger - if provided expression is a string, convert it to a literal node.
- Update to Having method for SelectMananger - if provided expression is a string, convert it to a literal node.
- Update to Where method for SelectMananger - always group expression unless the exression is a group already.
- Add Returning method for InsertManager's (geared toward Postgres).
- Add initial MySQL visitor.
- Implement UNION, INERSECT, and EXCEPT for Select statments.
- Rename managers SetEngine method to Engine.
- Make managers engine member private to enforce using Engine method to modify it.
- Remove near useless type switch in favor of more recognizable type if.
- Implement Having and Group By for SelectManagers.
- Consistent naming convention for receivers.
- Consistent returns from factory methods.
- Select Statement ordering with Ascending and Descending nodes.
- Proper tests for Nodes.
- Proper tests for ToSqlVisitor.
- Visitor's Accept method now returns result, error after recovering from a potential panic from the visitors Visit method.
- Apply check to all SelectCoreNodes's that belong to a SelectStatementNode to ensure a minimum of a StarNode is present.
- Update tree managers to return the same string, error combination the VisitorInterface returns.
- Update README to reflect changes to VisitorInerfaces's Accept method and its affects on tree managers.
- Remove all panics to allow for visitor to return any errors.
- Add DEBUG variable to visitor for debugging information.
- Add tests and factory methods for all managers.
- Overhaul nodes package to allow for "factory" methods.
- Add Nodes and visitors for SQL Functions Average, Sum, Minimum, Maximum and Count.
- More documentation.
- Remove check that ensure a minimum of a StarNode was found in a SelectCoreNode's projections, and placed job in SelectManager's ToSql receiver method.