I-Love-China commented on code in PR #21207:
URL: https://github.com/apache/shardingsphere/pull/21207#discussion_r1005258458
##########
shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java:
##########
@@ -307,7 +307,9 @@ private ResultSet executeFederationQuery(final QueryContext
queryContext) throws
}
private DriverExecutionPrepareEngine<JDBCExecutionUnit, Connection>
createDriverExecutionPrepareEngine() {
- int maxConnectionsSizePerQuery =
metaDataContexts.getMetaData().getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
+ int maxConnectionsSizePerQuery = connection.isHoldTransaction()
Review Comment:
> @I-Love-China In the ss design, local does not guarantee any features. If
you need to ensure transactionality, I think you need to develop some functions
yourself. For example, if multiple data sources are of the same instance, you
can use only one connection, and it is forbidden to perform cross-shard queries
in transactions (I don't think it is necessary to perform a large batch of
queries in a transaction, because you can already determine what shards you
want to update, which needs to be acceptable to your business). If your data is
small, you can also consider loading all into memory.
I am so confused. According to this, local transactions will be totally
destroyed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]