Subject Re: RowSet Scrolling problem fixed
Author rfincher2000
Hi Roman,

Looks like that's the case. The error dump is below. The table has a
simple primary key and a varchar called FNAME.

The update string generated by Creator is:

UPDATE SIMPLENAME SET PKEY = ?, FNAME = ? WHERE ((? IS NULL AND PKEY
IS NULL) OR PKEY = ?) AND ((? IS NULL AND FNAME IS NULL) OR FNAME = ?)

at org.firebirdsql.gds.GDSException: Dynamic SQL Error
SQL error code = -804
Data type unknown
at
org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1817)
at
org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1770)
at
org.firebirdsql.jgds.GDS_Impl.isc_dsql_prepare(GDS_Impl.java:1268)
at
org.firebirdsql.jca.FBManagedConnection.prepareSQL(FBManagedConnection.java:860)
at
org.firebirdsql.jdbc.AbstractConnection.prepareSQL(AbstractConnection.java:1024)
at
org.firebirdsql.jdbc.AbstractStatement.prepareFixedStatement(AbstractStatement.java:1047)
at
org.firebirdsql.jdbc.AbstractPreparedStatement.prepareFixedStatement(AbstractPreparedStatement.java:1025)
at
org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:86)
at
org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
at
org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:709)
at
org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:244)
at
com.sun.jsfcl.data.RowSetDataModel.commit(RowSetDataModel.java:367)
at simpletest.Page1.button1_action(Page1.java:169)
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:324)
at
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
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:324)
at
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
at
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
at
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:236)
at
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
at
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:141)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:214)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:168)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:133)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:539)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
at
com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
at
com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
at
com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:114)



--- In Firebird-Java@yahoogroups.com, "Roman Rokytskyy"
<rrokytskyy@a...> wrote:
> Hi Rick,
>
> > The latest code in HEAD fixes the RowSet scrolling problem for some
> > reason. I don't have a clue why. Maybe it had something to do with
> > updatable ResultSets?
>
> Hmm... in theory it should not. I will check if I did not introduce some
> unwanted "functionality" into JayBird with updatable cursors.
>
> Today I have committed fix for auto-commit mode, so updatable result
sets
> seems to be fully implemented.
>
> > It no longer blows up if you try to scroll past the end of a RowSet or
> > before the first item in an updatable JSF DataTable in Creator.
>
> Nice.
>
> > Doing an update of a RowSet is getting much further now, but Creator
> > seems to be passing a bad parameter to FBPreparedStatement. I'm
> > getting an "Unknown Data Type" SQL error when it tries to update the
> > database.
>
> Please check the logs for isc_dsql_prepare_statement, the actual SQL
being
> prepared. This happens in Firebird when it has no idea about the
data type
> of the parameter (for example SELECT ? FROM rdb$database).
>
> Thanks!
> Roman