Bad patch file!!!! Bobby Mitchell wrote:
> > > Christian Haul wrote: > >> On 02.Jul.2002 -- 11:36 AM, Bobby Mitchell wrote: >> >>>>> While using Sybase I had to remove the <esql:parameter> begin and >>>>> end tags in order to actually edit the entry, otherwise I get an >>>>> sql error stating that "SELECT name, department_id FROM employee >>>>> WHERE id = ? " is an error. The id is being passed as a ? so it >>>>> causes an error. When using Hsqldb I made no changes to the code. >>>>> >>>>> >>> This behaviour is the same as before. Here is the error message: >>> >>> >>> org.apache.cocoon.ProcessingException: Exception in >>> ServerPagesGenerator.generate(): java.lang.RuntimeException: Error >>> executing statement: SELECT name, department_id FROM employee WHERE >>> id = ? : com.sybase.jdbc2.jdbc.SybSQLException: Implicit conversion >>> from datatype 'CHAR' to 'INT' is not allowed. Use the CONVERT >>> function to run this query. >>> >> >> Yep, error message says it all. The example is attempting to use a >> String to set an int column. It looks like HSQLDB is more forgiving in >> this. Change it to >> >> <esql:query> >> SELECT name, department_id FROM employee >> WHERE id = <esql:parameter >> type="int"><xsp:expr>Integer.parseInt(<xsp-request:get-parameter >> name="id" default="0"/>)</xsp:expr></esql:parameter> >> </esql:query> >> >> and convert the string explicitly to an integer. I've set a default of >> "0" in case the parameter is non-existent to prevent a NPE or >> NumberFormatException. >> It would be great if you could go through the tutorial and look for >> other, similar changes, that would be required to run it e.g. on >> sybase and file a bug in bugzilla with patches. >> >> Chris. > > > > I applied the changes and everything works fine. I am including a patch > file and I will also file a report on bugzilla. Thanks for the help. > > patch file for the directory cocoon/tutorial/docs: > ************************************************************************** > diff -Naur tutorial/docs/edit-dept.xsp tutorial/docs.sybase/edit-dept.xsp > --- tutorial/docs/edit-dept.xsp Tue Jul 9 09:50:57 2002 > +++ tutorial/docs.sybase/edit-dept.xsp Tue Jul 9 09:47:56 2002 > @@ -24,7 +24,7 @@ > <esql:execute-query> > <esql:query> > SELECT name FROM department > - WHERE id = <esql:parameter><xsp-request:get-parameter > name="id"/></esql:parameter> > + WHERE id = <esql:parameter > type="int"><xsp:expr>Integer.parseInt(<xsp-request:get-parameter > name="id" default="0"/>)</xsp:expr></esql:parameter> > </esql:query> > <esql:results> > <esql:row-results> > diff -Naur tutorial/docs/edit-empl.xsp tutorial/docs.sybase/edit-empl.xsp > --- tutorial/docs/edit-empl.xsp Tue Jul 9 09:50:57 2002 > +++ tutorial/docs.sybase/edit-empl.xsp Tue Jul 9 09:54:39 2002 > @@ -23,7 +23,7 @@ > <esql:execute-query> > <esql:query> > SELECT name, department_id FROM employee > - WHERE id = <esql:parameter><xsp-request:get-parameter > name="id"/></esql:parameter> > + WHERE id = <esql:parameter > type="int"><xsp:expr>Integer.parseInt(<xsp-request:get-parameter > name="id" default="0"/>)</xsp:expr></esql:parameter> > </esql:query> > <esql:results> > <esql:row-results> > *************************************************************************** Here's another: Cut and paste the following patch into a file. cd to the directory cocoon/tutorial and execute patch -p0 < patchfile *************************************************************************** diff -Naur docs/edit-dept.xsp docs.sybase/edit-dept.xsp --- docs/edit-dept.xsp Tue Jul 9 19:53:18 2002 +++ docs.sybase/edit-dept.xsp Tue Jul 9 19:50:37 2002 @@ -24,7 +24,7 @@ <esql:execute-query> <esql:query> SELECT name FROM department - WHERE id = <esql:parameter><xsp-request:get-parameter name="id"/></esql:parameter> + WHERE id = <esql:parameter type="int"><xsp:expr>Integer.parseInt(<xsp-request:get-parameter name="id" default="0"/>)</xsp:expr></esql:parameter> </esql:query> <esql:results> <esql:row-results> diff -Naur docs/edit-empl.xsp docs.sybase/edit-empl.xsp --- docs/edit-empl.xsp Tue Jul 9 19:53:18 2002 +++ docs.sybase/edit-empl.xsp Tue Jul 9 19:50:19 2002 @@ -23,7 +23,7 @@ <esql:execute-query> <esql:query> SELECT name, department_id FROM employee - WHERE id = <esql:parameter><xsp-request:get-parameter name="id"/></esql:parameter> + WHERE id = <esql:parameter type="int"><xsp:expr>Integer.parseInt(<xsp-request:get-parameter name="id" default="0"/>)</xsp:expr></esql:parameter> </esql:query> <esql:results> <esql:row-results> *************************************************************************** > > >> >> Please follow up summarizing your problem and which suggested solution >> / information worked for you when you consider your problem >> solved. Add "SUMMARY: " to the subject line. This will make FAQ >> generation and searching the list easier. In addition, it makes >> helping you more fun. Thank you. >> >> > > -- Robert J. (Bobby) Mitchell Systems Administrator NASA Institute for Advanced Concepts 555A 14th St Atlanta, Ga. 30318 Phone: (404)347-9633 Fax: (404)347-9638 --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>