Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

[PGX 2.6.1] Error with PGQL regular path expressions & PGX prepared statements

cb352881-2e97-45fa-932c-978c8aebcf58Jan 21 2018 — edited Aug 20 2020

I would like to specify a max quantifier inside a PGQL regular path expression query, using a prepared statement in PGX.

However, the following code gives rise to the error posted below.

I'm running PGX 2.6.1 with support for PGQL 1.1.

g = session.readGraphWithProperties("examples/graphs/connections.edge_list.json")

PgxPreparedStatement stmnt = g.preparePgql("PATH one_hop AS () -> ()" +

   "SELECT y MATCH (x)-/:one_hop{,?}/-> (y) " +

   "WHERE id(x) = 1")

stmnt.setInt(1, 2)

res = stmnt.executeQuery()

==> PgxGraph[name=connections,N=78,E=164,created=1516544954524]

14:29:16,925 ERROR Task - >> [ERROR] MalformedQueryException: PREPARE_PGQL failed

14:29:16,926 ERROR Task - 0. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x)

                                                             ^

Syntax error, not expected here: '{'

----------1. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                                ^

Syntax error, not expected here: '}'

----------2 ERRORS

oracle.pgx.api.MalformedQueryException: 0. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x)-/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                             ^

Syntax error, not expected here: '{'

----------1. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                                ^

Syntax error, not expected here: '}'

----------2 ERRORS

        at oracle.pgx.engine.pgql.PgqlQueryManagerImpl.parse(PgqlQueryManagerImpl.java:160) ~[pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.pgql.PgqlQueryManagerImpl.prepare(PgqlQueryManagerImpl.java:118) ~[pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.CorePgqlImpl.lambda$preparePgql$5(CorePgqlImpl.java:68) ~[pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.exec.FunctionRequest.doCall(FunctionRequest.java:33) ~[pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.exec.Task.call(Task.java:289) [pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.exec.Task.run(Task.java:221) [pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.Server.enqueue(Server.java:103) [pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.CorePgqlImpl.preparePgql(CorePgqlImpl.java:67) [pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.engine.CoreImpl.preparePgql(CoreImpl.java:601) [pgx-engine-2.6.1.jar:2.6.1]

        at oracle.pgx.api.PgxGraph.preparePgqlAsync(PgxGraph.java:2001) [pgx-api-2.6.1.jar:2.6.1]

        at oracle.pgx.api.PgxGraph.preparePgql(PgxGraph.java:3186) [pgx-api-2.6.1.jar:2.6.1]

        at oracle.pgx.api.PgxGraph$preparePgql.call(Unknown Source) [pgx-api-2.6.1.jar:2.6.1]

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-all-2.4.11.jar:2.4.11]

        at groovysh_evaluate.run(groovysh_evaluate:3) [shell:?]

        at groovysh_evaluate$run.call(Unknown Source) [shell:?]

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-all-2.4.11.jar:2.4.11]

        at groovysh_evaluate$run.call(Unknown Source) [shell:?]

        at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Evaluator$evaluate.call(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:191) [groovy-all-2.4.11.jar:2.4.11]

        at oracle.pgx.shell.Shell.execute(Shell.java:47) [pgx-shell-2.6.1.jar:2.6.1]

        at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Shell$leftShift$3.call(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.commands.LoadCommand$_load_closure1.doCall(LoadCommand.groovy:88) [groovy-all-2.4.11.jar:2.4.11]

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_151]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]

        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-all-2.4.11.jar:2.4.11]

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) [groovy-all-2.4.11.jar:2.4.11]

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) [groovy-all-2.4.11.jar:2.4.11]

        at groovy.lang.Closure.call(Closure.java:414) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForLine(DefaultGroovyMethods.java:5284) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.IOGroovyMethods.eachLine(IOGroovyMethods.java:487) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.IOGroovyMethods.eachLine(IOGroovyMethods.java:440) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachLine(ResourceGroovyMethods.java:323) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachLine(ResourceGroovyMethods.java:307) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.dgm$943.invoke(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.commands.LoadCommand.load(LoadCommand.groovy:84) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.commands.LoadCommand$load.callCurrent(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.commands.LoadCommand.execute(LoadCommand.groovy:73) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Command$execute.call(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Command$execute.call(Unknown Source) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Shell.execute(Shell.groovy:104) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Groovysh.super$2$execute(Groovysh.groovy) [groovy-all-2.4.11.jar:2.4.11]

        at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) ~[?:?]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]

        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) [groovy-all-2.4.11.jar:2.4.11]

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) [groovy-all-2.4.11.jar:2.4.11]

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Groovysh.executeCommand(Groovysh.groovy:260) [groovy-all-2.4.11.jar:2.4.11]

        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:159) [groovy-all-2.4.11.jar:2.4.11]

        at oracle.pgx.shell.Shell.execute(Shell.java:47) [pgx-shell-2.6.1.jar:2.6.1]

        at oracle.pgx.shell.Console.<init>(Console.java:186) [pgx-shell-2.6.1.jar:2.6.1]

        at oracle.pgx.shell.Console.main(Console.java:296) [pgx-shell-2.6.1.jar:2.6.1]

