View Issue Details

IDProjectCategoryView StatusLast Update
0003721SymmetricDS ProBugpublic2018-12-27 15:29
Reporterhanes Assigned Tommichalek  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.9.13 
Target Version3.9.16Fixed in Version3.9.16 
Summary0003721: SQL Explorer throws exception when using table name aliases in SQL Server
DescriptionWhen constructing an inner join and using table name aliases in SQL explorer, exception is thrown. I think what's happening is when you type the . following the alias the software assumes you are referencing a database name and not the alias you've set up.

2018-09-13 09:07:17,660 ERROR [gui] [AppUI] [qtp266272063-14] Unable to invoke method suggest in org.vaadin.aceeditor.client.SuggesterServerRpc StackTraceKey.init [RpcInvocationException:352176673]

com.vaadin.server.ServerRpcManager$RpcInvocationException: Unable to invoke method suggest in org.vaadin.aceeditor.client.SuggesterServerRpc
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:159)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116)
     at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445)
     at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410)
     at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274)
     at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:145)
     at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:235)
     at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:520)
     at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87)
     at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
     at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:223)
     at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:115)
     at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
     at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:593)
     at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345)
     at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340)
     at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:447)
     at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272)
     at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269)
     at org.eclipse.jetty.websocket.jsr356.messages.TextWholeMessage.messageComplete(TextWholeMessage.java:56)
     at org.eclipse.jetty.websocket.jsr356.endpoints.JsrEndpointEventDriver.onTextFrame(JsrEndpointEventDriver.java:218)
     at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:162)
     at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:375)
     at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:182)
     at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:105)
     at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:142)
     at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:85)
     at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220)
     at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
     at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:256)
     at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:679)
     at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:511)
     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
     at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
     at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
     at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:498)
     at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155)
     ... 43 more
Caused by: org.jumpmind.db.sql.SqlException: java.sql.SQLException: Database 'sn' does not exist. Make sure that the name is entered correctly.
     at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:29)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1412)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader$6.execute(AbstractJdbcDdlReader.java:1407)
     at org.jumpmind.db.sql.JdbcSqlTemplate.execute(JdbcSqlTemplate.java:501)
     at org.jumpmind.db.platform.AbstractJdbcDdlReader.getSchemaNames(AbstractJdbcDdlReader.java:1407)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSchemaNamesFromCache(SqlSuggester.java:362)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSchemaNameSuggestions(SqlSuggester.java:348)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getHierarchySuggestions(SqlSuggester.java:311)
     at org.jumpmind.vaadin.ui.sqlexplorer.SqlSuggester.getSuggestions(SqlSuggester.java:61)
     at org.vaadin.aceeditor.SuggestionExtension$1.suggest(SuggestionExtension.java:47)
     ... 48 more
Caused by: java.sql.SQLException: Database 'sn' does not exist. Make sure that the name is entered correctly.
     at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
     at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2894)
     at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2334)
     at net.sourceforge.jtds.jdbc.TdsCore.clearResponseQueue(TdsCore.java:741)
     at net.sourceforge.jtds.jdbc.TdsCore.submitSQL(TdsCore.java:911)
     at net.sourceforge.jtds.jdbc.ConnectionJDBC2.setCatalog(ConnectionJDBC2.java:2316)
     at org.apache.commons.dbcp.DelegatingConnection.setCatalog(DelegatingConnection.java:374)
     at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setCatalog(PoolingDataSource.java:333)
     at org.jumpmind.db.sql.ChangeCatalogConnectionHandler.before(ChangeCatalogConnectionHandler.java:21)
     ... 57 more


 
Steps To ReproduceStart up a SymmetricDS Pro instance, go to SQL Explorer, and start typing the following:

select * from sym_node sn
  inner join sym_node_security sns
  on sn.node_

when you go to type the period in the last line (i.e., on sn.) an exception is raised.
Additional InformationThis is not an issue with the H2 dialect. I haven't checked any others.
TagsNo tags attached.

Activities

hanes

2018-09-13 13:15

developer  

Related Changesets

SymmetricDS: 3.9 38dd79f4

2018-12-07 16:21:17

mmichalek

Details Diff
0003721: SQL Explorer throws exception when using table name aliases in SQL Server Affected Issues
0003721
mod - symmetric-sqlexplorer/src/main/java/org/jumpmind/vaadin/ui/sqlexplorer/SqlSuggester.java Diff File

Issue History

Date Modified Username Field Change
2018-09-13 13:15 hanes New Issue
2018-09-13 13:15 hanes File Added: Screen Shot 2018-09-13 at 9.07.22 AM.png
2018-09-19 12:33 hanes Assigned To => hanes
2018-09-19 12:33 hanes Status new => assigned
2018-09-19 12:34 hanes Assigned To hanes =>
2018-09-19 12:36 hanes Assigned To => hanes
2018-09-19 12:36 hanes Assigned To hanes =>
2018-09-19 12:37 hanes Status assigned => confirmed
2018-10-10 18:05 hanes Target Version => 3.9.15
2018-10-31 20:22 mmichalek Target Version 3.9.15 => 3.9.16
2018-12-05 19:54 hanes Assigned To => mmichalek
2018-12-05 19:54 hanes Status confirmed => assigned
2018-12-07 21:21 mmichalek Status assigned => resolved
2018-12-07 21:21 mmichalek Resolution open => fixed
2018-12-07 21:21 mmichalek Fixed in Version => 3.9.16
2018-12-07 22:00 mmichalek Changeset attached => SymmetricDS 3.9 38dd79f4
2018-12-27 15:29 chenson Status resolved => closed