BREAKING
- QueryUtils: Turn on strictDateDetection by default (6150975)
- compat: Drop support for ACF 2016 (54b65c0)
- SchemaBuilder: Separate UUID and GUID to reduce confusion (b6024f1)
- QueryBuilder: Automatic where scoping with OR clauses in when callbacks (0d6292d)
- QueryUtils: Improve numeric sqltype detection (74649bd)
- QueryBuilder: Add pagination collectors to qb (4b2d85f)
- MSSQLGrammar: Rename MSSQLGrammar to SqlServerGrammar (ea94494)
- QueryBuilder: Rename callback to query for subSelect (87b27f5)
- QueryBuilder: Expand closure and builder argument options (e002d94)
- QueryBuilder: Add defaultValue and optional exception to value (ec23bb7)
- ModuleConfig: Use full setting for WireBox mapping (1e14099)
- QueryBuilder: Remove variadic parameter support (8690fcf)
- *: refactor: Drop support for ACF 11 and Lucee 4.5 (9dbeaf3)
- SchemaBuilder: Use uniqueidentifier for MSSQL uuid() (1b2d456)
build
- travis: Use openjdk for builds
(061e9d0)
chore
- tests: Update tests for new
autoDeriveNumericType
default
(0341edb) - CI: Do not fail fast in CI test runs
(250626f) - ci: Update setup-java action to latest
(91456bf) - CI: Update GHA to avoid deprecated output syntax (#236) (8d757e2)
- BaseGrammar: Update announceInterception calls for ColdBox 7 (6f45d1f)
- Release: Fix artifact commit process during release
(2c7d3eb) - CI: Remove ColdBox as a test dependency
(9fa95ca) - CI: Test with full null support (98b0df9)
- SchemaBuilder: Add types to SchemaBuilder classes (57e9c7d)
- CI: Swap to main branch
(6c94e46) - Utils: Remove injection for QueryUtils (bac94a5)
- CI: Fix reference to version number in subsequent step
(7199c25) - CI: Publish docs to S3
(82dbfde) - CI: Use commandbox-docbox to generate API docs
(0747b13) - CI: Update workflow for API docs
(7e28504) - CI: Migrate Travis to GitHub Actions
(ce5457a) - Format: Format with cfformat
(77af3ee) - format: Always use lf for new lines (707a288)
- CI: Testing coldbox@be makes no sense as it's all unit tests
(8b335da) - CI: Add coldbox@be testing
(e14af28) - BaseGrammar: Inline null services
(4ccad99) - QueryBuilder: Fix tests on ACF 2016 due to @default metadata. (29b31d0)
- formatting: Use cfformat for automatic formatting (119e434)
- build: Skip cleanup of working directory before uploading APIDocs
(1c2d0d3) - build: Commit apidocs to Ortus artifacts
(636af8b) - tests: Add code coverage with FusionReactor
(6e6600f) - README: Remove unused all-contributors information
(e84addd) - APIDocs: Don't nest API docs
(dc6bde8) - cleanup: Remove node (unused test runner)
(ee51a59) - README: Remove emoji until ForgeBox can handle it again
(70f2d45) - Changelog: Fix Changelog to rerun build
(2b6aaa3) - ci: Fix flakey gpg keys
(51d8c27) - ci: Test on adobe@2018
(d928b4b) - README: Update references to elpete to coldbox-modules
(bc7c99c) - build: Enable commandbox-semantic-release
(0fe689f) - box.json: Update references to coldbox-modules repo
(7eb1a31) - build: Update Travis CI release process
(e743833)
docs
- QueryBuilder: Add missing docblocks
(e6327d1) - box.json: Remove extra period in description (87347c7)
errors
- schema: Better error message when passing in a TableIndex to create column
(f91a3f7)
feat
- QueryUtils: Turn on
autoDeriveNumericType
by default (295798b) - QueryBuilder: Add a way to return all rows when a certain maxRows is passed to paginate (79c4114)
- QueryBuilder: Add a shortcut
sumRaw
method (ee86423) - SchemaBuilder: Add dropIndex method (efd1ca7)
- SQLCommenter: Add SQLCommenter support for ColdBox (396814a)
- SQLite: Add SQLite Grammar (5e48709)
- QueryBuilder: Add columnList helper function (cd03ee5)
- QueryBuilder: Add helper for CONCAT function (febe28a)
- QueryBuilder: Add firstOrFail (f6d92cb)
- QueryUtils: Auto derive the correct numeric sql types (#231) (c638925)
- ModuleConfig: Allow defaultOptions to be set in
moduleSettings
(a98fb6c) - Locks: Add skip locked feature to lockForUpdate
(eea76c6) - QueryBuilder: Make columns optional for insertUsing
(3ff0f1f) - QueryBuilder: Add insertIgnore
(6238626) - SqlServerGrammar: Allow deleting unmatched source records in upsert (cc9c106)
- QueryBuilder: Allow using a source callback or QueryBuilder in upserts
(ac2d959) - QueryBuilder: Add insertUsing to use queries to insert into tables
(47a2c64) - QueryBuilder: Allow updates with subselects (af82f71)
- QueryBuilder: Allow JOINS in UPDATE statements (0a89175)
- QueryBuilder: Allow expressions in
value
andvalues
(60d131e) - QueryBuilder: Add an upsert method (13debdd)
- SchemaBuilder: Add default options to constructor (355c28a)
- QueryBuilder: Add support for whereNotLike
(b7deb9a) - QueryUtils: Automatically add
scale
to bindings when needed (0a92cea) - SchemaBuilder: Add computed / virtual column support (1531fed)
- QueryBuilder: Add a reset method (f39089b)
- Locks: Add locking helpers to qb (b986211)
- CI: Adjust fetch depth for tests and release actions (c901892)
- QueryBuilder: Add a new simplePaginate method (2c533e6)
- QueryUtils: Introduce a setting to specify the default numeric sql type (8f102c9)
- QueryBuilder: Add a dump command to aid in debugging a query while chaining (6fe518c)
- QueryUtils: Introduce optional strict date detection (827f2e8)
- QueryBuilder: Add reselect methods (81d987d)
- QueryBuilder: Add a reorder method (69d6c5d)
- QueryBuilder: Expose nested where functions (71ca350)
- SchemaBuilder: Add support for MONEY and SMALLMONEY data types (24aadec)
- BaseGrammar: Add executionTime to the data output, including interceptors
(25d66d7) - Select: selectRaw now can take an array of expressions (d5b00af)
- Orders: Add a clearOrders method (507dfdb)
- Joins: Optionally prevent duplicate joins from being added (40212ff)
- QueryBuilder: Enhance order by's with more direction options (c767ac8)
- SqlServerGrammar: Add a parameterLimit public property (155cd3c)
- QueryBuilder: Add a parentQuery option (f84de76)
- QueryBuilder: Fully-qualified columns can be used in
value
andvalues
(e4c16b8) - QueryBuilder: Add orderByRaw method (67a9222)
- SchemaBuilder: Add methods to manage views (1ef8f82)
- QueryUtils: Preserve column case and order in conversion (00cd691)
- QueryBuilder: Generate SQL strings with bindings (2c84afb)
- QueryBuilder: Distinct can now be toggled off (7255fa3)
- SchemaBuilder: Add more column types (c9c4678)
- MSSQLGrammar: Remove default constraint when dropping columns
(88bfe81) - SchemaBuilder: Add renameTable alias for rename
(e2c796e) - OracleGrammar: Add dropAllObjects and migrate fresh support
(7fe3429) - MSSQLGrammar: Add support for dropAllObjects and migrate fresh
(719e264) - QueryBuilder: Add database chunking (2a20ba4)
- QueryBuilder: Use addUpdate to progressively add columns to update (65ad791)
- QueryBuilder: Add whereLike method (ec12a2a)
- QueryBuilder: Allow default options to be configured (34db905)
- QueryBuilder: Allow raw values in inserts (bae3435)
- QueryBuilder: Add a performant clone method
(f1b367a) - QueryBuilder: Allow raw values in updates (5f287b9)
- Subselect: Allow passing query objects to subselect (d2fb971)
- QueryBuilder: Use array returntype where available
(2c45627) - QueryBuilder: Add a columnFormatter option (984da75)
- QueryBuilder: Add returning functionality for compatible grammars (7b12b02)
- SchemaBuilder: Add unicode text functions (1a5207e)
- Logging: Add debug logging for query sql and bindings. (2928feb)
- QueryBuilder: Add support for Common Table Expressions (3e10da6)
- QueryBuilder: Derived and Sub Tables (b3f0461)
- QueryBuilder: Unions (59028a8)
- SchemaBuilder: Allow an optional schema to hasTable and hasColumn (9bfcd45)
- QueryBuilder: Add andWhere method for more readable chains. (309f4d8)
- AutoDiscover: Allow for runtime discovery (700948a)
- ModuleConfig: Auto discover grammar by default. (b2347ae)
- Grammar: Added official support for MSSQL, Oracle, and Postgres. (#34) (733dae3)
- SchemaBuilder: Add dropAllObjects action. (#31) (c3e23b5)
fix
- ModuleConfig: Fix syntax errors
(516ed4d) - QueryBuilder: Allow an optional datasource to be passed to columnList
(808c992) - SQLCommenter: Make parseCommentString a public method
(6b80419) - ModuleConfig: Make overriding the sqlCommenter settings easier
(3b707fa) - QueryBuilder: Allow insertUsing to use CTE's
(cdefad2) - BaseGrammar: Don't add DISTINCT to aggregate queries when the column is *
(4528759) - PostgresGrammar: Fix upsert UPDATE SET bug (1e7b272)
- QueryBuilder: Make aggregates work with union queries (98fcc76)
- SqlServerGrammar: HOLDLOCK and READPAST are mutually exclusive
(557b805) - BaseGrammar: Detect column aliases in raw statements (727f777)
- OracleGrammar: Don't uppercase quoted aliases in Oracle (5b54d1d)
- QueryBuilder: Fix for aliases in update statements (f72ea0c)
- QueryBuilder: Don't sort columns for insertUsing
(3f9b15f) - QueryBuilder: Add subquery bindings in insert and upsert statements
(7ea072f) - QueryBuilder: Maintain column order when using source in upsert
(c44e626) - OracleGrammar: Fix for Oracle returning custom column types
(c07ff33) - QueryBuilder: Explicit arguments scoping (b5c1070)
- QueryBuilder: Fix wheres with joins in update statements
(fb98478) - Null: Fixes for full null support (963d79e)
- QueryBuilder: Merge statements in SQL Server need a terminating semicolon (32b5dec)
- QueryUtils: Add better null handling to inferSqlType
(1f11650) - QueryBuilder: Correctly format columns being updated
(a32bfb5) - Expressions: Better Expression support in HAVING (7b1096f)
- Aggregates: Use default values via COALESCE (ab181e2)
- Aggregates: Provide default values for sum and count if no records are returned (4ce89ac)
- Aggregates: Allow any value to be returned from withAggregate (5323e39)
- Pagination: Handle group by and havings in pagination queries (4a4428f)
- QueryBuilder: Correctly wrap CTE expressions (f55a224)
- OracleGrammar: Fix typo for argumentCollection
(dce8e15) - OracleGrammar: Only use batch insert syntax when needed (9707f03)
- QueryBuilder: Distinct and Aggregate queries compile correctly
(0479eec) - QueryBuilder: Pass options to exists call in updateOrInsert
(f07d97e) - Aggregates: Correctly return aggregate values (50f315a)
- QueryBuilder: Account for raw expressions when generating mementos for comparison (1dc0096)
- QueryBuilder: Fix limit on simplePaginate
(cd1840c) - tests: Better scope test method names for ACF 2020 compatibility
(c2d7a0d) - QueryBuilder: Use html as the default dump format
(043ddb5) - QueryUtils: Use strictDateDetection setting in constructor
(76ae59f) - QueryBuilder: Allow for bindings in orderByRaw
(5a97a7f) - QueryBuilder: Ignore select bindings for aggregate queries
(8a3a181) - BaseGrammer: Allow spaces in table aliases. (b06d690)
- SqlServerGrammar: Split FLOAT and DECIMAL column types (82da682)
- QueryBuilder: Clear order by bindings when calling clearOrders
(f1e941a) - QueryBuilder: Add bindings from orderBySub expressions
(77213a6) - OracleGrammar: Correcly wrap all subqueries and aliases (3e9210f)
- MySQLGrammar: Allow nullable timestamps in MySQL (ceb96a1)
- QueryBuilder: Return 0 on null aggregates
(ee10a67) - QueryBuilder: Match type hints to documentation for join functions (a23a1b6)
- QueryUtils: Handle numeric checks with Secure Profile enabled (a849525)
- QueryBuilder: Allow raw statements in basic where clauses
(18200ec) - QueryBuilder: Added options structure to count() method call in paginate (99201fb)
- QueryBuilder: Allow for space-delimited sort directions (5530679)
- QueryBuilder: Add helpful message when trying to use a closure with 'from'
(a8e7bb4) - QueryBuilder: 'value' and 'values' now work with column formatters
(da60695) - QueryBuilder: Correctly format RETURNING clauses (977edcf)
- QueryUtils: Handle multi-word columns in queryRemoveColumns
(69d3058) - QueryBuilder: Fix incorrect structAppend overwrites
(ad770d2) - OracleGrammar: Remove elvis operator due to ACF compatibility issues
(e4b27b8) - PostgresGrammar: Update enum tests for Postgres
(c50b00b) - PostgresGrammar: Fix wrapping of enum types
(2d65e08) - QueryBuilder: Compat fix for ACF 2018 and listLast parsing
(d30c8cd) - SchemaBuilder: Include current_timestamp default for timestamps
(9f9a6c9) - QueryBuilder: Ignore table qualifiers for insert and update
(466d791) - JoinClause: Prevent duplicate joins when using closure syntax
(8f5028a) - BaseGrammar: Fix a case where a column was not wrapped correctly
(e4fcff4) - QueryBuilder: Avoid duplicate due to Hibernate bugs (ec429ba)
- QueryBuilder: Upgrade cbpaginator to fix maxrows discrepency (085c8a6)
- BaseGrammar: Fix using column formatters with updates and inserts
(e4fb585) - QueryBuilder: Fix using with query param structs
(07c9b72) - QueryBuilder: Ignore orders in aggregate queries
(39e1338) - BaseGrammar: Improve column wrapping with trimming (d98a5cb)
- QueryBuilder: Prefer the parent query over magic methods (f9fd8d1)
- Pagination: Allow passing query options in to paginate
(cdecfb3) - QueryBuilder: Fix for inserting null values directly
(1de27a6) - formatting: Futher fixes with cfformat
(b4d74b3) - QueryBuilder: Add a type to the onMissingMethod exception (90d1093)
- MySQLGrammar: Use single quote for column comment (7304202)
- QueryBuilder: Accept lambdas where closures are allowed. (f88809b)
- QueryBuilder: Better whitespace splitting for select lists
(6f771e3) - QueryUtils: Fix array normalization to handle non-string inputs (01613c4)
- QueryBuilder: Trim select columns string before applying
(d6cbf36) - QueryBuilder: Fix cbpaginator instantiation path
(9a8f03a) - QueryBuilder: Fix typo in docblock
(97c8785) - QueryBuilder: Fix docblock name
(79b96c6) - QueryBuilder: Pass paginationCollector and defaultOptions to newQuery
(bccbc40) - QueryBuilder: Explicitly set andWhere methods to use the 'and' combinator
(adce834) - QueryBuilder: Allow any custom function for where
(fb01927) - SchemaBuilder: Allow raw in alter statements
(2202828) - QueryBuilder: Allow closures to be used with leftJoin and rightJoin (e7ddf2f)
- Utils: Preserve column casing when removing columns
(433df5d) - namespaces: Fix for ACF 11 namespaces
(784855c) - OracleGrammar: Fix for removing generated columns from insert and updates
(f4ab485) - QueryBuilder: Make operator and combinator checks case-insensitive (a90b944)
- PostgresGrammar: Only drop tables in the current schema
(0866f9a) - PostgresGrammar: Use correct detection of tables in schemas
(10408a1) - QueryBuilder: Revery using array returntype where available (d4fea1d)
- QueryBuilder: Correctly keep where bindings for updateOrInsert (fa9fab6)
- BaseGrammar: Fix for when the query object is null (efb3917)
- SchemaBuilder: Default values respect column types (ae2fc4b)
- SchemaBuilder: Wrap enum values in single quotes
(89b58c4) - QueryBuilder: Add missing
andWhere
methods
(7273ce4) - SchemaBuilder: Fix incorrect column name for hasTable and hasColumn (292bc2a)
- SchemaBuilder: Update UUID length to 36 characters (2569f82)
- MSSQLGrammar: Replace NTEXT with NVARCHAR(MAX) (936b01d)
- QueryBuilder: Fix JoinClause return value (5d113c7)
- Column: Explicitly name default constraint for MSSQL (288bd66)
- PostgresGrammar: Fix typo in getAllTableNames
(91caf6a) - SchemaBuilder: Fix dropping foreign keys in MySQL
(8895447) - ModuleConfig: Fix logic for determining CommandBox vs ColdBox environment
(5c66466) - ModuleConfig: Add PostgresGrammar alias to WireBox
(eca03f0) - QueryBuilder: Preserve returnFormat when creating a new builder
(4538947) - MySQLGrammar: Default to CURRENT_TIMESTAMP for timestamp columns (#32) (680750a)
other
- *: v9.0.0-beta.3
(420f8b1) - *: v9.0.0-beta.2
(dded0a1) - *: v9.0.0-beta.1
(bbf1d67) - *: Apply cfformat changes
(e59f0ad) - *: Apply cfformat changes
(aefbf88) - *: chore: trigger build
(4a8bbdb) - *: v8.7.0-beta.2
(62705cd) - *: v8.7.0-beta.1
(13feb20) - *: Add support for mediumtext & longtext types (#144) (001344d)
- *: fix: Format with cfformat
(dc2a9b6) - *: fix: Update gitignore to account for folder paths
(382c16b) - *: chore: Adjust ignore files
(e5702ed) - *: chore: Use forgeboxStorage (191c732)
- *: fix(QueryUtils): Account for null values when checking for numeric values (42f2eb4)
- *: refactor: Remove unneeded clearExcept argument
(0b90157) - *: added
last()
(5b0fe28) - *: Update references from Builder to QueryBuilder (632e697)
- *: Updated API Docs
(8325db5) - *: 5.0.2 (c8cab5d)
- *: 5.0.1 (75def91)
- *: 5.0.0 (d944eb7)
- *: Add @tonyjunkes as a contributor
(1adbbba) - *: Updated API Docs
(e0ebc41) - *: 5.0.0 (dbcaf8a)
- *: Updated API Docs
(dbc7eb5) - *: 4.1.0 (b014875)
- *: renameConstraint can take TableIndex instances as well as strings to rename a constraint
(4e9476d) - *: Greatly simplify drop column
(3fd4c39) - *: Add rename index
(296cc43) - *: Rename removeConstraint to dropConstraint
(4cfbaff) - *: Allowing adding multiple constraints in the same alter call
(1d60df4) - *: Organize code
(543eaa9) - *: Add doc blocks for table constraint methods
(10fe437) - *: Alphabetize the table constraint methods
(06e5d1c) - *: Add docblocks to TableIndex
(60c7538) - *: Change default onUpdate and onDelete actions to NO ACTION.
(3a8d7a5) - *: Add docblocks to Column
(ad71086) - *: Remove hasPrecision file and do it manually for a cleaner Column class.
(e5fc961) - *: Streamline uuid type to be just CHAR(35)
(683cd36) - *: Refactor all the integers to have the same signature
(28d5b81) - *: Add docblocks to SchemaBuilder
(64cecd5) - *: Rename build to execute
(cc09aaa) - *: Add missing semicolon
(d1d0066) - *: CommandBox / ColdBox cross-compatibility updates
(7d06660) - *: Fix typo in the sql method call
(c2295d6) - *: Finish up foreign key dsl
(4cf869a) - *: Fix foreign key dynamic names
(7b0f9f0) - *: Add primary key dsl
(25ba4e7) - *: Fix spacing in basic indexes and enum lists
(4c2cf71) - *: Make index names more globally unique.
(b7b6636) - *: Fix primary index names to include table names if no override provided
(d63a4ae) - *: Add basic table index support
(f247e15) - *: Remove constraints by name or index object
(dffee36) - *: Add unique constraing for columns and tables. (61306e0)
- *: Add hasTable and hasColumn support for MySQL and Oracle
(2c4e5d0) - *: Add test for multiple table changes at once.
(cf65e11) - *: Enable adding columns to an existing table
(a54eb86) - *: Add modifyColumn syntax
(1d64624) - *: Add raw method for SQL escape hatch
(d77a729) - *: Rename columns (0bb926e)
- *: Add rename tables functionality
(daa13fa) - *: Add drop multiple columns (f7a7fce)
- *: Organize code a bit
(d6170a3) - *: Drop a column from an existing table (f8940bc)
- *: Add dropIfExists support (8b175c7)
- *: Add drop table command (b77781a)
- *: Refactor order of arguments in create (3ee5dca)
- *: Rename Grammar to BaseGrammar (1bd2dcb)
- *: Add indexes for morphs and nullableMorphs
(5de9ee3) - *: Convert schema builder to allow for multiple sql statements.
(c9c6405) - *: Add work in progress nullable implementation. (735a03a)
- *: Add column modifiers — comment, default, nullable, unsigned
(25fbade) - *: Add uuid type
(f35e1f1) - *: Add big, medium, small, and tiny integer and increments variants.
(2bb379d) - *: Add medium and long text types
(35b7d83) - *: Add json type (alias to TEXT)
(6403d3f) - *: Add float type
(86cc974) - *: Add enum type.
(e2f17ab) - *: Add decimal type
(aa13c72) - *: Add bit type
(48d0044) - *: Have boolean be it's own type so different grammars can interpolate it differently.
(c909f9f) - *: Add date, datetime, time, and timestamp types.
(857bdcf) - *: Add char and string types
(5732161) - *: Add integer, unsignedInteger, increments, and text types
(fb76853) - *: Add more column types for schema builder (3f80002)
- *: Initial Schema Buidler implementation (8a299f6)
- *: Rename Grammar to BaseGrammar to fit the rest of the documentation.
(365e32a) - *: Update README.md (872355e)
- *: Add codesponsor.io banner
(a54966a) - *: Updated API Docs
(a992557) - *: 4.0.1 (b479473)
- *: Update with new docs link (f1c04c6)
- *: Fixed a bug where calling
toSQL
would modify the builder object. (c00ecef) - *: Fix for insert bindings including other binding types as well
(c84ec6c) - *: Add @BluewaterSolutions as a contributor
(92dd7ad) - *: Fix exists method to work across engines (17afdfa)
- *: Normalize line endings and trim whitespace at the end of lines
(bf4ecc7) - *: Allow lists to be passed in to
whereIn
(d0cc901) - *: Updated API Docs
(bf83436) - *: 4.0.0 (ca7049f)
- *: Fix bug when checking for a "*" column and it was actually an Expression. (2edaf30)
- *: Add
subSelect
method (79343a0) - *: Add returnObject parameter to assist in returning the generated keys from insert statements
(dc5242f) - *: Add preQBExecute and postQBExecute interception points. (0c964e5)
- *: BREAKING CHANGE: Have first return a struct instead of an array. (4b46fce)
- *: Add profiling test tooling
(25286fd) - *: Updated API Docs
(aa9db53) - *: 3.0.0 (993b0c3)
- *: Remove list detection since it isn't used in the builder and is causing issues
(73f16d2) - *: add MIT License (6409438)
- *: Stylistic fix on the badges
(a04e631) - *: Add @timmaybrown as a contributor
(584f785) - *: Add @murphydan as a contributor
(2bf3566) - *: Add @aliaspooryorik as a contributor
(caf9065) - *: Add @elpete as a contributor
(bb7b8bb) - *: Merge branch 'development'
(e3a27f6) - *: Updated API Docs
(b9e04f5) - *: 2.1.0 (8dbddd9)
- *: A couple minor stylistic changes. (80f14e2)
- *: Update Builder.cfc (b77a87b)
- *: issue #8 - additional tests for rawExpressions in the array, removed lists as a valid value for array value and refactored validDirections array to be an instance variable aptly named to match the other naming conventions.
(8704ff4) - *: First stab at implementing the various requirements for issue #8 to accept an array or list as the column argument's value. The array can accept a variety of value formats that can be intermingled if desired. All scenarios will inherit eithe the default direction or the supplied value for the direction argument.
(e0b9b63) - *: Cache CommandBox for Travis builds
(5eb4561) - *: Add new API Docs
(2c1f19b) - *: 2.0.4 (3414ea7)
- *: Return result from Oracle grammar when record count is 0
(b8a13cd) - *: Updated API Docs
(c50d061) - *: 2.0.3 (8634e5c)
- *: Updated API Docs
(a6df8a3) - *: 2.0.2 (f0886b6)
- *: Add new API Docs package scripts
(c8555ec) - *: Updated API Docs
(95c2d93) - *: Nest the apidocs in a different docs site for future better looking docs
(9a8e1fa) - *: 2.0.1 (6bd958d)
- *: Add more files to the box ignore
(e233853) - *: Add docs to the ignore for box install
(29017aa) - *: Move to the docs folder since that is what GitHub pages looks for.
(7c94266) - *: 2.0.0 (e1710bf)
- *: Add API Docs (fa2edae)
- *: Finish API docs for QB!!!!!
(f145d9a) - *: 1.6.2 (c6508bb)
- *: Add a check to only try to remove the QB_RN column when records actually exist in the query.
(4d10905) - *: A fun refactor using closures of aggregates. Added docblocks to the new
with
methods.
(9b946c4) - *: Add docblocks for bindings
(ef1970d) - *: Add docblocks for insert, update, and delete
(bbd7c6a) - *: Add new tap method for inspecting a query in process without interrupting chaining.
(f9b7432) - *: Use util check instead of raw
isInstanceOf
(6388bfd) - *: Better name
forPage
arguments
(0037cdd) - *: Add docblocks for where clauses and groups/havings/orders/limits
(c396c98) - *: Add docblocks for joins
(f580f0a) - *: Add more to the API docs
(0d5dd74) - *: Fix WireBox mapping for newly required returnFormat
(61d8a14) - *: Add missing semicolons
(0493b4a) - *: Deprecate
returningArrays
in favor ofreturnFormat
(f52e25a) - *: Add
selectRaw
helper method.
Aliastable
for `from.
(20da7ea) - *: Set up bdd with ColdBox Elixir
(dc5cf18) - *: Add testbox runner and npm package script for tests
(7a3ae71) - *: 1.6.1 (068d8a0)
- *: Minor formatting changes (73f0856)
- *: get tests to pass on ACF11
(aadb1f8) - *: Use queryExecute instead of Query() for query of query
(e2c8cb2) - *: 1.6.0 (6db8522)
- *: Parse column and table aliases without AS in them
(9d04a89) - *: 1.5.0 (6937d35)
- *: Add first MSSQL-specific grammar
(89b9c84) - *: 1.4.0 (b11ea7f)
- *: Fix failing test setup from adding return format
(301d013) - *: Provide custom oracle mass insert compilation
(d567830) - *: Fix return results failing on insert, update, and deletes
(61ca2b1) - *: Allow passing options in to insert, update, and delete queries
(c45fdcd) - *: 1.3.0 (8258998)
- *: Allow a closure to influence return results.
(7a633bb) - *: 1.2.4 (9ddea67)
- *: Fix bug with oracle limits, offsets, and Query of Queries
(58189fc) - *: 1.2.3 (b54ff1b)
- *: Fix limit and offset for Oracle and remove generated QB_RN column
(44849ff) - *: 1.2.2 (d36c7ba)
- *: Update README formatting
(a0a3177) - *: Use
toBeWithCase
for SQL statement checks. Add a test about uppercasing Oracle wrapped values.
(e14da32) - *: Apply the table prefix to the table alias as well.
(e5c6c4b) - *: 1.2.1 (44752d1)
- *: Quick fixes for Oracle grammar. Still needs tests
(74e14f7) - *: Merge branch 'development' (e4146cb)
- *: 1.2.0 (a077807)
- *: Add OracleGrammar WireBox mapping in ModuleConfig
(a4499a9) - *: Add section on specifying defaultGrammar
(cdc0776) - *: Update readme with correct Travis badges
(d9fce51) - *: Add Oracle grammar support with limit and offset
(9bea030) - *: Move MySQL Grammar tests to their own file
(d4a6856) - *: 1.2.0 (a33d937)
- *: Add OracleGrammar WireBox mapping in ModuleConfig
(5c202f0) - *: Add section on specifying defaultGrammar
(c6dcbd5) - *: Update readme with correct Travis badges
(84a937d) - *: Add Oracle grammar support with limit and offset
(c9bab7b) - *: Move MySQL Grammar tests to their own file
(746d190) - *: 1.1.2 (511a567)
- *: Fix two functions to return any to allow for query or array return results
(b70b968) - *: 1.1.1 (00ac2b0)
- *: Add MySQLGrammar binding
(bbd2717) - *: 1.1.0 (fb82230)
- *: Add initial MySQL Grammar support
(77b636c) - *: Adding mappings for WireBox.
(8771321) - *: Remove Oracle Grammar to be implemented at a later time.
(8fcb297) - *: Add fix for negative values in forPage
(10c77ce) - *: Add forPage helper to help with pagination.
(658af5b) - *: Add missing semicolon for ACF
(da77797) - *: Add havings clause
(f1e3f67) - *: Use accessor instead of direct variables access.
(6f54077) - *: Default to returning arrays of structs over queries.
(1dd330b) - *: Refactor runQuery to run.
(789a6c1) - *: Allow passing a single column or an array of columns to get to execute the query with those columns once.
(338f82c) - *: Add value and exist helper query methods.
(34f7ddc) - *: Implement count, max, min, and sum aggregate methods.
(3217de2) - *: Default selecting “*” if nothing is passed in to select()
(c542425) - *: Implement retrieval shortcuts — first, find, get
(4440e23) - *: Verify raw statements work in select fields
(9907bab) - *: Minor formatting adjustments
(971489e) - *: Minor formatting changes
(1f41186) - *: Remove unused interface
(ee85fc7) - *: Remove inject helpers. We'll manage that in the ModuleConfig.cfc
(71b5e5c) - *: Update references to qb and correct version
(cb1ffdd) - *: Remove ACF 10 support because I want to use member functions.
(0b634bd) - *: Add import statements for CF11.
(ef23bf1) - *: Fixes for Adobe engines.
(64c19c7) - *: Update Travis script
(3249f98) - *: Add updateOrInsert helper
(c30ad18) - *: Add exists
(c678cf2) - *: Add limit and offset
(e606102) - *: Update readme from Quick to qb
(e585a88) - *: Rename Quick to qb. (29b34af)
- *: Remove the need to return a query in a when callback.
(657d47c) - *: Insert, Updates, and Deletes! Oh my!
(e19dae3) - *: Remove unneeded dependency
(0452b44) - *: Clean up tests and all tests passing!
(6e75e61) - *: Implement group bys
(73f961d) - *: Implement when callbacks
(ed65e09) - *: Refactor to addBindings
(7ca0d5e) - *: Implement joins
(f41bca0) - *: Finish implementing where in. All wheres are done!
(4d734b3) - *: Implement between statements
(26f937b) - *: Implement null checks
(9f86158) - *: Refactor to generated getters and setters.
(04f80f7) - *: Implement where exists
(d4174e3) - *: Implement table prefixes
(edf8f66) - *: Finish basic wheres
(160f68d) - *: Implement select methods
(baa72a2) - *: Reformat according to new style guidelines
(fadb882) - *: Add sublime project file
(9e1cd9c) - *: Round out failing tests. Time to start implementing
(bb54d35) - *: Add more failing query/grammar tests
(0d874c5) - *: Add a bunch of failing tests for builder+grammar interaction
(532ffdb) - *: Update to the latest Travis CI multi-engine file
(52c647c) - *: Add comments about ACF10 making life sad.
(bc482d1) - *: Clarify that PLATFORM is really an ENGINE
(cc328fb) - *: Add Travis build badge to README.
(0856b69) - *: Remove unneeded files now that the testing script is inline.
(1ce41ba) - *: Move script in to travis.yml file.
(18c1f2e) - *: Add a sleep call to make sure the server has time to spin up.
(96c4cf5) - *: Specify required CFML versions.
(cce8483) - *: Major refactoring to support ACF10
(3abeb67) - *: Specify that Lucee 5 is a snapshot version.
(cfd0d23) - *: Switch to the latest version of CommandBox for multi-server options.
(cefa79d) - *: Add test result properties file to gitignore
(a19ea45) - *: Add a gitkeep file to the tests results path so tests can run on Travis.
(5687ae0) - *: Try to add travis support for multiple cf engines.
(2833375) - *: Add README
(369e3c7) - *: Move the list and array inferSqlType tests to the right block.
(917f132) - *: Infer the sql type of lists and arrays based on if all the members share the same sql type; otherwise, default to CF_SQL_VARCHAR.
(7ae2548) - *: Added orWhere{Column} dynamic method matching.
(b221bcd) - *: Add whereIn and whereNotIn helper methods.
(118db23) - *: Return the Builder to continue chaining on dynamic where methods.
(202127a) - *: Add list functionality to the QueryUtils
extractBinding
(80dc5b0) - *: Wrap the parameters in an "IN" or "NOT IN" clause.
(c69cae3) - *: Simplify the operator list
(4ae3cf1) - *: Upper case operators in SQL strings.
(d7ba404) - *: Unify exception types for invalid operators and combinators
(c4b9d68) - *: Don't open the browser automatically on server start. (Use
gulp watch
instead for BrowserSync.) :-)
(623517f) - *: Refactor to Wirebox injection.
(54bc5e0) - *: Infer the cfsqltype on bindings.
(3f53bd5) - *: Refactor to new QueryUtils file for shared functionality.
(426e72d) - *: Refactor bindings to use structs instead of values in preparation for cfsqltypes.
(90fc19c) - *: Also allow the shortcut where syntax for the on method.
(c67bd66) - *: Allow the shortcut where statement in joins.
(28fc828) - *: Add join query bindings.
(ad911fa) - *: Fix the SQL compilation order.
(ccbc273) - *: Allow default settings with user overrides in the ModuleConfig.
(f2d2441) - *: Fixes for new Quick module mapping.
(1caa4bc) - *: Add box scripts to workflow
(23409ce) - *: 0.1.1 (ad26504)
- *: Fix for mappings to work correctly in modules.
(7502394) - *: Allow the join closure to be passed in as the second positional argument.
(9efbe5b) - *: Work on Join clauses
(fb25c48) - *: Implement joins
(c1f3228) - *: Enable distinct flag.
Clean up duplication in tests.
Move src/ to models/
(7a83500) - *: Set up BrowserSync with ColdBox Elixir
(8109613) - *: Always upper case the combinator.
(b4b8e2b) - *: Validate combinators
(e3bd0fe) - *: Compile where statements
(e403216) - *: Simple query execution
(a2b1090) - *: Allow specifying the combinator (AND or OR)
.
(eb3d6e0) - *: Add where values to the SQL bindings array.
(8dc4a47) - *: Use ColdBox Elixir
(9925fe6) - *: Run tests through CommandBox
(a2c350f) - *: Just dump everything we'd been working on.
(9ff2c6c) - *: Initial commit
(00d24a6)
perf
- QueryBuilder: Use native returntype where possible (ACF 2021+)
(3e7529d) - QueryBuilder: arrayEach is slow compared to merging arrays (6f9a3e7)
- QueryBuilder: Use count to determine exists instead of the full query
(d51ecf4) - BaseGrammar: Remove the need for duplicate or structCopy calls
(89ea9fc) - SchemaBuilder: Replace duplicate() with structCopy() (d0237c8)
- SchemaBuilder: Removed case of isInstanceOf because it is slow (2d65d03)
- QueryBuilder: Remove isInstanceOf for performance benefits (33fe75c)
- QueryBuilder: Replace normalizeToArray with simpler Array check (d54bcce)
- BaseGrammar: Avoid isInstanceOf in wrapColumn (15042ce)