- QueryUtils: Don't overly specify that grammars must extend
BaseGrammar
(c62e301)
- QueryBuilder: Have aliases work with full server qualifications (4ee1bb9)
- *: Use testbox@be (935533b)
- QueryBuilder: Allow for setting any Grammar, including AutoDiscover (f16a047)
- SchemaBuilder: Add in shortcut methods for enabling/disabling value wrapping (a3db3c6)
- SchemaBuilder: Use
isDefined
for BoxLang compatibility (745023e) - BaseGrammar: Pass in grammar to serializeBindings call (fb66fb5)
- *: feat: Allow for disabling of wrapping values (d939066)
- QueryUtils: Auto boolean casting (b51aacc)
- QueryUtils: Fix timestamp formatting losing timezone information (0679aee)
- QueryUtils: Manually construct ISO 8601 timestamps due to lack of Adobe support (9e03360)
- *: Boxlang Certification (bebc83d)
- QueryBuilder: Allow Raw Expressions in
upsert
(50fa99a)
- QueryUtils: Skip inferSqlType if user has specified a cfsqltype (1ee352e)
- SchemaBuilder: Added ability to specify precision for timestamp datatypes (6e559ae)
- QueryUtils: Fix serializing simple value bindings to JSON (2ac6b0b)
- SQLCommenter: Fix caching of DBInfoCommenter (aabd75a)
- *: fix: Add canDebug to the null logger (4da8c4d)
- *: fix: Correctly serialize bindings with binary data (e7220a7)
- DBInfoCommenter: Cache driver version per datasource (462adde)
- SchemaBuilder: New addIndex method for adding indexes to existing tables (d990700)
- SqlCommenter: Handle bindings that are simple values (3aa84ec)
- SqlCommenter: Fix bug in new BindingsCommenter (ce3fd63)
- SqlCommenter: Pass bindings to commenters. (753b30b)
- QueryBuilder: Performance improvement for large recordsets (a5f2521)
- QueryBuilder: Fix missing
parseNumber
function for ACF (b887a67) - QueryBuilder: Add alias to
clone()
(dcf87de)
- QueryBuilder: Support alias renaming using
withAlias
(9c52313)
- QueryBuilder: Add compilations for all join types (98e36a5)
- QueryBuilder: Implement crossApply and outerApply for supported Grammars (6a818ee)
- QueryBuilder: Expand type annotation of
from
(2b23fbb)
- QueryBuilder: make
addBindings
public (7193bb4)
- *: chore: pin commandbox-semantic-release to ^3.0.0 (172d60c)
- AutoDiscover: Add MariaDB to AutoDiscover (c013e9e)
- QueryBuilder: Add
findOrFail
andexistsOrFail
methods (96b9047)
- OracleGrammar: Better support for Oracle Grammar in cfmigrations (40bb4a6)
- SchemaBuilder: Allow for setting a
defaultSchema
(697a307)
- MySQLGRammar: Use CHAR for GUID and UUID types in MySQL (eca0fa7)
- queryUtils: Don't call getUtils from inside the Utils (3e80206)
- QueryUtils: Make replaceBindings available in the Query Utils (4e0ca18)
- QueryBuilder: Use named parameters when passing to BaseGrammar (488743b)
- QueryUtils: Use varchar for clob when converting to a CFML query (5565fcb)
- *: feat: Add query logging to QueryBuilder and SchemaBuilder instances (ce92090)
- *: feat: Add the ability to pretend to run queries (a0a0c0b)
- QueryUtils: Handle more obscure numeric SQL types (415255e)
- QueryUtils: Add millisecond accuracy to inline bindings (4e29fb2)
- QueryBuilder: Separate
having
bindings fromwhere
bindings (7661752)
- SQLCommenter: CommandBox-friendly injections (ce2a118)
- QueryBuilder: Add support for from bindings (7086c9e)
- QueryBuilder: Back out of using native
returntype
s (63a1599)
- QueryBuilder: Make withReturnFormat a public method (60747b8)
- QueryBuilder: Add ability to inline bindings when calling
toSQL
anddump
(379d1e7)
- SQLCommenter: Move coldbox namespace injection to the function body (b6248d4)
- QueryBuilder: Correctly apply native returntypes after
newQuery
andwithReturnFormat
(20416c3)
- QueryBuilder: Fix losing
defaultOptions
when callingnewQuery
(4e713d4) - QueryBuilder: Allow for native struct returntypes (a2e088d)
- SQLCommenter: Rename RouteInfoCommenter.cfc.cfc to RouteInfoCommenter.cfc (bf33c1a)
- 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)
- travis: Use openjdk for builds (061e9d0)
- 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)
- QueryBuilder: Add missing docblocks (e6327d1)
- box.json: Remove extra period in description (87347c7)
- schema: Better error message when passing in a TableIndex to create column (f91a3f7)
- 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)
- 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)
- *: 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)
- 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)
- 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)
- SqlServerGrammar: HOLDLOCK and READPAST are mutually exclusive (557b805)
- ModuleConfig: Allow defaultOptions to be set in
moduleSettings
(a98fb6c)
- BaseGrammar: Detect column aliases in raw statements (727f777)
- 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)
- 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)
- *: chore: trigger build (4a8bbdb)
- QueryBuilder: Explicit arguments scoping (b5c1070)
- QueryBuilder: arrayEach is slow compared to merging arrays (6f9a3e7)
- 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)
- Release: Fix artifact commit process during release (2c7d3eb)
- CI: Remove ColdBox as a test dependency (9fa95ca)
- CI: Test with full null support (98b0df9)
- 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)
- 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)
- QueryUtils: Introduce a setting to specify the default numeric sql type (8f102c9)
- QueryBuilder: Use html as the default dump format (043ddb5)
- QueryUtils: Use strictDateDetection setting in constructor (76ae59f)
- QueryBuilder: Add a dump command to aid in debugging a query while chaining (6fe518c)
- QueryUtils: Introduce optional strict date detection (827f2e8)
- 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)
- QueryBuilder: Automatic where scoping with OR clauses in when callbacks (0d6292d)
- QueryBuilder: Expose nested where functions (71ca350)
- 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)
- 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)
- 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)
- 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)
- *: fix: Format with cfformat (dc2a9b6)
- *: fix: Update gitignore to account for folder paths (382c16b)
- *: chore: Adjust ignore files (e5702ed)
- QueryBuilder: Split off a whereBasic method (36d87b3)
- SchemaBuilder: Add support for MONEY and SMALLMONEY data types (24aadec)
- 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: Add executionTime to the data output, including interceptors (25d66d7)
- BaseGrammar: Fix a case where a column was not wrapped correctly (e4fcff4)
- QueryBuilder: Avoid duplicate due to Hibernate bugs (ec429ba)
- format: Always use lf for new lines (707a288)
- Select: selectRaw now can take an array of expressions (d5b00af)
- Orders: Add a clearOrders method (507dfdb)
- QueryBuilder: Split off a whereBasic method (36d87b3)
- CI: Testing coldbox@be makes no sense as it's all unit tests (8b335da)
- QueryBuilder: Upgrade cbpaginator to fix maxrows discrepency (085c8a6)
- CI: Add coldbox@be testing (e14af28)
- BaseGrammar: Fix using column formatters with updates and inserts (e4fb585)
- Joins: Optionally prevent duplicate joins from being added (40212ff)
- QueryBuilder: Enhance order by's with more direction options (c767ac8)
- QueryBuilder: Fix using with query param structs (07c9b72)
- QueryBuilder: Ignore orders in aggregate queries (39e1338)
- *: fix: Format with cfformat (dc2a9b6)
- BaseGrammar: Inline null services (4ccad99)
- QueryBuilder: Fix tests on ACF 2016 due to @default metadata. (29b31d0)
- BaseGrammar: Improve column wrapping with trimming (d98a5cb)
- QueryBuilder: Prefer the parent query over magic methods (f9fd8d1)
- *: fix: Update gitignore to account for folder paths (382c16b)
- *: chore: Adjust ignore files (e5702ed)
- *: chore: Use forgeboxStorage (191c732)
- Pagination: Allow passing query options in to paginate (cdecfb3)
- QueryBuilder: Fix for inserting null values directly (1de27a6)
- formatting: Futher fixes with cfformat (b4d74b3)
- formatting: Use cfformat for automatic formatting (119e434)
- QueryBuilder: Add a type to the onMissingMethod exception (90d1093)
- MySQLGrammar: Use single quote for column comment (7304202)
- build: Skip cleanup of working directory before uploading APIDocs (1c2d0d3)
- build: Commit apidocs to Ortus artifacts (636af8b)
- *: fix(QueryUtils): Account for null values when checking for numeric values (42f2eb4)
- 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)
- QueryBuilder: Accept lambdas where closures are allowed. (f88809b)
- 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)
- tests: Add code coverage with FusionReactor (6e6600f)
- README: Remove unused all-contributors information (e84addd)
- 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: 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)
- *: refactor: Remove unneeded clearExcept argument (0b90157)
- QueryBuilder: Use count to determine exists instead of the full query (d51ecf4)
- QueryBuilder: Handle all andWhere.* and orWhere.* methods dynamically (cc560af)
- QueryBuilder: Remove unnecessary arguments from crossJoin methods (f920d1b)
- QueryBuilder: Add a performant clone method (f1b367a)
- Utils: Preserve column casing when removing columns (433df5d)
- travis: Use openjdk for builds (061e9d0)
- namespaces: Fix for ACF 11 namespaces (784855c)
- OracleGrammar: Fix for removing generated columns from insert and updates (f4ab485)
- QueryBuilder: Allow raw values in updates (5f287b9)
- QueryBuilder: Make operator and combinator checks case-insensitive (a90b944)
- *: Updated API Docs (fd68bcd)
- APIDocs: Don't nest API docs (dc6bde8)
- *: Updated API Docs (3be8bc2)
- PostgresGrammar: Only drop tables in the current schema (0866f9a)
- *: Updated API Docs (3d5cb30)
- PostgresGrammar: Use correct detection of tables in schemas (10408a1)
- *: Updated API Docs (46bc62f)
- Subselect: Allow passing query objects to subselect (d2fb971)
- *: Updated API Docs (7b99db5)
- QueryBuilder: Revery using array returntype where available (d4fea1d)
- *: Updated API Docs (b1e240b)
- QueryBuilder: Use array returntype where available (2c45627)
- *: Updated API Docs (d61b361)
- QueryBuilder: Add a columnFormatter option (984da75)
- *: Updated API Docs (727c61c)
- QueryBuilder: Correctly keep where bindings for updateOrInsert (fa9fab6)
- *: Updated API Docs (37e8ab3)
- *: Updated API Docs (7a96e5e)
- BaseGrammar: Remove the need for duplicate or structCopy calls (89ea9fc)
- BaseGrammar: Fix for when the query object is null (efb3917)
- *: Updated API Docs (2d011ca)
- *: Updated API Docs (1ee2608)
- SchemaBuilder: Replace duplicate() with structCopy() (d0237c8)
- SchemaBuilder: Use uniqueidentifier for MSSQL uuid() (1b2d456)
- QueryBuilder: Add returning functionality for compatible grammars (7b12b02)
- SchemaBuilder: Default values respect column types (ae2fc4b)
- SchemaBuilder: Wrap enum values in single quotes (89b58c4)
- QueryBuilder: Add missing
andWhere
methods (7273ce4)
- *: Updated API Docs (9747153)
- SchemaBuilder: Removed case of isInstanceOf because it is slow (2d65d03)
- SchemaBuilder: Fix incorrect column name for hasTable and hasColumn (292bc2a)
- *: Updated API Docs (70b9b0f)
- SchemaBuilder: Add unicode text functions (1a5207e)
- Logging: Add debug logging for query sql and bindings. (2928feb)
- SchemaBuilder: Update UUID length to 36 characters (2569f82)
- MSSQLGrammar: Replace NTEXT with NVARCHAR(MAX) (936b01d)
- *: Updated API Docs (91e7ece)
- QueryBuilder: Remove isInstanceOf for performance benefits (33fe75c)
- InterceptorService: Use a null interceptor service in the constructor (5f3a3ec)
- README: Remove emoji until ForgeBox can handle it again (70f2d45)
- Changelog: Fix Changelog to rerun build (2b6aaa3)
- QueryBuilder: Add support for Common Table Expressions (3e10da6)
- QueryBuilder: Derived and Sub Tables (b3f0461)
- QueryBuilder: Unions (59028a8)
- QueryBuilder: Fix JoinClause return value (5d113c7)
- *: Updated API Docs (399293f)
- QueryBuilder: Add support for Common Table Expressions
Add CTE support for the with CTE AS (...)
syntax (3e10da6)
- QueryBuilder: Derived and Sub Tables
- Fixed JoinClause.newQuery() to expect QueryBuilder object as return value
- Added support for derived tables
- Added derived table support
- Added fromRaw() method, which allows you to raw SQL "from" statements
- Added fromSub() to support derived tables
- Added joinRaw(), leftJoinRaw(), rightJoinRaw() and crossJoinRaw() for defining the raw SQL
- Added the joinSub(), leftJoinSub(), rightJoinSub() and crossJoinSub() for joining to a derived table
- Added mergeBindings() which is used for merging bindings from another QueryBuilder instance (b3f0461)
- QueryBuilder: Unions
- Fixed JoinClause.newQuery() to expect QueryBuilder object as return value
- Added support for UNION/UNION ALL
- Union statement is not created until after ORDER BY validation (59028a8)
- QueryBuilder: Fix JoinClause return value
Fixed JoinClause.newQuery() to expect QueryBuilder object as return value (#48) (5d113c7)
- 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)
- box.json: Remove extra period in description
Remove period as it is not needed for a single sentance (87347c7)
- schema: Better error message when passing in a TableIndex to create column (f91a3f7)
- QueryBuilder: Add support for Common Table Expressions
Add CTE support for the with CTE AS (...)
syntax (3e10da6)
- QueryBuilder: Derived and Sub Tables
- Fixed JoinClause.newQuery() to expect QueryBuilder object as return value
- Added support for derived tables
- Added derived table support
- Added fromRaw() method, which allows you to raw SQL "from" statements
- Added fromSub() to support derived tables
- Added joinRaw(), leftJoinRaw(), rightJoinRaw() and crossJoinRaw() for defining the raw SQL
- Added the joinSub(), leftJoinSub(), rightJoinSub() and crossJoinSub() for joining to a derived table
- Added mergeBindings() which is used for merging bindings from another QueryBuilder instance (b3f0461)
- QueryBuilder: Unions
- Fixed JoinClause.newQuery() to expect QueryBuilder object as return value
- Added support for UNION/UNION ALL
- Union statement is not created until after ORDER BY validation (59028a8)
- SchemaBuilder: Allow an optional schema to hasTable and hasColumn
Since some users have access to multiple schemas on the same database,
allow an optional schema parameter passed to hasTable
and hasColumn
(9bfcd45)
- QueryBuilder: Add andWhere method for more readable chains.
andWhere
behaves exactly like where
. It is provided for
a more readable method chain if desired.
(309f4d8)
- AutoDiscover: Allow for runtime discovery
Add AutoDiscover component to allow for database discovery at runtime as opposed to just at module registration. (700948a)
- ModuleConfig: Auto discover grammar by default.
By default, we will auto discover the grammar for the user. This only happens once for ColdBox modules, so the database hit should be minimal. If the user specifies a grammar in their settings, we will use that and not even try to detect the grammar. (b2347ae)
- Grammar: Added official support for MSSQL, Oracle, and Postgres. (#34)
Full QueryBuilder and SchemaBuilder support for all four database grammars (MSSQL, MySQL, Oracle, and Postgres). Revamped test suite to have consistent grammar test coverage. (733dae3)
- SchemaBuilder: Add dropAllObjects action. (#31)
compileDropAllObjects needs to be implemented in every Grammar. By default, it throws an exception. Only a MySQLGrammar implementation currently exists. (c3e23b5)
- QueryBuilder: Fix JoinClause return value
Fixed JoinClause.newQuery() to expect QueryBuilder object as return value (#48) (5d113c7)
- Column: Explicitly name default constraint for MSSQL
- update MSSQL for DEFAULT constraint (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)
- *: 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.
Includes refactor for TableIndex to always deal with multiple columns. (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
MySQL has an unfortunate syntax that requires the definition to be repeated. We may be able to discover this from the table, but right now we're punting and asking the user to redeclare the column definition.
Fun fact, in MySQL, renameColumn will let you modifyColumn at the same time. (0bb926e)
- *: Add rename tables functionality (daa13fa)
- *: Add drop multiple columns
Also refactor SchemaCommands to a component that can take arbitrary parameters. (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
Since build should be overridden less often than options, make it last. (3ee5dca)
- *: Rename Grammar to BaseGrammar
Fits better with our current documentation and ModuleConfig.cfc
settings (1bd2dcb)
- *: Add indexes for morphs and nullableMorphs (5de9ee3)
- *: Convert schema builder to allow for multiple sql statements. (c9c6405)
- *: Add work in progress nullable implementation.
Still needs index creation. (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
-
bigIncrements
-
bigInteger
-
boolean
-
tinyInteger
-
unsignedBigInteger (3f80002)
-
*: Initial Schema Buidler implementation
Move Grammars from being nested inside Query to it's own top-level folder.
Rename Builder
to QueryBuilder
.
Create SchemaBuilder
, Column
, and TableIndex
and three basic tests.
(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.
Affected debugging and things like updateOrInsert
where the update
call is preceded by an exists
call.
(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
Use the withReturnFormat( "array" )
to get around inconsistencies with queries across CFML 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.
Closes #17 (2edaf30)
- *: Add
subSelect
method
Closes #18 (79343a0)
- *: Add returnObject parameter to assist in returning the generated keys from insert statements (dc5242f)
- *: Add preQBExecute and postQBExecute interception points.
Perfect for logging all queries that are executed!
interceptData
includes: sql
, bindings
, and options
.
(0c964e5)
- *: BREAKING CHANGE: Have first return a struct instead of an array.
Closes #20. (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
Remove a couple blank lines. (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
Commit them for now until commandbox-docbox is fixed and we can do it in Travis. (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
returnFormat
can take a closure or “array” or “query”.
Aggregate methods correctly ignore returnFormat
Fixes #6, #7 (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
4 spaces for indentation and spaces inside braces with arguments ({}) (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'
- development: 1.2.0 Add OracleGrammar WireBox mapping in ModuleConfig Add section on specifying defaultGrammar Update readme with correct Travis badges Add Oracle grammar support with limit and offset Move MySQL Grammar tests to their own file (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.
Quick will be the ORM implementation that will use qb underneath the hood. (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)
- QueryBuilder: Replace normalizeToArray with simpler Array check
normalizeToArray handles the case where variadic arguments are passed in. This comes at a cost, about 50 ms.
Speed is everything when testing against a database. (d54bcce)
- BaseGrammar: Avoid isInstanceOf in wrapColumn
isInstanceOf
takes about 30-40 ms per column. For just one table with
6 columns, this is close to a quarter of a second. This adds up.
Instead, just checking if the variable is an object that has a getSQL
key (which we assume is a method), we save all of that time.
(15042ce)
- QueryBuilder: Add support for Common Table Expressions (3e10da6)
- QueryBuilder: Derived and Sub Tables (b3f0461)
- QueryBuilder: Unions (59028a8)
- QueryBuilder: Fix JoinClause return value (5d113c7)
- QueryBuilder: Add andWhere method for more readable chains. (309f4d8)
- *: Updated API Docs (d944917)
- PostgresGrammar: Fix typo in getAllTableNames (91caf6a)
- SchemaBuilder: Fix dropping foreign keys in MySQL (8895447)
- *: Updated API Docs (84913a9)
- AutoDiscover: Allow for runtime discovery (700948a)
- *: Updated API Docs (f078222)
- ModuleConfig: Fix logic for determining CommandBox vs ColdBox environment (5c66466)
- *: Updated API Docs (9136823)
- README: Update references to elpete to coldbox-modules (bc7c99c)
- ModuleConfig: Auto discover grammar by default. (b2347ae)
- ModuleConfig: Add PostgresGrammar alias to WireBox (eca03f0)
- *: Updated API Docs (654eb0c)
- QueryBuilder: Preserve returnFormat when creating a new builder (4538947)
- *: Updated API Docs (6bd1da1)
- Grammar: Added official support for MSSQL, Oracle, and Postgres. (#34) (733dae3)
- *: Updated API Docs (b99e000)
- *: Updated API Docs (fae1106)
- QueryBuilder: Replace normalizeToArray with simpler Array check (d54bcce)
- BaseGrammar: Avoid isInstanceOf in wrapColumn (15042ce)
- MySQLGrammar: Default to CURRENT_TIMESTAMP for timestamp columns (#32) (680750a)
- *: Updated API Docs (f78a21a)
- SchemaBuilder: Add dropAllObjects action. (#31) (c3e23b5)
- *: Updated API Docs (b1499a3)
- build: Enable commandbox-semantic-release (0fe689f)
- schema: Better error message when passing in a TableIndex to create column (f91a3f7)