All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Add Lower unary node for countTableSelects optimization [Otavio Jacobi]
- Wrap composite comparison operations with parenthesis when necessary [Thodoris Greasidis]
- tsconfig: Switch the module compiler option to Node16 [Thodoris Greasidis]
- Update tsconfig target to es2023 [Thodoris Greasidis]
- Update minimum supported nodejs version to 20.14.0 [Thodoris Greasidis]
- Make @balena/sbvr-types a peer dependency [Thodoris Greasidis]
- Lint fixes [Thodoris Greasidis]
Update dependencies & tests to match [Thodoris Greasidis]
Update `@balena/sbvr-types` devDependency [Harald Fischer]
- Update dependency @balena/abstract-sql-compiler to v9 [Self-hosted Renovate Bot]
- Return
ISODateString
instead ofdate
[fisehara]
- Update dependency @types/chai-datetime to ^0.0.39 [Self-hosted Renovate Bot]
- Add checksum to WebResource [Otávio Jacobi]
- Change contents to snake_case [Otávio Jacobi]
- Expose WebResource as WebResourceType [Otávio Jacobi]
- Adds WebResource type [Otávio Jacobi]
Update @balena/sbvr-types to 5.0.0 [Pagan Gazzard]
- Switch from
export =
toexport default
[Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Add Big Serial type [Josh Bowling]
- Flowzone: Allow external contributions [Josh Bowling]
- Use bind vars for $top and $skip options [Pagan Gazzard]
- Fix type checking of the declaration file [Pagan Gazzard]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency peggy to v4 [Self-hosted Renovate Bot]
- Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Optimize by moving constant values into global init [fisehara]
- Update dependencies [fisehara]
- Allow running CI on external PRs [Pagan Gazzard]
Support number references as boolean types [Pagan Gazzard]
- Use bind vars for $top and $skip options [Pagan Gazzard]
- Support PUT/PATCH/DELETE requests on resources with a translated ID field [Thodoris Greasidis]
Update dependencies [Pagan Gazzard]
- Adds
EndsWithNode
andContainsNode
typings [Pagan Gazzard]Update `@balena/sbvr-types` devDependency [Harald Fischer]
- Update dependency @balena/abstract-sql-compiler to v9 [Self-hosted Renovate Bot]
- Return
ISODateString
instead ofdate
[fisehara]
- Update dependency @types/chai-datetime to ^0.0.39 [Self-hosted Renovate Bot]
- Add checksum to WebResource [Otávio Jacobi]
- Change contents to snake_case [Otávio Jacobi]
- Expose WebResource as WebResourceType [Otávio Jacobi]
- Adds WebResource type [Otávio Jacobi]
- Fix type checking of the declaration file [Pagan Gazzard]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency peggy to v4 [Self-hosted Renovate Bot]
- Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Update dependency @balena/sbvr-types to v8 [Self-hosted Renovate Bot]
- Switch to an inflection library from npm which does not monkey patch [Pagan Gazzard]
- Updated
@balena/sbvr-types
[Harald Fischer]
- Add typings for all abstract sql fragments, fixing where necessary [Pagan Gazzard]
- Explicitly type the
compare
function forhashed
[Pagan Gazzard]
- Accept
Date
for the write types ofDate Time
/Date
/Time
[Pagan Gazzard]
- Export typescript read/write types for each sbvr type [Pagan Gazzard]
- Update Big Serial concept type to Big Integer [Josh Bowling]
- Add Big Serial to Type.sbvr [Josh Bowling]
- Update prepare script for husky v9 [Josh Bowling]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Improve JSON typings [Pagan Gazzard]
- Remove unnecessary catch bindings [Pagan Gazzard]
- Improve validate typings [Pagan Gazzard]
- Improve fetchProcessing typings [Pagan Gazzard]
- Tests: convert to typescript [Pagan Gazzard]
Properly error when using fields of a partial index as an alternate key [Thodoris Greasidis]
- Cast Big Serial to integer [Josh Bowling]
- Update prepare script for husky v9 [Josh Bowling]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Thodoris Greasidis]
- Export the generateRuleHashAcronym helper [Thodoris Greasidis]
- Add support for unique indexes with NOT DISTINCT NULLS [Thodoris Greasidis]
- Add support for partial unique indexes [Thodoris Greasidis]
Update dependency @balena/odata-parser to v3 [Self-hosted Renovate Bot]
- Optimize by moving constant values into global init [fisehara]
- Update dependencies [fisehara]
- Allow running CI on external PRs [Pagan Gazzard]
- Use optional chaining operator [Pagan Gazzard]
- Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
- Update TypeScript to 5.4.3 [Thodoris Greasidis]
- Update
@balena/sbvr-types
[Harald Fischer]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Update
@balena/sbvr-types
devDependencies [fisehara]- Fix linter issue [fisehara]
- Require at least one field to be updated for PATCH requests [Pagan Gazzard]
- Simplify support for MERGE as an alias for PATCH [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Update dependency @types/node to v20 [Self-hosted Renovate Bot]
- Optimize by moving constant values into global init [fisehara]
- Update dependencies [fisehara]
- Update dependency @types/chai-datetime to ^0.0.39 [Self-hosted Renovate Bot]
- Optimize Duplications of
ComputedField
queries [fisehara]
- Update dependency @types/chai-things to v0.0.38 [Self-hosted Renovate Bot]
- Update dependency @types/chai-things to v0.0.37 [Self-hosted Renovate Bot]
Update dependencies eslint, sbvrTypes, abstract-sql-compiler [Harald Fischer]
Update @balena/sbvr-types to 6.0.0 [Otávio Jacobi]
- Change contents to snake_case [Otávio Jacobi]
- Expose WebResource as WebResourceType [Otávio Jacobi]
- Adds WebResource type [Otávio Jacobi]
Update @balena/sbvr-types to 5.0.0 [Pagan Gazzard]
- Switch from
export =
toexport default
[Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis]
- Fix TS errors for the latest sbvrTypes [Thodoris Greasidis]
- Drop
require-npm4-to-publish
asengines
used [fisehara]Update @balena/odata-to-abstract-sql to 6.x [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Use optional chaining operator [Pagan Gazzard]
- Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
- Update to peggy 3 and make us of the repetition operator [Pagan Gazzard]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
AggregateJSON
to use the newerReferencedField
format [Pagan Gazzard]
- Collapse
AliasedFunction
intoFunctionMatch
[Pagan Gazzard]Improve typings [Pagan Gazzard]
- Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard]
- Deprecate
AliasableFromTypeNodes
type as it's redundant [Pagan Gazzard]
- Revert tightening of
OrderBy
to only field nodes [Pagan Gazzard]
- Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard]
- Stop accepting
ExtractJSONPathAsText
/ToJSON
as unknown node types [Pagan Gazzard]
- Fix DateNode/AnyNode typings [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
####### sbvr-types-3.5.0 - 2023-03-21
- Add Big Serial type [Josh Bowling]
####### sbvr-types-3.4.19 - 2022-12-08
- Flowzone: Allow external contributions [Josh Bowling]
- Improve typings [Pagan Gazzard]
- Remove typing for non-existent JSON node [Pagan Gazzard]
- Tighten the
isXValue
function typings [Pagan Gazzard]
- Correctly treat
Value
nodes as rewritten toText
by the optimizer [Pagan Gazzard]- Add EmbeddedTextNode typing [Pagan Gazzard]
- Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard]
- Improve node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Support boolean nodes in a ValuesNode [Pagan Gazzard]
- Add
Between
node type [Pagan Gazzard]
- Add
BitwiseAnd
/BitwiseShiftRight
node types [Pagan Gazzard]
- Add
NotInNode
type [Pagan Gazzard]- Add
IsDistinctFromNode
/IsNotDistinctFromNode
types [Pagan Gazzard]- Add
CharacterLengthNode
type [Pagan Gazzard]
- Adds Cast node type to tree parsing [Otávio Jacobi]
- Improve typings [Pagan Gazzard]
- Use const/let as appropriate [Pagan Gazzard]
- Use shorthand object notation [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Remove support for the legacy AggregateJSON format of
[tableName, fieldName]
[Pagan Gazzard]- Remove support for the legacy boolean format of
true|false
[Pagan Gazzard]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Remove support for the legacy alias format of
[node, alias]
[Pagan Gazzard]- Remove support for the legacy table format of
tableName
[Pagan Gazzard]- Remove support for the legacy null formats of
null
and'Null'
[Pagan Gazzard]- Reflect the usage of BOOLEAN db type [Pagan Gazzard]
Update @balena/sbvr-types to 4.x [Pagan Gazzard]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Use native
StartsWith
node type for postgres [Pagan Gazzard]- Convert
EscapeForLike
into a standalone node type [Pagan Gazzard]Update @balena/sbvr-types to 5.0.0 [Pagan Gazzard]
- Switch from
export =
toexport default
[Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Add Big Serial type [Josh Bowling]
- Flowzone: Allow external contributions [Josh Bowling]
- Allow running CI on external PRs [Pagan Gazzard]
- Add checksum to WebResource [Otávio Jacobi]
- Change contents to snake_case [Otávio Jacobi]
- Expose WebResource as WebResourceType [Otávio Jacobi]
- Adds WebResource type [Otávio Jacobi]
- Switch from
export =
toexport default
[Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis]
- Support bind references as boolean types [Pagan Gazzard]
- Update dependency @balena/sbvr-types to v8 [Self-hosted Renovate Bot]
- Switch to an inflection library from npm which does not monkey patch [Pagan Gazzard]
- Updated
@balena/sbvr-types
[Harald Fischer]
- Change the exported Types to an interface so that they can be augmented [Thodoris Greasidis]
- Update @balena/lint to v8.2.7 [Josh Bowling]
- Update BigInteger and BigSerial TsTypes [Josh Bowling]
- Improve BigInteger and BigSerial support [Josh Bowling]
- Add typings for all abstract sql fragments, fixing where necessary [Pagan Gazzard]
- Explicitly type the
compare
function forhashed
[Pagan Gazzard]
- Accept
Date
for the write types ofDate Time
/Date
/Time
[Pagan Gazzard]
- Export typescript read/write types for each sbvr type [Pagan Gazzard]
- Update Big Serial concept type to Big Integer [Josh Bowling]
- Add Big Serial to Type.sbvr [Josh Bowling]
- Update prepare script for husky v9 [Josh Bowling]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
- Improve JSON typings [Pagan Gazzard]
- Remove unnecessary catch bindings [Pagan Gazzard]
- Improve validate typings [Pagan Gazzard]
- Improve fetchProcessing typings [Pagan Gazzard]
- Tests: convert to typescript [Pagan Gazzard]
- Adds
EndsWithNode
andContainsNode
typings [Pagan Gazzard]
- Cast Big Serial to integer [Josh Bowling]
- Update prepare script for husky v9 [Josh Bowling]
- Update dependency husky to v9 [Self-hosted Renovate Bot]
- Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
- Update dependency @balena/lint to v8 [Thodoris Greasidis]
- Export the generateRuleHashAcronym helper [Thodoris Greasidis]
- Add support for unique indexes with NOT DISTINCT NULLS [Thodoris Greasidis]
- Add support for partial unique indexes [Thodoris Greasidis]
Update dependency @balena/odata-parser to v3 [Self-hosted Renovate Bot]
- Optimize by moving constant values into global init [fisehara]
- Update dependencies [fisehara]
- Allow running CI on external PRs [Pagan Gazzard]
- Use optional chaining operator [Pagan Gazzard]
- Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
- Update TypeScript to 5.4.3 [Thodoris Greasidis]
- Update
@balena/sbvr-types
[Harald Fischer]
- Update dependency @types/node to v20 [Self-hosted Renovate Bot]
Update @balena/sbvr-types to 6.0.0 [Otávio Jacobi]
- Change contents to snake_case [Otávio Jacobi]
- Expose WebResource as WebResourceType [Otávio Jacobi]
- Adds WebResource type [Otávio Jacobi]
Update @balena/sbvr-types to 5.0.0 [Pagan Gazzard]
- Switch from
export =
toexport default
[Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis]
- Fix TS errors for the latest sbvrTypes [Thodoris Greasidis]
- Drop
require-npm4-to-publish
asengines
used [fisehara]
Update @balena/odata-to-abstract-sql to 6.x [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Use optional chaining operator [Pagan Gazzard]
- Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
- Update to peggy 3 and make us of the repetition operator [Pagan Gazzard]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
AggregateJSON
to use the newerReferencedField
format [Pagan Gazzard]
- Collapse
AliasedFunction
intoFunctionMatch
[Pagan Gazzard]Improve typings [Pagan Gazzard]
- Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard]
- Deprecate
AliasableFromTypeNodes
type as it's redundant [Pagan Gazzard]
- Revert tightening of
OrderBy
to only field nodes [Pagan Gazzard]
- Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard]
- Stop accepting
ExtractJSONPathAsText
/ToJSON
as unknown node types [Pagan Gazzard]
- Fix DateNode/AnyNode typings [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Add Big Serial type [Josh Bowling]
- Flowzone: Allow external contributions [Josh Bowling]
- Improve typings [Pagan Gazzard]
- Remove typing for non-existent JSON node [Pagan Gazzard]
- Tighten the
isXValue
function typings [Pagan Gazzard]
- Correctly treat
Value
nodes as rewritten toText
by the optimizer [Pagan Gazzard]- Add EmbeddedTextNode typing [Pagan Gazzard]
- Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard]
- Improve node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Support boolean nodes in a ValuesNode [Pagan Gazzard]
- Add
Between
node type [Pagan Gazzard]
- Add
BitwiseAnd
/BitwiseShiftRight
node types [Pagan Gazzard]
- Add
NotInNode
type [Pagan Gazzard]- Add
IsDistinctFromNode
/IsNotDistinctFromNode
types [Pagan Gazzard]- Add
CharacterLengthNode
type [Pagan Gazzard]
- Adds Cast node type to tree parsing [Otávio Jacobi]
- Improve typings [Pagan Gazzard]
- Use const/let as appropriate [Pagan Gazzard]
- Use shorthand object notation [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Remove support for the legacy AggregateJSON format of
[tableName, fieldName]
[Pagan Gazzard] - Remove support for the legacy boolean format of
true|false
[Pagan Gazzard] - Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Remove support for the legacy alias format of
[node, alias]
[Pagan Gazzard] - Remove support for the legacy table format of
tableName
[Pagan Gazzard] - Remove support for the legacy null formats of
null
and'Null'
[Pagan Gazzard] - Reflect the usage of BOOLEAN db type [Pagan Gazzard]
Update @balena/sbvr-types to 4.x [Pagan Gazzard]
- Add test cases for Objects in JSON validate [fisehara]
- Drop
require-npm4-to-publish
devDependency [fisehara]- Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard]
- Switch
JSON
to useJSON
db type instead ofTEXT
[Pagan Gazzard]- Switch
Boolean
to useBOOLEAN
db type instead ofINTEGER
[Pagan Gazzard]- Assert that JSON input typeof is object [Josh Bowling]
- Use native
StartsWith
node type for postgres [Pagan Gazzard] - Convert
EscapeForLike
into a standalone node type [Pagan Gazzard]
- Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard]
- Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard]
- Deprecate
AliasableFromTypeNodes
type as it's redundant [Pagan Gazzard]
- Revert tightening of
OrderBy
to only field nodes [Pagan Gazzard]
- Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard]
- Stop accepting
ExtractJSONPathAsText
/ToJSON
as unknown node types [Pagan Gazzard]
- Fix DateNode/AnyNode typings [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Add Big Serial type [Josh Bowling]
- Flowzone: Allow external contributions [Josh Bowling]
- Improve typings [Pagan Gazzard]
- Remove typing for non-existent JSON node [Pagan Gazzard]
- Tighten the
isXValue
function typings [Pagan Gazzard]
- Correctly treat
Value
nodes as rewritten toText
by the optimizer [Pagan Gazzard] - Add EmbeddedTextNode typing [Pagan Gazzard]
- Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard]
- Improve node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Add more node typings [Pagan Gazzard]
- Support boolean nodes in a ValuesNode [Pagan Gazzard]
- Add
Between
node type [Pagan Gazzard]
- Add
BitwiseAnd
/BitwiseShiftRight
node types [Pagan Gazzard]
- Add
NotInNode
type [Pagan Gazzard] - Add
IsDistinctFromNode
/IsNotDistinctFromNode
types [Pagan Gazzard] - Add
CharacterLengthNode
type [Pagan Gazzard]
- Adds Cast node type to tree parsing [Otávio Jacobi]
- Add binds for affected IDs in compiled rules [Carol Schulze]
- Optimize schema during compilation [Carol Schulze]
- Wrap Date & Duration operations with parenthesis when necessary [Thodoris Greasidis]
- Wrap composite math operations with parenthesis when necessary [Thodoris Greasidis]
- Tests: update @balena/odata-to-abstract-sql to 5.8 [Thodoris Greasidis]
- Change AggregateJSON to use
JSON_AGG
instead ofARRAY_TO_JSON
+ARRAY_AGG
[Pagan Gazzard]
- Add
modifyFields
/modifyName
to table definition [Pagan Gazzard]
- Add the AbstractSql node
Any
[Carol Schulze]
- Add support for rules optimizations when using COUNT(*) = 0 [Pagan Gazzard]
- Flowzone: Allow external contributions [Josh Bowling]
- Fix: move @balena/odata-to-abstract-sql to dev dependencies [Pagan Gazzard]
- Tests: update @balena/odata-to-abstract-sql to 5.x [Pagan Gazzard]
- Fix deprecation notice module name [Pagan Gazzard]
- Add deprecation notices to the legacy null formats of
null
and'Null'
[Pagan Gazzard] - Add deprecation notice to the legacy table format of
tableName
[Pagan Gazzard] - Add deprecation notice to the legacy alias format of
[node, alias]
[Pagan Gazzard]
- Fix date fields used inside arithmetic expressions [fisehara]
- Add support for getting the modified fields of an aliased query [Pagan Gazzard]
- Add ToJSON/ExtractJSONPathAsText functions [Josh Bowling]
- Dev: Update pre-commit hook [Josh Bowling]
- Dev: Migrate husky setup for v8 [Josh Bowling]
- Update dependency husky to 8.0.2 [Renovate Bot]
- Dev: Move types to dev dependencies [Josh Bowling]
- Update @types/node from 10.17.60 to 18.11.9 [Josh Bowling]
- Update @types/lodash from 4.14.182 to 4.14.189 [Josh Bowling]
- Update @balena/sbvr-types from 3.4.7 to 3.4.8 [Josh Bowling]
- Update @balena/sbvr-parser from 1.4.1 to 1.4.2 [Josh Bowling]
- Update @balena/odata-parser from 2.2.9 to 2.4.2 [Josh Bowling]
- Update @balena/lf-to-abstract-sql from 4.5.1 to 4.5.2 [Josh Bowling]
- Update @balena/lint from 6.2.0 to 6.2.1 [Josh Bowling]
- Update lint-staged from 12.4.1 to 13.0.3 [Josh Bowling]
- Update chai from 4.3.6 to 4.3.7 [Josh Bowling]
- Update mocha from v9 to v10 [Josh Bowling]
- Update ts-node from 10.7.0 to 10.9.1 [Josh Bowling]
- Update typescript from 4.6.4 to 4.9.3 [Josh Bowling]
- CI: Split up abstract-sql tests [Josh Bowling]
- CI: Add more abstract-sql unit tests [Josh Bowling]
- Fix Right SQL generation [Josh Bowling]
- CI: Add several abstract-sql unit tests [Josh Bowling]
- Capitalize AggregateJSON SQL [Josh Bowling]
- Dev: Disable package-lock.json generation [Josh Bowling]
- Switch from balenaCI to flowzone [Pagan Gazzard]
- Expose
isAliasNode
helper [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Remove circleci [Pagan Gazzard]
- Avoid creating a new Date object when we already have one [Pagan Gazzard]
- Remove .circleci/config.yml [Thodoris Greasidis]
- Add support for
ConcatenateWithSeparator
nodes [Thodoris Greasidis]
- Add reference property type [Harald Fischer]
- Avoid the operation type optimization for HAVING clauses [Pagan Gazzard]
- Add support for
Count
nodes in rule referenced fields [Pagan Gazzard]
- Add support for
From
nodes in rule referenced fields [Pagan Gazzard]
- Add support for
HAVING
clauses [Pagan Gazzard]
- Fix GroupByNode typings [Pagan Gazzard]
- Improve typing for
LikeNode
[Pagan Gazzard]
- Relax the restrictions on
ORDER BY
as it doesn't just allow fields [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Support for non postgres db engines [fisehara]
- Supprt date_trunc postgres date function for DateValue [fisehara]
- Update dependencies [Pagan Gazzard]
- Delete CODEOWNERS [Thodoris Greasidis]
- Add support for
CurrentTimestamp
/CurrentDate
nodes [Pagan Gazzard]
Update sbvr-types to 3.4.3 [Thodoris Greasidis]
- Support boolean results from the db as well as integer [Pagan Gazzard]
- Allow duration seconds to be nullable [Pagan Gazzard]
- Re-enable all tests [Pagan Gazzard]
- Revert "Remove now unnecessary hack for casting SERIAL types" [Pagan Gazzard]
- Remove now unnecessary hack for casting SERIAL types [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Update dev dependencies [Pagan Gazzard]
- Remove unnecessary native fact type entries for synonymous forms [Pagan Gazzard]
- Add a
Current Time
name that can be used to refer to the current time [Pagan Gazzard]
- Add
is before
&is after
verbs to the Date & DateTime types [Thodoris Greasidis]
- Add support for the
contains
verb to the text type [Thodoris Greasidis]- Add support for the
ends with
verb to the text type [Thodoris Greasidis]- Add support for the
starts with
verb to the text type [Thodoris Greasidis]
- Enable strict options by default and only disable specific ones [Pagan Gazzard]
- Enable narrowing down create/delete referenced fields for nested exists [Pagan Gazzard]
- Generalize/share the referenced fields code and cover more cases [Pagan Gazzard]
- Fix
getModifiedFields
forUpsertQuery
s [Pagan Gazzard]
- Separate code relating to referenced fields out of the main file [Pagan Gazzard]
- Add an
action
property to modified fields of create/update/delete [Pagan Gazzard] - Automatically add
ruleReferencedFields
toSqlRule
s [Pagan Gazzard] - Add a
getRuleReferencedFields
which is tailored for rules [Pagan Gazzard]
- Add test for optimizeSchema optimizing rules [Pagan Gazzard]
- Optimize the abstract sql of rules when running
optimizeSchema
[Pagan Gazzard]
- Fix schema optimizations when table and resource names are different [Pagan Gazzard]
- Convert some lodash usage to native equivalents [Pagan Gazzard]
- Optimize Is[Not]DistinctFrom and [Not]Exists for non-null values [Pagan Gazzard]
- Optimize EXISTS/NOT EXISTS for empty queries [Pagan Gazzard]
- Optimize away AND/ORs with false/true respectively [Pagan Gazzard]
- Optimize out booleans from AND/OR where possible [Pagan Gazzard]
- Improve Relationship typings [Thodoris Greasidis]
- Fix
containsNode
when that node type is at the top level [Pagan Gazzard]
- Add support for table definitions [Pagan Gazzard]
- Allow compiling
*QueryNode
s to direct strings without binds [Pagan Gazzard]
- Improve typings for compilation results [Pagan Gazzard]
- Add an
optimizeSchema
function [Pagan Gazzard]
- Add check constraint support at the table level [Pagan Gazzard]
- Convert tests from coffeescript to type-checked javascript [Pagan Gazzard]
- Fix the
NOT(NOT(...))
optimization [Pagan Gazzard]
- Remove some type casts [Pagan Gazzard]
Update sbvr-types and make use of `castType` [Pagan Gazzard]
- Add a
castType
property to type functions [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Remove accidental
necessity
from theAbstractSqlField
types [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Improve
BindNode
typing [Pagan Gazzard]
- Allow adding to the FromTypeNode set [Pagan Gazzard]
- Rename to @balena/abstract-sql-compiler [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Convert all returned promises to native promises instead of bluebird [Pagan Gazzard]
- Update tsconfig to target es2018 [Pagan Gazzard]
- Drop support for node 6/8 [Pagan Gazzard]
Update to @balena/sbvr-types 3.0.0 [Pagan Gazzard]
- Convert
fetchProcessing
to synchronous functions [Pagan Gazzard]- Update to bcrypt 4.x [Pagan Gazzard]
- Enable strict tsconfig [Pagan Gazzard]
- Make use of
import type
where relevant [Pagan Gazzard]- Update to balena-lint 5.x [Pagan Gazzard]
- Rename to @balena/sbvr-types [Pagan Gazzard]
- Drop node 8 support [Pagan Gazzard]
- Update tsconfig target to es2018 [Pagan Gazzard]
- Convert all returned promises to native promises instead of bluebird [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Update to mocha 7.x [Pagan Gazzard]
- Convert coffeescript tests to javascript [Pagan Gazzard]
- Drop support for node 6/8 [Pagan Gazzard]
- Rename to @balena/sbvr-parser [Pagan Gazzard]
- CI: Add nodejs 14 to the test matrix [Pagan Gazzard]
- CI: Remove circleci publishing in favor of balenaCI [Pagan Gazzard]
- Update to to @balena/sbvr-types [Pagan Gazzard]
- Update to @balena/lint 5.x [Pagan Gazzard]
- Reduce lodash usage [Pagan Gazzard]
- Include linting as part of the tests [Pagan Gazzard]
- Convert from UMD module to commonjs module [Pagan Gazzard]
- Rename to @balena/lf-to-abstract-sql [Pagan Gazzard]
- Drop support for node 8 [Pagan Gazzard]
- Move @balena/sbvr-parser to production dependencies [Pagan Gazzard]
Update to @balena/sbvr-parser [Pagan Gazzard]
- Update to mocha 7.x [Pagan Gazzard]
- Convert coffeescript tests to javascript [Pagan Gazzard]
- Drop support for node 6/8 [Pagan Gazzard]
- Rename to @balena/sbvr-parser [Pagan Gazzard]
- CI: Add nodejs 14 to the test matrix [Pagan Gazzard]
- CI: Remove circleci publishing in favor of balenaCI [Pagan Gazzard]
- Update to to @balena/sbvr-types [Pagan Gazzard]
- Update to @balena/lint 5.x [Pagan Gazzard]
- Reduce lodash usage [Pagan Gazzard]
- CI: Add nodejs 14 to the test matrix [Pagan Gazzard]
Update to @balena/sbvr-types 3.0.0 [Pagan Gazzard]
- Convert
fetchProcessing
to synchronous functions [Pagan Gazzard]- Update to bcrypt 4.x [Pagan Gazzard]
- Enable strict tsconfig [Pagan Gazzard]
- Make use of
import type
where relevant [Pagan Gazzard]- Update to balena-lint 5.x [Pagan Gazzard]
- Rename to @balena/sbvr-types [Pagan Gazzard]
- Drop node 8 support [Pagan Gazzard]
- Update tsconfig target to es2018 [Pagan Gazzard]
- Convert all returned promises to native promises instead of bluebird [Pagan Gazzard]
- Switch to balena-lint [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Remove unused imports [Pagan Gazzard]
- Remove production lodash dependency [Pagan Gazzard]
- Switch to native some [Pagan Gazzard]
- Switch to native findIndex [Pagan Gazzard]
- Switch to native every [Pagan Gazzard]
- Switch to native find [Pagan Gazzard]
- Switch to native forEach where possible [Pagan Gazzard]
- Switch to native includes [Pagan Gazzard]
- Switch to native array type checking [Pagan Gazzard]
- Switch to native string type checking [Pagan Gazzard]
- Switch to native Object.assign [Pagan Gazzard]
- Always treat numbered terms as if they're used [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- CI: Remove circleci deploy in favor of balenaCI [Pagan Gazzard]
- CI: Add node 12 to the test matrix [Pagan Gazzard]
- CI: Remove node 6 from the test matrix [Pagan Gazzard]
- Update dependencies and use resin-lint for automatic lint fixes [Pagan Gazzard]
- Add node 12 to the test matrix [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Add CODEOWNERS [Pagan Gazzard]
- Add CODEOWNERS [Pagan Gazzard]
- Add support for using
of
instead ofthat is of
[Pagan Gazzard]
- Add support for
a given
as a universal quantification [Pagan Gazzard]
- Allow including terms as part of a verb by using
[]
brackets [Pagan Gazzard]
- Only add the destination of a link table if it's actually necessary [Pagan Gazzard]
- CI: Remove circleci publishing in favor of balenaCI [Pagan Gazzard]
- Add CODEOWNERS [Pagan Gazzard]
- Add support for enum definitions on fact types [Pagan Gazzard]
- Fix
updateModifiedAt
formatting [Pagan Gazzard]
- Add node 12 tests [Pagan Gazzard]
- Add repo.yml for upstream changelogs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add automatic modified at fields [Pagan Gazzard]
- Rename to @balena/odata-parser [Pagan Gazzard]
- Update to @balena/lint 5.x [Pagan Gazzard]
- Drop support for nodejs 8 [Pagan Gazzard]
- CI: Add nodejs 14 to the test matrix [Pagan Gazzard]
- CI: Remove circleci publishing in favor of balenaCI [Pagan Gazzard]
Make use of odata-parser types [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Add typings [Pagan Gazzard]
- Improve aliased from handling in
getReferencedFields
[Pagan Gazzard]
- Use an abstract-sql-optimiser prepass to simplify getReferencedFields [Pagan Gazzard]
- Optimise exactly 0 to not exists [Pagan Gazzard]
- Add support for computed fields [Pagan Gazzard]
Unify the handling of adding fields with or without a $select [Pagan Gazzard]
- Fix adding parameter alias to the options object [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add support for computed fields [Pagan Gazzard]
- Add tests for
getReferencedFields
[Pagan Gazzard]
- Update and fix lodash typings [Pagan Gazzard]
- Update husky/mocha dev dependencies [Pagan Gazzard]
Fix typescript compilation [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add node 12 tests [Pagan Gazzard]
- Add repo.yml for upstream changelogs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add node 12 tests [Pagan Gazzard]
- Add repo.yml for upstream changelogs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Fix off-by-one error when having to resort to a random alias [Pagan Gazzard]
- Add support for definitions for the target table of insert queries [Pagan Gazzard]
- Add path key where statements to the select subquery for inserts [Pagan Gazzard]
- Convert == to === [Pagan Gazzard]
Improve typing of `dataTypeValidate` and sbvr-types [Pagan Gazzard]
- Switch to balena-lint [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Remove unused imports [Pagan Gazzard]
- Remove production lodash dependency [Pagan Gazzard]
- Reduce lodash usage [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- CI: Remove circleci deploy in favor of balenaCI [Pagan Gazzard]
- CI: Add node 12 to the test matrix [Pagan Gazzard]
- CI: Remove node 6 from the test matrix [Pagan Gazzard]
- Update dependencies and use resin-lint for automatic lint fixes [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- ✨: Add support for canAccess method call on resource [Andreas Fitzek]
- 📝♻️ : Improve RelationshipMapping typing and docs [Andreas Fitzek]
- Only create functions if they don't already exist [Pagan Gazzard]
- Add support for sum [Pagan Gazzard]
- Add support for average [Pagan Gazzard]
- Add tests for count [Pagan Gazzard]
- Add support for coalesce [Pagan Gazzard]
Update dependencies [Pagan Gazzard]
- Add node 12 to the test matrix [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Add CODEOWNERS [Pagan Gazzard]
- Update resin-lint to 3.x and use it for auto-linting [Pagan Gazzard]
- Fix query type check [Pagan Gazzard]
- Add CODEOWNERS [Pagan Gazzard]
- Trim trigger names to the max of 63 characters [Pagan Gazzard]
- Update dev dependencies [Pagan Gazzard]
- Add support for
CrossJoin
[Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Fix CHECK syntax [Pagan Gazzard]
- Fix
compileRule
typings [Pagan Gazzard]
- Add support for basic check constraints [Pagan Gazzard]
- Allow combining/adding to existing NOT IN statements [Pagan Gazzard]
- Allow combining/adding to existing IN statements [Pagan Gazzard]
- Prioritise collapsing nested ANDs over converting them to an NOT IN [Pagan Gazzard]
- Prioritise collapsing nested ORs over converting them to an IN [Pagan Gazzard]
- Switch to a lookup table for finding existing bind var entries [Pagan Gazzard]
- Add support for resolving directly circular dependencies on postgres [Pagan Gazzard]
- Optimise finding of existing binds when adding a bind variable [Pagan Gazzard]
- Add support for inner/left/right/full joins [Pagan Gazzard]
- Change
IsDistinctFrom
for postgres to a version that can use indexes [Pagan Gazzard] - Optimise
IsDistinctFrom
/IsNotDistinctFrom
when either arg isNull
[Pagan Gazzard]
- Add support for
IsDistinctFrom
/IsNotDistinctFrom
[Pagan Gazzard]
- Improve aliased from handling in
getReferencedFields
[Pagan Gazzard]
- Use an abstract-sql-optimiser prepass to simplify getReferencedFields [Pagan Gazzard]
- Add support for computed fields [Pagan Gazzard]
- Add tests for
getReferencedFields
[Pagan Gazzard]
- Update and fix lodash typings [Pagan Gazzard]
- Update husky/mocha dev dependencies [Pagan Gazzard]
- Fix typescript compilation [Pagan Gazzard]
View details
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add node 12 tests [Pagan Gazzard]
- Add repo.yml for upstream changelogs [Pagan Gazzard]
- Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]
- Add support for trigger functions [Pagan Gazzard]
- Fix
FieldNode
s being detected as deprecated aliases [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Update to odata-to-abstract-sql v3.0.0 [Pagan Gazzard]
- Fix
FromNode
typing [Pagan Gazzard]
- Fix the deprecated implicit alias check to account for implicit tables [Pagan Gazzard]
- Support explicit table/alias nodes for the getXFields functions [Pagan Gazzard]
- Improve typings [Pagan Gazzard]
- Separate src/out dirs to avoid issues with importing .ts over .d.ts [Pagan Gazzard]
- Convert AbstractSQLOptimiser to typescript [Pagan Gazzard]
- Convert AbstractSQLRules2SQL to typescript [Pagan Gazzard]
- Add resin-lint for typescript and a commit hook to run it [Pagan Gazzard]
- Split the types for sbvr-types into a separate definition file [Pagan Gazzard]
- Add resin-lint for coffee files [Pagan Gazzard]
- Optimise checking for aliases with a fast lookahead check [Pagan Gazzard]
- Fix potentially incorrect
And
collapsing [Pagan Gazzard]
- Switch to generating commonjs format [Pagan Gazzard]
- Tighten alias/table name matches to strings [Pagan Gazzard]
- Optimise the
Select
rule by removing redundant branches [Pagan Gazzard]
- Update to sbvr-types 2.x [Pagan Gazzard]
- Update lf-to-abstract-sql, updating tests to match [Pagan Gazzard]
- Update dependencies [Pagan Gazzard]
- Feature: Add support for CASE/WHEN/ELSE/END #35 [Rich Bayliss]
- Don't try to merge
IS NULL
into anIN
clause as it doesn't work #36 [Pagan Gazzard]
- Make sure direct table names are strings, this avoid issues if parsing a SelectQuery fails. #33 [Pagan Gazzard]
- Allow reusing bind parameters for the postgres backend rather than duplicating for each instance. #32 [Pagan Gazzard]
- Update lf-to-abstract-sql and fix tests. #31 [Pagan Gazzard]
- Add support for string bind keys #30 [Pagan Gazzard]
- Fix
test.skip
/test.only
/etc for the sbvr tests #28 [Pagan Gazzard]
- Update dependencies #29 [Pagan Gazzard]
- Change CONTAINS to use LIKE instead of STRPOS. #27 [Pagan Gazzard]
- Change EndsWith to use LIKE instead of RIGHT to avoid duplicating the needle. #27 [Pagan Gazzard]
- Change StartsWith to use LIKE instead of STRPOS so that it can make better use of indexes. #27 [Pagan Gazzard]
- Update dependencies #25 [Pagan Gazzard]
- Switch types to using generated declaration files, this avoids issues with the typescript code being rechecked downstream. #26 [Pagan Gazzard]
- Require npm 4+ to publish, to avoid issues with publishing #24 [Pagan Gazzard]
- Add node 10 to the circleci tests #23 [Pagan Gazzard]
- Move circle.yml to .circleci/config.yml #23 [Pagan Gazzard]
- Change the references format to expect a
resourceName
rather than atableName
#22 [Pagan Gazzard]
- Update tests to use odata-to-abstract-sql 1.2.0 #21 [Pagan Gazzard]
- Support the
Or
->In
optimisation for cases where you have mixed comparisons in an or block, allowing it to be used in a lot more cases. #19 [Pagan Gazzard] - Make sure the nested or optimisation hits the validator method directly, avoiding other optimisations breaking it. #19 [Pagan Gazzard]
- Generate numbered bindings for postgres rather than ? #17 [Pagan Gazzard]
- Add support for union queries. #16 [Pagan Gazzard]
- Update dependencies #15 [Pagan Gazzard]
- Lock types versions and fix type errors. #14 [Pagan Gazzard]
- Set up circleci auto-publishing #14 [Pagan Gazzard]
- Updated dependencies and rewrote tests to account for breaking changes #12 [Giovanni Garufi]
- Convert AbstractSQLCompiler to typescript and add typings for the OMeta parts #11 [Pagan Gazzard]
- Added versionist #11 [Giovanni Garufi]
- Changed API to pass rule bindings along with the compiled query.
- Fixed checking for unresolved dependencies
- Fixed checking of dependencies when there is self-reference for a resource where the resource name and table name are different
- Fixed added referenced fields to rules
- Add
getReferencedFields
andgetModifiedFields
functions. - Add
referencedFields
info to compiled rules. - Update coffeescript to ~1.12.6
- Added support for numbered binds.
- Added a test for a self-referential expand (
pilot?$expand=pilot
)
- Added a test for a rule with numbered terms.
- Added some tests from the sbvr-parser that were missing here.
- Added a non-primitive concept type test to the pilots tests.
- Added support for $count
- Added tests for $count
- Updated the client model for tests
- Updated tests
- Stopped treating an empty string as null.
- Added support for duration literals.
- Added support for
Contains
,Now
,Year
,Month
,Day
,Hour
,Minute
,Second
,FractionalSeconds
,ToDate
,ToTime
, andTotalSeconds
. - Avoided issues with wildchard characters in
Substringof
,StartsWith
, andEndsWith
. - Fixed
InStr
andIndexOf
. - Updated the sbvr model for tests.
AggregateJSON
now returns an empty array instead of null in the case of zero results.- Updated to lodash 4
- Update ometa-js
- Correctly adjust INSTR/STRPOS, INSTR is the zero-indexed one!
- Change startswith and endswith from
(needle, haystack)
to(haystack, needle)
, to match the OData spec. - Updated to bluebird 3.
- Update @resin/odata-to-abstract-sql to ~0.3.0, adding matching tests.
- Fixed requirejs import path.
- Added support for specifying a
defaultValue
for a field. - Added schema generation support.
- Changed the exported
compile(engine, abstractSQL)
function to[engine].compileRule(abstractsql)
- Fixed an issue with auto incrementing fields of websql/mysql.
- Updated lodash to ^3.0.0
- Updated sbvr-types to v0.1.1
- Updated sbvr-types to v0.1.0
- Updated lodash to ~3.0.0
- Optimised not exists statements.
- Added tests for true/false.
- Added support for
'Null'
as well asnull
for null valus. - Changed comparisons against null to use
IS NULL
/IS NOT NULL
- Switch to using bind vars for embedded number/text values.
- Switched to using multiple part UPSERT queries, allowing greater flexibility.
- Simplified NULL handling.
- Added support for CAST.
- Added support for select queries in the values clause.