java.util.concurrent.CompletionException: oracle.pgx.api.MalformedQueryException: 0. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                             ^

Syntax error, not expected here: '{'

----------1. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                                ^

Syntax error, not expected here: '}'

----------2 ERRORS

        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)

        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)

        at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)

        at java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:614)

        at java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:1983)

        at oracle.pgx.api.PgxFuture.thenApply(PgxFuture.java:62)

        at oracle.pgx.api.PgxGraph.preparePgqlAsync(PgxGraph.java:2001)

        at oracle.pgx.api.PgxGraph.preparePgql(PgxGraph.java:3186)

        at oracle.pgx.api.PgxGraph$preparePgql.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

        at groovysh_evaluate.run(groovysh_evaluate:3)

        at groovysh_evaluate$run.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)

        at groovysh_evaluate$run.call(Unknown Source)

        at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)

        at org.codehaus.groovy.tools.shell.Evaluator$evaluate.call(Unknown Source)

        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:191)

        at oracle.pgx.shell.Shell.execute(Shell.java:47)

        at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)

        at org.codehaus.groovy.tools.shell.Shell$leftShift$3.call(Unknown Source)

        at org.codehaus.groovy.tools.shell.commands.LoadCommand$_load_closure1.doCall(LoadCommand.groovy:88)

        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 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)

        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)

        at groovy.lang.Closure.call(Closure.java:414)

        at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForLine(DefaultGroovyMethods.java:5284)

        at org.codehaus.groovy.runtime.IOGroovyMethods.eachLine(IOGroovyMethods.java:487)

        at org.codehaus.groovy.runtime.IOGroovyMethods.eachLine(IOGroovyMethods.java:440)

        at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachLine(ResourceGroovyMethods.java:323)

        at org.codehaus.groovy.runtime.ResourceGroovyMethods.eachLine(ResourceGroovyMethods.java:307)

        at org.codehaus.groovy.runtime.dgm$943.invoke(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)

        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

        at org.codehaus.groovy.tools.shell.commands.LoadCommand.load(LoadCommand.groovy:84)

        at org.codehaus.groovy.tools.shell.commands.LoadCommand$load.callCurrent(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)

        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)

        at org.codehaus.groovy.tools.shell.commands.LoadCommand.execute(LoadCommand.groovy:73)

        at org.codehaus.groovy.tools.shell.Command$execute.call(Unknown Source)

        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)

        at org.codehaus.groovy.tools.shell.Command$execute.call(Unknown Source)

        at org.codehaus.groovy.tools.shell.Shell.execute(Shell.groovy:104)

        at org.codehaus.groovy.tools.shell.Groovysh.super$2$execute(Groovysh.groovy)

        at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:498)

        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)

        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)

        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)

        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)

        at org.codehaus.groovy.tools.shell.Groovysh.executeCommand(Groovysh.groovy:260)

        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:159)

        at oracle.pgx.shell.Shell.execute(Shell.java:47)

        at oracle.pgx.shell.Console.<init>(Console.java:186)

        at oracle.pgx.shell.Console.main(Console.java:296)

