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

Reply via email to