umustafi commented on code in PR #3790:
URL: https://github.com/apache/gobblin/pull/3790#discussion_r1344430080
##########
gobblin-runtime/src/main/java/org/apache/gobblin/runtime/api/MysqlMultiActiveLeaseArbiter.java:
##########
@@ -104,32 +116,50 @@ protected interface CheckedFunction<T, R> {
+ "VALUES(1, ?, ?) ON DUPLICATE KEY UPDATE epsilon=VALUES(epsilon),
linger=VALUES(linger)";
protected static final String WHERE_CLAUSE_TO_MATCH_KEY = "WHERE
flow_group=? AND flow_name=? AND flow_action=?";
protected static final String WHERE_CLAUSE_TO_MATCH_ROW =
WHERE_CLAUSE_TO_MATCH_KEY
- + " AND event_timestamp=? AND lease_acquisition_timestamp=?";
- protected static final String SELECT_AFTER_INSERT_STATEMENT = "SELECT
event_timestamp, lease_acquisition_timestamp, "
- + "linger FROM %s, %s " + WHERE_CLAUSE_TO_MATCH_KEY;
+ + " AND event_timestamp=CONVERT_TZ(?, '+00:00', @@session.time_zone)"
+ + " AND lease_acquisition_timestamp=CONVERT_TZ(?, '+00:00',
@@session.time_zone)";
Review Comment:
Set default to `NULL` and use `CURRENT_TIMESTAMP(3)` upon insertion or
updates bc the timestamps are automatically interpreted in session timezone.
Including for documentation purposes that I also tried setting the session
timezone before making insertions/updates/table creation but had trouble
executing _multi-query_ statements with a `SET` and `SELECT` because the latter
needs to be executed with `preparedStatement.executeQuery` to return a
`ResultSet` but multiple queries are only allowed with
`preparedStatement.execute`. The JDBC connection url also needs to also
`multi-query statements` as the default connection url does not allow it. The
use of the former with the multi-statement query results in a SQL error
`java.sql.SQLException: ResultSet is from UPDATE. No Data.`
--
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]