Caused by: oracle.pgx.api.MalformedQueryException: 0. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                             ^

Syntax error, not expected here: '{'

----------1. ERROR at line 0:

        PATH one_hop AS () -> ()SELECT y MATCH (x) -/:one_hop{,?}/-> (y) WHERE id(x) = 1

                                                                ^

Syntax error, not expected here: '}'

----------2 ERRORS

        at oracle.pgx.engine.pgql.PgqlQueryManagerImpl.parse(PgqlQueryManagerImpl.java:160)

        at oracle.pgx.engine.pgql.PgqlQueryManagerImpl.prepare(PgqlQueryManagerImpl.java:118)

        at oracle.pgx.engine.CorePgqlImpl.lambda$preparePgql$5(CorePgqlImpl.java:68)

        at oracle.pgx.engine.exec.FunctionRequest.doCall(FunctionRequest.java:33)

        at oracle.pgx.engine.exec.Task.call(Task.java:289)

        at oracle.pgx.engine.exec.Task.run(Task.java:221)

        at oracle.pgx.engine.Server.enqueue(Server.java:103)

        at oracle.pgx.engine.CorePgqlImpl.preparePgql(CorePgqlImpl.java:67)

        at oracle.pgx.engine.CoreImpl.preparePgql(CoreImpl.java:601)

        ... 60 more

2018-01-21 14:29:17,164 pgx-jvm-shutdown-hook WARN Unable to register Log4j shutdown hook because JVM is shutting down. Using SimpleLogger

Exception in thread "Thread-6" java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: engine not running; start first

        at oracle.pgx.shell.Console.close(Console.java:315)

        at oracle.pgx.shell.Console.lambda$new$0(Console.java:154)

        at java.lang.Thread.run(Thread.java:748)

Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: engine not running; start first

        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)

        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)

        at oracle.pgx.api.PgxFuture.get(PgxFuture.java:99)

        at oracle.pgx.api.ServerInstance.shutdownEngineNowIfRunning(ServerInstance.java:608)

        at oracle.pgx.shell.Console.close(Console.java:313)

        ... 2 more

Caused by: java.lang.IllegalStateException: engine not running; start first

        at oracle.pgx.engine.admin.Ctrl.throwIfNotRunning(Ctrl.java:694)

        at oracle.pgx.engine.admin.Ctrl.lambda$shutdown$5(Ctrl.java:282)

        at oracle.pgx.api.admin.AbstractControl.runOnCallerThread(AbstractControl.java:31)

        at oracle.pgx.engine.admin.Ctrl.shutdown(Ctrl.java:281)

        at oracle.pgx.engine.admin.Ctrl.shutdownNow(Ctrl.java:313)

        at oracle.pgx.api.admin.AbstractControl.lambda$shutdownNowIfRunning$4(AbstractControl.java:83)

        at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)

        at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)

        at oracle.pgx.api.PgxFuture.thenCompose(PgxFuture.java:144)

        at oracle.pgx.api.admin.AbstractControl.shutdownNowIfRunning(AbstractControl.java:81)

        at java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:981)

        at java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2124)

        at oracle.pgx.api.PgxFuture.thenCompose(PgxFuture.java:144)

        at oracle.pgx.api.ServerInstance.onControl(ServerInstance.java:187)

        at oracle.pgx.api.ServerInstance.shutdownEngineNowIfRunningAsync(ServerInstance.java:322)

        ... 4 more

Comments

Post Details

Added on Jan 21 2018
1 comment
439 views