> On Feb. 5, 2014, 7:16 a.m., Jinho Kim wrote: > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java, > > line 399 > > <https://reviews.apache.org/r/17735/diff/1/?file=469962#file469962line399> > > > > catalog.getFunction is remote function. > > it tries to fail three times. so is not better > > Dae Myung Kang wrote: > Hi Jinho. I didn't mean this. > > FunctionDesc funcDesc = catalog.getFunction(expr.getSignature(), > paramTypes); > if (funcDesc == null) { > throw new NoSuchFunctionException(expr.getSignature(), paramTypes); > } > > I mean this. > > if (!catalog.containFunction(expr.getSignature(), paramTypes)) { > throw new NoSuchFunctionException(expr.getSignature(), paramTypes); > } > > FunctionDesc funcDesc = catalog.getFunction(expr.getSignature(), > paramTypes);
OK, I will do that - Jinho ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/17735/#review33682 ----------------------------------------------------------- On Feb. 5, 2014, 6:44 a.m., Jinho Kim wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/17735/ > ----------------------------------------------------------- > > (Updated Feb. 5, 2014, 6:44 a.m.) > > > Review request for Tajo. > > > Bugs: TAJO-586 > https://issues.apache.org/jira/browse/TAJO-586 > > > Repository: tajo > > > Description > ------- > > containFunction should return boolean value > > {noformat} > 2014-02-05 15:18:23,088 INFO catalog.CatalogServer > (CatalogServer.java:start(166)) - Catalog Server startup (127.0.0.1:11353) > 2014-02-05 15:18:23,098 ERROR catalog.AbstractCatalogClient > (AbstractCatalogClient.java:containFunction(407)) - > org.apache.tajo.catalog.exception.NoSuchFunctionException: function test10() > does not exist > com.google.protobuf.ServiceException: > org.apache.tajo.catalog.exception.NoSuchFunctionException: function test10() > does not exist > at > org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:110) > at > org.apache.tajo.catalog.AbstractCatalogClient.containFunction(AbstractCatalogClient.java:400) > at > org.apache.tajo.catalog.TestCatalog.testRegisterAndFindFunc(TestCatalog.java:178) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:22) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) > at org.junit.runners.ParentRunner.run(ParentRunner.java:300) > at org.junit.runner.JUnitCore.run(JUnitCore.java:157) > at > com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > Caused by: org.apache.tajo.catalog.exception.NoSuchFunctionException: > function test10() does not exist > at > org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.findFunction(CatalogServer.java:523) > at > org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.containFunction(CatalogServer.java:497) > at > org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.containFunction(CatalogServer.java:589) > at > org.apache.tajo.catalog.AbstractCatalogClient$18.call(AbstractCatalogClient.java:403) > at > org.apache.tajo.catalog.AbstractCatalogClient$18.call(AbstractCatalogClient.java:400) > at > org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:96) > {noformat} > > > Diffs > ----- > > > tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java > 69e0248b5f1e2d6a9adc5eb0d5052152d09eb1d3 > > tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java > 5d6f747e0e6011f037bcc0efd87d6d3687d1c189 > > tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java > 4dfc97a7007bce4aec374df409f631e66c956e68 > > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java > f25064f80e9e8580be19a521cdf8a66d9ea383a7 > > Diff: https://reviews.apache.org/r/17735/diff/ > > > Testing > ------- > > mvn clean install > > > Thanks, > > Jinho Kim > >
