diff --git a/node/src/integration-test/kotlin/net/corda/node/services/MySQLNotaryServiceTests.kt b/node/src/integration-test/kotlin/net/corda/node/services/MySQLNotaryServiceTests.kt index 9782860d4d..99c5aef3d4 100644 --- a/node/src/integration-test/kotlin/net/corda/node/services/MySQLNotaryServiceTests.kt +++ b/node/src/integration-test/kotlin/net/corda/node/services/MySQLNotaryServiceTests.kt @@ -138,6 +138,16 @@ class MySQLNotaryServiceTests : IntegrationTest() { signatures.forEach { checkSignature(it) } } + @Test + fun `notarise issue tx with time-window`() { + val txBuilder = DummyContract.generateInitial(Random().nextInt(), notaryParty, node.info.singleIdentity().ref(0)) + .setTimeWindow(node.services.clock.instant(), 30.seconds) + + val issueTx = node.services.signInitialTransaction(txBuilder) + val signature = node.services.startFlow(NotaryFlow.Client(issueTx)).resultFuture.getOrThrow(5.seconds) + signature.first().verify(issueTx.id) + } + @Test fun `should re-sign a transaction with an expired time-window`() { val stx = run { diff --git a/node/src/main/kotlin/net/corda/node/services/transactions/MySQLUniquenessProvider.kt b/node/src/main/kotlin/net/corda/node/services/transactions/MySQLUniquenessProvider.kt index a89a1c3cc7..b5b9445f9e 100644 --- a/node/src/main/kotlin/net/corda/node/services/transactions/MySQLUniquenessProvider.kt +++ b/node/src/main/kotlin/net/corda/node/services/transactions/MySQLUniquenessProvider.kt @@ -357,6 +357,9 @@ class MySQLUniquenessProvider( } private fun findAlreadyCommitted(connection: Connection, states: List): Map { + if (states.isEmpty()) { + return emptyMap() + } val queryString = buildQueryString(states.size) val preparedStatement = connection.prepareStatement(queryString).apply { var parameterIndex = 0 @@ -439,4 +442,4 @@ class MySQLUniquenessProvider( dataSource.close() processorThread.interrupt() } -} \ No newline at end of file +}