BaseX 9.0 sql:prepare not working

Monday, 22 January 2018 · 2 messages
JD
Jan Dölle22 Jan 2018 15:41 #
Hi, the function sql:prepare it not longer working Best Regards Jan
(
   sql:init("org.sqlite.JDBC"),
   let $conn := sql:connect("jdbc:sqlite:database.db")
   let $prep := sql:prepare($conn, "select 'Nothing'")
   let $result := sql:execute-prepared($prep)
   return (
      $result,
      sql:close($prep),
      sql:close($conn)
      )
)
-> Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk at mailman.uni-konstanz.de Version: BaseX 9.0 beta Java: Oracle Corporation, 1.8.0_151 OS: Linux, amd64 Stack Trace:
java.lang.NullPointerException
     at org.basex.util.Token.string(Token.java:87)
     at
org.basex.query.func.sql.JDBCConnections.add(JDBCConnections.java:42)
     at org.basex.query.func.sql.SqlPrepare.item(SqlPrepare.java:27)
     at org.basex.query.func.sql.SqlPrepare.item(SqlPrepare.java:1)
     at org.basex.query.expr.ParseExpr.value(ParseExpr.java:71)
     at org.basex.query.expr.gflwor.Let$LetEval.next(Let.java:177)
     at org.basex.query.expr.gflwor.GFLWOR$1.next(GFLWOR.java:87)
     at org.basex.query.QueryContext.next(QueryContext.java:398)
     at org.basex.query.expr.List$1.next(List.java:119)
     at org.basex.query.QueryContext.next(QueryContext.java:398)
     at org.basex.query.scope.MainModule$1.next(MainModule.java:122)
     at org.basex.query.QueryContext.next(QueryContext.java:398)
     at org.basex.query.QueryContext.cache(QueryContext.java:620)
     at org.basex.query.QueryProcessor.cache(QueryProcessor.java:112)
     at org.basex.core.cmd.AQuery.query(AQuery.java:86)
     at org.basex.core.cmd.XQuery.run(XQuery.java:22)
     at org.basex.core.Command.run(Command.java:257)
     at org.basex.core.Command.execute(Command.java:93)
     at org.basex.gui.GUI.exec(GUI.java:430)
     at org.basex.gui.GUI.lambda$4(GUI.java:373)
     at java.lang.Thread.run(Thread.java:748)
-- Jan Dölle E-Mail: basex-list at id1.de Telefon +49-69-244502-0 Home: www.id1.de Information Design One AG, Baseler Straße 10, 60329 Frankfurt am Main Registereintrag: Amtsgericht Frankfurt am Main, HRB 52596 Vorstand: Robert Peters, Aufsichtsrat: Christian Hecht (Vorsitz)
CG
Christian Grün22 Jan 2018 16:05 #
Thanks for the report. It ought to be working again. With BaseX 9.0, the integer handles will be replaced with URIs, and something went wrong in the URI generation step of prepared statements.
Quoted text · Jan Dölle · 62 lines
On Mon, Jan 22, 2018 at 3:41 PM, Jan Dölle <basex-list at id1.de> wrote: > Hi, > > the function sql:prepare it not longer working > > Best Regards > > Jan > > ( > sql:init("org.sqlite.JDBC"), > let $conn := sql:connect("jdbc:sqlite:database.db") > let $prep := sql:prepare($conn, "select 'Nothing'") > let $result := sql:execute-prepared($prep) > return ( > $result, > sql:close($prep), > sql:close($conn) > ) > ) > > -> > > Improper use? Potential bug? Your feedback is welcome: > Contact: basex-talk at mailman.uni-konstanz.de > Version: BaseX 9.0 beta > Java: Oracle Corporation, 1.8.0_151 > OS: Linux, amd64 > Stack Trace: > java.lang.NullPointerException > at org.basex.util.Token.string(Token.java:87) > at org.basex.query.func.sql.JDBCConnections.add(JDBCConnections.java:42) > at org.basex.query.func.sql.SqlPrepare.item(SqlPrepare.java:27) > at org.basex.query.func.sql.SqlPrepare.item(SqlPrepare.java:1) > at org.basex.query.expr.ParseExpr.value(ParseExpr.java:71) > at org.basex.query.expr.gflwor.Let$LetEval.next(Let.java:177) > at org.basex.query.expr.gflwor.GFLWOR$1.next(GFLWOR.java:87) > at org.basex.query.QueryContext.next(QueryContext.java:398) > at org.basex.query.expr.List$1.next(List.java:119) > at org.basex.query.QueryContext.next(QueryContext.java:398) > at org.basex.query.scope.MainModule$1.next(MainModule.java:122) > at org.basex.query.QueryContext.next(QueryContext.java:398) > at org.basex.query.QueryContext.cache(QueryContext.java:620) > at org.basex.query.QueryProcessor.cache(QueryProcessor.java:112) > at org.basex.core.cmd.AQuery.query(AQuery.java:86) > at org.basex.core.cmd.XQuery.run(XQuery.java:22) > at org.basex.core.Command.run(Command.java:257) > at org.basex.core.Command.execute(Command.java:93) > at org.basex.gui.GUI.exec(GUI.java:430) > at org.basex.gui.GUI.lambda$4(GUI.java:373) > at java.lang.Thread.run(Thread.java:748) > > > -- > Jan Dölle > E-Mail: basex-list at id1.de Telefon +49-69-244502-0 Home: www.id1.de > > Information Design One AG, Baseler Straße 10, 60329 Frankfurt am Main > Registereintrag: Amtsgericht Frankfurt am Main, HRB 52596 > Vorstand: Robert Peters, Aufsichtsrat: Christian Hecht (Vorsitz) > >

⚡Generated with XQuery