Dear All,
I reproduced my issue in bookstore example...
I attach the files of bookstore example I changed (Adding a table in
dbforms-config, hsqldb added tables and a script).

I don't know if this is a problem of mine in using dbforms, but I think this
could be a bug because with the december release I haven't problems

------------- TO SEE THE BUG -----------------

REFER TO THE README.txt file enclosed
----------------------------------------------
file: test_ivansProblem25.jsp  page with the bug
file: dbforms-config.xml with new table added and with a change on book table
file: bookstore.* properties, data for hsqldb


I hope the list accepts attachments....

Regards
Ivan


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

Attachment: test_ivansProblem25.jsp
Description: Binary data

Possible bug in release 2.5

This example uses 3 nested subforms.

1. the main form that extracts via searchCombo one author

        2. the first subform gets the books for the selected author
        
                3. the second subform gets the sections for the book selected 
in point 2 for the author in point 1
                
                
Try to change 2/3 time the first searchCombo switching from one author to the 
other and you will see the "bug", if it is really a bug....


Probably (but I'm a newbie) the bug is in DbFormTag.java lines 1590... where I 
found this snippet with that comment:

         
         // if we just habe a search request we do not need any other
         // constraints
         FieldValue[] searchFieldValues = initSearchFieldValues();

         
         if (searchFieldValues != null) {
            mergedFieldValues = searchFieldValues;
         }



I hadn't this issue with the 29 December 2004 release.

Regards
Ivan
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- ATTENTION: New tables only at the end otherwise the junit tests will not run!!!!!  -->
<dbforms-config 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
    xsi:noNamespaceSchemaLocation="../../../../src/org/dbforms/resources/dbforms-config.xsd"
>
	    <table name="AUTHOR">
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="NAME" fieldType="varchar"  sortable="true"/>
	        <field name="ORGANISATION" fieldType="varchar"  sortable="true"/>
	    </table>    
	    
	    <table name="BOOK"   >
	        <field name="BOOK_ID" fieldType="int" isKey="true" />
	        <field name="ISBN" fieldType="varchar" />
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" />
	        <field name="TITLE" fieldType ="varchar" />

	    </table>   
	    
	    <table name="BOOKSECTION">
	        <field name="BOOK_ID" fieldType="int" isKey="true" />
    	    <field name="AUTHOR_ID" fieldType="int" isKey="true" />
    	    <field name="SECTION_ID" fieldType="int" isKey="true" />
	        <field name="AUTHOR_INTRODUCTION" fieldType="varchar"/>
	    </table>

		<query 	name="BOOKLISTPERAUTHOR" 
		  distinct="true"
		  from="BOOK LEFT JOIN AUTHOR ON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID"
		>
		  <field name="BOOK_ID" fieldType="int"	isKey="true" autoInc="true"/>
		  <field name="ISBN" fieldType="varchar"/>
		  <field name="TITLE" fieldType="varchar"/>
		  <calc name="ISBN_TITLE" fieldType="varchar" />
		  <calc name="ROW_NUM" fieldType="int" />
          <interceptor className = "interceptors.BookstoreCalcFieldAndSearchInterceptor"/>                
		  <search name="AUTHOR_ID" fieldType="int"  />
		</query>
            
        <query name="BOOK_QUERY" from="BOOK">
            <field name="BOOK_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="ISBN" fieldType="varchar" />
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" />
	        <field name="TITLE" fieldType="varchar" isKey="true" />
        </query> 

	    <query name="BOOKWITHINTERCEPTOR" from="BOOK">
	        <field name="BOOK_ID" fieldType="int" isKey="true"/>
	        <field name="ISBN" fieldType="varchar" />
	        <field name="AUTHOR_ID" fieldType="int" isKey="true"/>
	        <field name="TITLE" fieldType="varchar"/>
            <interceptor className = "interceptors.BookstoreWithInterceptorTest"/>                
	    </query>    
	    

	    <query name="AUTHOR_VIEW" from="AUTHOR" >
	    </query>
	    
	    <query 	name="BOOKSPERAUTHOR" 
		    	from="AUTHOR, BOOK"
		    	where="BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID" >
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="NAME" fieldType="varchar" />
	        <field name="ORGANISATION" fieldType="varchar" />
	        <field name="BOOK_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="ISBN" fieldType="varchar"/>
	        <field name="TITLE" fieldType="varchar"/>
	    </query>
	    
	    <table 
	    	name="XMLBOOKS"
		   dataAccessClass="org.dbforms.event.datalist.dao.DataSourceXML" 
		   alias="file:///$(SERVLETCONTEXT_REALPATH)/WEB-INF/db_xml/books.xml?/books/book"
	    >	
	        <field name="BOOK_ID" 
	        	fieldType="int" 
	        	isKey="true"
				expression="id"
	        />
	        <field 
	        	name="ISBN" 
	        	fieldType="varchar" 
				expression="isbn"
	        />
	        <field 
	        	name="AUTHOR_ID" 
	        	fieldType="int" 
				expression="author/authorid"
				isKey="true" 
	        />
	        <field 
	        	name="TITLE" 
	        	fieldType="varchar"
				expression="title"
	        />
	        <field 
	        	name="AUTHOR_NAME" 
	        	fieldType="varchar" 
				expression="author/name"
	        />
	        <field 
	        	name="AUTHOR_SURNAME" 
	        	fieldType="varchar" 
				expression="author/surname"
	        />
	    </table>

	    <table name="TIMEPLAN">
	        <field name="TIME" 	fieldType="DATE" isKey="true"/>
	        <field name="D" 	fieldType="DOUBLE" />
	        <field name="I"	 	fieldType="INTEGER" />
	        <field name="REMARK" 	fieldType="varchar" />
	    </table>    

		<query name="TIMEPLAN1" from="TIMEPLAN" />

		<table name="KEYTEST"
	        defaultVisibleFields="key1,key2,key3,key4" >
			<field name="KEY_1" fieldType="varchar" size="10" isKey="true"/>
			<field name="KEY_2" fieldType="varchar" size="10" isKey="true"/>
			<field name="KEY_3" fieldType="varchar" size="10" isKey="true"/>
			<field name="KEY_4" fieldType="int"               isKey="true"/>
		</table>

		<table name="BLOBTEST">
			<field name="NAME" fieldType="varchar" isKey="true" />
			<field 
				name="FILE" 
				fieldType="DISKBLOB"  
				directory="c:/tmp"
			    encoding="true"
			    size="1200"
			/>
            <interceptor className = "interceptors.BLOBTESTEventInterceptor"/>                
		</table>

        <query name="BOOK_QUERY_WHERE" 
			from="BOOK" 
			where="BOOK_ID=1"
		>
            <field name="BOOK_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="ISBN" fieldType="varchar" />
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" />
	        <field name="TITLE" fieldType="varchar" isKey="true" />
        </query> 

	    <query name="AUTHOR_CLASSIC" from="AUTHOR" >
	        <field name="AUTHOR_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="NAME" fieldType="varchar"  sortable="true"/>
	        <field name="ORGANISATION" fieldType="varchar"  sortable="true"/>
	        <events>
	            <event type="insert" 	id="insertClassic"/>
	            <event type="update" 	id="updateClassic"/>
	            <event type="delete" 	id="deleteClassic"/>
	            <event type="navGoto" 	id="navGotoClassic"/>
	            <event type="navPrev" 	id="navPrevClassic"/>
	            <event type="navNext" 	id="navNextClassic"/>
	            <event type="navFirst" 	id="navFirstClassic"/>
	            <event type="navLast" 	id="navLastClassic"/>
	        </events>
	    </query>    

	    <table name="LIBRARY">
	        <field name="LIBRARY_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="COMPANYNAME" fieldType="varchar"  sortable="true"/>
	    </table>    

	    <table name="CUSTOMER">
	        <field name="CUSTOMER_ID" fieldType="int" isKey="true" autoInc="true"/>
	        <field name="NAME" fieldType="varchar"  sortable="true"/>
	    </table>    

	    <table name="CUSTOMER_LIBRARY">
	        <field name="LIBRARY_ID" fieldType="int" isKey="true" />
	        <field name="CUSTOMER_ID" fieldType="int" isKey="true" />
	    </table>    
	    
	    <query 	name="BOOKCOUNT" 
		    	from="AUTHOR, BOOK"
		    	where="BOOK.AUTHOR_ID = AUTHOR.AUTHOR_ID" 
			  	groupBy="NAME" 
	    >
	       <field name="NAME" fieldType="char" />
    	   <field name="C" fieldType="integer" expression="count(ISBN)"/>
		</query>
	    
		<query 
			name="BLOBINTERCEPTORTEST" 
		    from="BLOBTEST" 
		>
			<field name="NAME" fieldType="varchar" isKey="true" />
			<field name="FILENAME" fieldType="varchar"  />
			<field name="FILEDATA" fieldType="BLOB"  />
            <interceptor className = "org.dbforms.event.BlobInterceptor">                
			   <param name="blob-column" value="FILEDATA"/>
			   <param name="name-column" value="FILENAME"/>
            </interceptor>
		</query>

	<!-- ========== event definition for classic data access =================================== -->
        <events>
            <database-events>
                <database-event id="insertClassic" type="insert" className="org.dbforms.event.classic.InsertEvent" /> 
                <database-event id="updateClassic" type="update" className="org.dbforms.event.classic.UpdateEvent" />
                <database-event id="deleteClassic" type="delete" className="org.dbforms.event.classic.DeleteEvent" />
            </database-events>
            <navigation-events>
                <navigation-event id="navGotoClassic" type="navGoto"   className="org.dbforms.event.classic.GotoEvent" />
                <navigation-event id="navPrevClassic" type="navPrev"   className="org.dbforms.event.classic.NavPrevEvent" />
                <navigation-event id="navNextClassic" type="navNext"   className="org.dbforms.event.classic.NavNextEvent" />
                <navigation-event id="navFirstClassic" type="navFirst" className="org.dbforms.event.classic.NavFirstEvent" />
                <navigation-event id="navLastClassic" type="navLast"   className="org.dbforms.event.classic.NavLastEvent" />
            </navigation-events>
        </events>


	<!-- ========== Connection =================================== -->
	    <dbconnection
		    isPow2		   			= "true"
		    connectionProviderClass = "org.dbforms.conprovider.SingleConnectionProvider"
			name      = "jdbc:hsqldb:$(SERVLETCONTEXT_REALPATH)/WEB-INF/db_hsqldb/bookstore"
			isJndi    = "false"
			conClass  = "org.hsqldb.jdbcDriver"
			username  = "sa"
			password  = ""
		/>

	    <dbconnection 
	    		id="asoexdb" 
			    isPow2		   			= "true"
			    connectionProviderClass = "org.dbforms.conprovider.SingleConnectionProvider"
				name   = "jdbc:hsqldb:$(SERVLETCONTEXT_REALPATH)/WEB-INF/db_hsqldb/bookstore"
				isJndi = "false"
				conClass  = "org.hsqldb.jdbcDriver"
				username = "sa"
				password  = ""
	    /> 

</dbforms-config>

Attachment: bookstore.properties
Description: Binary data

Attachment: bookstore.script
Description: Binary data

drop table book;
drop table author;
-- -----------------------------------------------------------------------
-- author
-- -----------------------------------------------------------------------
create table author
(
    author_id INTEGER NOT NULL IDENTITY ,
    name VARCHAR (50) NOT NULL ,
    organisation VARCHAR (50)
);
-- -----------------------------------------------------------------------
-- book
-- -----------------------------------------------------------------------
create table book
(
    book_id INTEGER NOT NULL IDENTITY,
    isbn VARCHAR (15) NOT NULL ,
    author_id INTEGER NOT NULL ,
    title VARCHAR (255) DEFAULT 'N/A' NOT NULL ,
    FOREIGN KEY (author_id)
    REFERENCES author (author_id)

);
CREATE INDEX book_isbn ON book (isbn);

CREATE TABLE TIMEPLAN 
(
   time TIMESTAMP PRIMARY KEY, 
   REMARK VARCHAR(255)
);

create table booksection
(
    book_id INTEGER NOT NULL,
    author_id INTEGER NOT NULL ,
    section_id INTEGER NOT NULL,
    author_introduction VARCHAR (255) DEFAULT 'N/A' NOT NULL ,
    FOREIGN KEY (author_id)
    REFERENCES author (author_id)

);


-- -----------------------------------------------------------------------
-- insert some data
-- -----------------------------------------------------------------------
INSERT INTO AUTHOR  (author_id, name, organisation) VALUES(1, 'Eco, Umberto','organisation 1');
INSERT INTO AUTHOR  (author_id, name, organisation) VALUES(2, 'uuuuuuDouglas, Adam','organisation 2');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(1, '3-423-12445-4',1,'Die Insel des vorigen Tages');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(2, '3-423-12445-5',1'Das Foucaltsche Pendel');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(3, '42-1',2,'uuuuuuHijacking through the Galaxy 1');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(4, '42-2',2,'Hijacking through the Galaxy 2');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(5, '42-3',2,'Hijacking through the Galaxy 3');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(6, '42-4',2,'Hijacking through the Galaxy 4');
INSERT INTO BOOK  (book_id, isbn, author_id, title) VALUES(7, '42-5',2,'Hijacking through the Galaxy 5');
INSERT INTO TIMEPLAN (time, remark) values ('2001-10-10', '1. Testvalue');
INSERT INTO TIMEPLAN (time, remark) values ('2001-10-11', '2. Testvalue');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(1,1,1,'My first introduction by Umberto Eco - in book 1 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(1,1,2,'My second introduction by Umberto Eco - in book 1 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(1,1,3,'My third introduction by Umberto Eco - in book 1 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(1,1,4,'My fourth introduction by Umberto Eco - in book 1 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(2,1,1,'My first introduction by Umberto Eco - in book 2 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(2,1,2,'My second introduction by Umberto Eco - in book 2 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(2,1,3,'My third introduction by Umberto Eco - in book 2 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(2,1,4,'My fourth introduction by Umberto Eco - in book 2 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(2,1,4,'My fifth introduction by Umberto Eco - in book 2 by author 1');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(3,1,1,'My first introduction by Adam Douglas - in book 3 by author 2');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(3,1,2,'My second introduction by Adam Douglas - in book 3 by author 2');
INSERT INTO BOOKSECTION (book_id, authord_id, section_id, author_introduction) VALUES(3,1,3,'My third introduction by Adam Douglas - in book 3 by author 2');

Reply via email to