* feature: adds support for enum type (fixes#9068)
* temporarily ran package to test on different repo
* playing around - bumped version
* Revert "playing around - bumped version"
This reverts commit 7df4adb3e698419c174c2daee88614f8dafdbb6c.
* Revert "temporarily ran package to test on different repo"
This reverts commit 48f394e8eb32c22fe757010b446c85740bf80b5f.
* feat: add support for geometry data type
* feature: properly hydrate enum array values
* feature: adds support for geography and geometry for cockroachdb
* bugfix: fixes issue with primary generated columns being invalid column type (fixes#8532)
* Revert "bugfix: fixes issue with primary generated columns being invalid column type (fixes#8532)"
This reverts commit e00cdb090638d34668e3e10acd5f8267fe3bd028.
* bugfix: type casts to string when using ANY
* feature: cast geometry/geography to geojson
* feature: added references to srid
* bugfix: prevent error if trying to close already closed connection
* feature: added cockrachodb as part of postgres family
* feature: ensures support for spatial columns for cockroachdb
* feature: adds support for UPSERT for CockroachDB (fixes#9199)
* minor: added TODO; unsure how to achieve this
* feature: adds support for time travelling queries for cockroachdb
* bugfix: only run time travel query on SELECT statements
* refactor: changed UsertType from 'upsert' to 'primary-key' since this is more logical
* feature: added posibility to set timeTravelQuery to false, instead of the parameter function; help for disabling time travel queries during tests
* feature: allow timeTravelQueries in find* queries
* bugfix: when using timetravel queries with joinAttributes it now prevents error 'AS OF SYSTEM TIME must be in top level' error
* lint
* minor fix
* fixed failing test
* implemented ENUM type;
added tests;
* fixed failing tests
* fixed failing test
* fixed spatial types synchronization;
implemented spatial indices;
added tests for spatial columns;
* refactored Time Travel Query functionality;
removed TTQ from find options;
added tests for TTQ;
* added docs for Time Travel Queries
* minor changes
* added GeoJSON types;
other minor fixes;
* updated docs
* updated docs
Co-authored-by: Dmitry Zotov <dmzt08@gmail.com>
Fix implementation of materialized hints in common table expressions
Previous behavior did not account for NOT MATERIALIZED hints, also
placed materialized hints in wrong place (before "AS")
Co-authored-by: Adrian Parry <adrian.parry@reign.cl>
* feat: allow for partial index conditions for on conflict statments in postgres
* fix: change variable to match postgres documentation and convert from array to string type
* fix: generalize use of index predicate. add documentation and expand test cases
* lint fix
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
Co-authored-by: Alex Messer <dmzt08@gmail.com>
Adding `Exists` method to query builder and EntityManager, to check whether a row exists given the conditions
Closes: #2815
Co-authored-by: mortzprk <mortz.prk@gmail.com>
* fix: disable transaction support for cordova driver
the cordova-sqlite-storage plugin does not support transactions. fc4133c
introduced an exception when starting a transactions but did not disable
the transactionSupport in general leading to errors when using the
`save` and `remove` method of the `EntityPersistExecutor`. With this PR
the `EntityPersistExecutor` will respect the drivers `transactionSupport`
option.
* docs: add note on transaction limitations for cordova driver
* fix: cacheId not used loading relations
The cacheId is set to undefined for the main request used for pagination when we load related entities
* fix: tests
* Add the open database flags for sqlite3.
* Check for URI before trying to create the DB dir.
* Spacing.
* Add the sqlite open connection flags.
* Spacing.
Co-authored-by: Adrian Burlacu <adrian.burlacu@live.com>
* feat: Added new indices attribute to View
* feat: Added view indices methods
Such as dropViewIndex, addViewIndices, addViewIndex
Added "View" type in some parameters of methods
* feat: Added view indices support when creating new indices and dropping old indices
* ref: Renamed "table" to "view" in log when dropping view index
* feat: changed order of schema sync operations
To create a new view index, a view has to be created first.
* feat: removed unreachable code
A view object don't have its indices when creation. The indices are added to the view through the createViewIndex method.
* feat: Added view when returning TableIndex
* feat: Added view paths as argument in getViews on log method
* feat: Created createViewIndexSql
This method reuses code from createIndexSql, but eliminates the isSpatial part, because a viewColumn doesn't support this attribute.
* fix: Added missing columns const to createViewIndexSql
* feat: Removed isSpatial attribute when returning TableIndex
* feat: Added unit tests
* fix: Dropped current index to leave unique index on indices array
There was a bug that when asserting the unique index, it would compare with the previous index, even when explicitly selecting the unique index in the indices array.
* ref: lint files
* feat: added "postgres" in enabledDrivers attribute
This is to enable only PostgreSQL for the tests
* feat: added doc for materialized view indices
* ref: lint files
* feat: Added new method to create mat. view indices
This new method goes after creating the views. Aditionally, the views are now created at the end (as it was before)
* ref: prettify files
* feat: revamped tests
Replaced previous unit tests with more significant ones
* fix: the mpath is incorrect when the parent of the tree entity is null
* lint: code format
* fix: findTrees not have children
* test: add unit test
* style: format code
* fix: unit test
* fix: unit test
* fix: unit test
* fix: sqlite boolean parameter escape
sqlite does not support boolean parameters. Even though sqlite is able to transform true to 1 and false to 0 there might be some limitations with other implementations that build up on this.
Fixes: #1981 (again)
* fix: remove obsolete where boolean value transformation
3cbbe90c already handles the boolean value transformation so it is not necessary to have additional code in the query runner for handling this
* test: add test cases for sqlite query parameter escape
* fix typo
* fix: create typeorm metadata table before migration, if not exists
Creating a view in a migration results in an error: `QueryFailedError:
relation "typeorm_metadata" does not exist` (see #9173). This fix
creates the table before a migration runs.
Closes: #9173
* refactor: use function from RdbmsSchemaBuilder to create typeorm_metadata table
* test: add test for fix issue #9173
* test: replace describe.only() with describe()
* refactor: apply suggestions from review
* refactor: add syncWithMetadata param to createView function
* style: run npm format
* removed only test
* test: add missing syncWithMetaData parameter in create-view.ts
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
* feat: implement new calculated decorator
This new feature change bahviour of typeorm to allow use new calculated decorator
Closes#9323
* feat: implement new virtual decorator
This new feature change bahviour of typeorm to allow use new virtual decorator
Closes typeorm#9323
* feat: Implement new virtual decorator
This new feature change bahviour of typeorm to allow use new virtual decorator
Closes typeorm#9323
* feat: implement new virtual decorator
This new feature change bahviour of typeorm to allow use new calculated decorator
Closes typeorm#9323
* feat: implement new virtual decorator
This new feature change behavior of typeorm to allow use of the new virtual column decorator
Closes typeorm#9323
* updated implementation, using "disable" keyword
* rebase test restructure
* rebase orphanedRowAction tests with keyword "disabled"
* rename test suite files to reflect changed naming: skip -> disable
Simplify test suite to comply with postgres12
* Update tests to reflect 0.3 breaking changes
* prettied
Co-authored-by: Jannik <jannik@jannikmewes.de>
Update RelationIdLoader to use DriverUtils.getAlias to prevent aliases being possibly trimmed by database.
Closes: #9379
Co-authored-by: Jan Zípek <jan@zipek.cz>
adds missing support for primaryKeyConstraintName property in EntitySchema definition;
adds tests for another custom constraint names in EntitySchema definition;
* feat: add fake migrations running and reverting
Added a cli option to fake-run or fake-revert a migration, adding to the
executed migrations table, but not actually running it. This feature is
useful for when migrations are added after the fact or for
interoperability between applications which are desired to each keep
a consistent migration history
Closes: #6195
* changed enabled drivers in test
* added docs to the property
* fixed lint issue
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
Co-authored-by: Dmitry Zotov <dmzt08@gmail.com>
* fix: resolve FindOptionsOrder.nulls issue to accept FIRST/LAST in uppercase
Closes#8970
* fixed failing test
Co-authored-by: Alex Messer <dmzt08@gmail.com>
* fix: allow where IsNull for ManyToOne relations
Closes: #8890
* fix direct FindOperator queries on MTO relation
* fix: allow FindOperator queries on OTO owner column
* chore: prettier formating
* fixes#8747
* apply fix again
* added test for issue 8747
* format
* remove .only
* only use postgres driver
* fixed test
* removed createDateColumn
* sqlite does not support timestamp type
* fix typo
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
Co-authored-by: Alex Messer <dmzt08@gmail.com>
* fix#9318
fix: change postgres driver version checking query
Change the postgres `SHOW server_version` query to use `SELECT version()` which adds compatibility with AWS Redshift database
Closes: #9318
* git-issue 9318: remove describe from only in test
* fix-9318: prettier format test
* fix: support postgres column with varchar datatype and uuid_generate_v4() default
Closes: #9063
* added test
Co-authored-by: Dmitry Zotov <dmzt08@gmail.com>
* fix: don't use temporary table name to create foreign key, unique, check constraint with SQLite
In migration steps, finally temporary table name is renamed to original table name. these constraints name should be created from original table name not temporary table name.
Closes: #9176
* style: remove unnecessary comment
* fix: use existing query and filter deleted data
* test: add mongo-repository query test with DeleteDateColumn
* style: lint MongoEntityManager
* fix: not override $or with query.$or
* test: not override query.$or