* Introduce and check @BelongsToContract annotation
* Fix broken ObligationTests
* TransactionContractConflictException inherits from TransactionVerificationException
* Really fix broken ObligationTests
* Convert fun to val
* Update kdoc on BelongsToContract, simplify contract checking
* Warn in TransactionBuilder if ContractState has no owning contract
* Fix failing tests
* Unseal TransactionVerificationException
* Make contract parameter of TransactionState optional
* Replace exception with a warning for now
* Update api-current to permit @BelongsToContract annotation to be added
* cosmetic tweaks
* Throw IllegalArgumentException, not NPE
* Throw IllegalArgumentException, not NPE
Internal tables (the tables from node and finance modules) are now tracked /created by Liquibase script.
Tables backing MappedSchemma in Cordapps are created by Hibernate (as before).
The PR scope added Liquibase library, setup code SchemaMigration and XML scripts and from Enterprise.
For existing database installation - the node will auto-upgrade to use Liquibase.
Method migrateOlderDatabaseToUseLiquibase checks for any 3.X existing Corda database to upgrade database to use Liquibase. When the existing database without Liquibase integral tables is detected, the node (at startup) will create Liquibase tracking tables and fill them with all migration scripts (marked as done), this ensure the database will look as it would use Liquibase from the beginning.
The database changes gradually introduced by the subsequent 3.X releases (3.1, 3.2) are conditionally run by Liquibase.
* * Added "isRelevant" functionality to the vault.
* * Changed "isRelevant" to "isParticipant" as this makes more sense in the context of Corda.
* Minor tweak to "isParticipant" method in NodeVaultService.
* Fixed API break and broken JAva tests.
* * Addressed PR comments from Jose.
* Changed all mentions of "relevant" and "participant" to "modifiable".
* Made the default behaviour of vault queries to return ALL states instead of just MODIFIABLE states as this is what always previously happened.
* Updated cash balance queries to only return MODIFIABLE states.
* * Updated cash selection and tryLockFungfibleStatesForSpending.
* MSSQL support
* changes per reviewer's comments; doc
* clean up
* CONTRIBUTORS.md
* minor change in comment
* another minor change in comment
* minor formatting
* Comments formatting per recommend style; contributors in alphabet order
* more comment formatting per coding style
* Change MSSQL to SQLServer in codes and comments
* Change MSSQL to SQLServer in doc
* Use generateSequence to build repeats of ?,?,...?
* Specify notary in CashIssueAndPaymentFlow
* Specify notary in PaymentRequest
* Address comments
* Default to the first notary in the `CashPaymentFlow`
* ENT-1943 Add liquibase change sets to remove clustered indices from primary keys
* ENT-1943 Add liquibase change sets to remove clustered indices from primary keys
* Don't apply non-clustered PK change when using H2
* Move primary key changesets to separate file for core migration files
Use `onValidationFail` rather than precondition to exclude these changes from H2
* Remove/readd foreign key constraint to make SQL server less unhappy
* Fix linear states schema migration
* Fix notary states changelog issues
* Remove v3-GA from master changelog
* Altering column for SQL Server requires dropping index in which it is a part of and the recreating it
(to avoid Liquibase error: The index 'xxx' is dependent on column 'yyy')
* Remove duplicated addNotNullConstraint causing error on Oracle dbs.
* Migrations to proper nullability
* Removed node-core.changelog-v3-GA.xml file as indicated by PR comments, This change was already provided by nullability upgrade commits
Add SQL setup to run integration test in database mode, add ordering in test because original assumption that rows are returned as inserted doesn't work in Oracle db, ensure distinct names when starting nodes (they can't clash in database mode, as the schema name is taken from node name).
* Hibernate session flushed before handing over raw JDBC session to user code + test - inserting and selecting cash in the same transaction
* Additional two tests copied from Enterprise repo