I have a query that tried to execute, but failed:
update gangs as source, users as dest set source.money = source.money +
'100', dest.money = if((dest.money - '100') < 0,0,dest.money - '100')
where source.id = '4' and dest.id = '56270' and '100' <= dest.money
this query was written in a way to be sure the "money" is added and
subtracted from proper places, even if the query it run at the same time
The query failes with the errors:
[12:44:42] ERROR
[org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler] - Error
processing query: update gangs as source, users as dest set source.money
= source.money + '100', dest.money = if((dest.money - '100') <
0,0,dest.money - '100') where source.id = '4' and dest.id = '56270' and
'100' <= dest.money
org.continuent.sequoia.common.exceptions.driver.DriverSQLException:
Message of cause: Unknown table 'gangs as source, users as dest' in this
UPDATE statement: 'update gangs as source, users as dest set
source.money = source.money + '100', dest.money = if((dest.money -
'100') < 0,0,dest.money - '100') where source.id = '4' and dest.id =
'56270' and '100' <= dest.money'
at
org.continuent.sequoia.driver.Connection.statementExecute(Connection.java:3031)
at
org.continuent.sequoia.driver.Statement.execute(Statement.java:468)
at
org.continuent.sequoia.driver.Statement.execute(Statement.java:445)
at
org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processQuery(MySQLProtocolHandler.java:388)
at
org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processCommand(MySQLProtocolHandler.java:207)
at
org.continuent.myosotis.protocol.mysql.MySQLProtocolHandler.processClientPacket(MySQLProtocolHandler.java:163)
at
org.continuent.myosotis.protocol.mysql.MySQLConnectionHandler.run(MySQLConnectionHandler.java:85)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by:
org.continuent.sequoia.common.exceptions.driver.protocol.BackendDriverException:
Unknown table 'gangs as source, users as dest' in this UPDATE statement:
'update gangs as source, users as dest set source.money = source.money +
'100', dest.money = if((dest.money - '100') < 0,0,dest.money - '100')
where source.id = '4' and dest.id = '56270' and '100' <= dest.money'
SerializableStackTrace of each cause:
org.continuent.sequoia.common.exceptions.driver.protocol.BackendDriverException:
Unknown table 'gangs as source, users as dest' in this UPDATE statement:
'update gangs as source, users as dest set source.money = source.money +
'100', dest.money = if((dest.money - '100') < 0,0,dest.money - '100')
where source.id = '4' and dest.id = '56270' and '100' <= dest.money'
at
org.continuent.sequoia.controller.requests.UpdateRequest.parse(UpdateRequest.java:278)
at
org.continuent.sequoia.controller.cache.parsing.ParsingCache.getParsingFromCacheAndParseIfMissing(ParsingCache.java:298)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.getParsingFromCacheOrParse(RequestManager.java:366)
at
org.continuent.sequoia.controller.requestmanager.RequestManager.scheduleExecWriteRequest(RequestManager.java:804)
at
org.continuent.sequoia.controller.requestmanager.distributed.DistributedRequestManager.scheduleExecWriteRequest(DistributedRequestManager.java:1464)
at
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedStatementExecuteUpdate.executeScheduledRequest(DistributedStatementExecuteUpdate.java:84)
at
org.continuent.sequoia.controller.virtualdatabase.protocol.DistributedRequest.handleMessageMultiThreaded(DistributedRequest.java:157)
at
org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase.handleMessageMultiThreaded(DistributedVirtualDatabase.java:335)
at
org.continuent.hedera.adapters.MulticastRequestAdapterThread.run(MulticastRequestAdapterThread.java:102)
myosotis also throws 1 error:
12:44:42,995 WARN controller.virtualdatabase.www_pirate Distributed
request update gangs as source, users as dest se... did not remove
itself from the total order queue
Any insight would be appreciated...
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia