github coldbox-modules/qb v9.0.0

latest releases: v10.0.2, v10.0.1, v10.0.0...
21 months ago

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 and values (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 and values (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 of returnFormat (f52e25a)
  • *: Add selectRaw helper method.
    Alias table 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)

refactor

  • QueryBuilder: Split off a whereBasic method (36d87b3)
  • QueryBuilder: Handle all andWhere.* and orWhere.* methods dynamically (cc560af)
  • QueryBuilder: Remove unnecessary arguments from crossJoin methods
    (f920d1b)
  • InterceptorService: Use a null interceptor service in the constructor (5f3a3ec)

Don't miss a new qb release

NewReleases is sending notifications on new releases.