<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>empire-db-dev@incubator.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/"/>
<id>http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/</id>
<updated>2009-12-06T02:27:23Z</updated>
<entry>
<title>Re: addColumn() but no addTable()</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c4B1AF4BC.40008@web.de%3e"/>
<id>urn:uuid:%3c4B1AF4BC-40008@web-de%3e</id>
<updated>2009-12-06T00:03:08Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi there,

so currently there are two main issues:
    - relations
    - handling database specific things

i'll have a look on the relations soon, as i don't know where to start 
with handling the database specific things.

@ Francis:
 &gt;&gt;I think it might be usefull to have addTable() on a DBDatabase. This 
makes everything a bit more consistent in my eyes.

DBDatabase already has "addTable()" but by adding "addTable(String 
table)" it would really be more consistent.

@ Rainer:
I agree to remove the static accessor in the in the generated database, 
thus we make it a normal class instead of a singleton.
And about the two generic methods on the generated database class i'm 
not sure what to do.

Splitting the codegen into a writer and a parser almost only using 
DBDatabase objects was pretty straight forward. The only problem was 
that they don't cover accessor/mutator names but that could be solved 
with a additional ParserUtil class. Gladly it was even easier to 
implement the nested column classes :).

best regard
    benjamin


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Code generator</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3cB297D4737108A0459B66C3A85BB7F90114771A@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F90114771A@kn-esteam-de%3e</id>
<updated>2009-12-05T10:04:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Francis De Brabandere wrote:
&gt; Re: Code generator
&gt; 
&gt; Hi all,
&gt; 
&gt; I have been testing with MySQL and the only problem I found was that
&gt; MySQL is case-sensitive. So I had to remove all to uppercase calls.
&gt; 
&gt; And something else. For my part Benjamin has proven his commitment to
&gt; the project. Maybe we can start a vote to let him in?
&gt;

+1

(sorry for not being able to contribute at the moment. Does anyone know how I can clone myself?)

Regards
Rainer
 
&gt; Cheers,
&gt; Francis
&gt; 
&gt; On Sat, Nov 28, 2009 at 11:35 PM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; wrote:
&gt; &gt; Hi folks,
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; finally I have found some time to look at the code generator.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; This time I decided to test with Microsoft SQL Server and I ran
&gt; straight into a problem:
&gt; &gt;
&gt; &gt; Unlike the Oracle driver I had before, I had to supply the schema
&gt; name with the catalog parameter of DatabaseMetaData.getTables().
&gt; &gt;
&gt; &gt; Otherwise it wouldn't find the tables.
&gt; &gt;
&gt; &gt; Looks like DatabaseMetaData.getTables() behaves very database
&gt; specific.
&gt; &gt;
&gt; &gt; Any idea how we can improve this?
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; Another issue is that the driver may create a sequence table to
&gt; handle sequences.
&gt; &gt;
&gt; &gt; There should be a way to ignore this sequence table.
&gt; &gt;
&gt; &gt; I also had a problem with some character case issues on the column
&gt; name.
&gt; &gt;
&gt; &gt; This should work now.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; Apart from that the general class layout looks good.
&gt; &gt;
&gt; &gt; I only felt the desire to rename the CodeGen class to CodeGenWriter.
&gt; &gt;
&gt; &gt; IMO this makes more sense. Hope nobody minds.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; The most important thing missing are the relations.
&gt; &gt;
&gt; &gt; I think they should be added next.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; And I found that we should remove a few things from the generated
&gt; database class.
&gt; &gt;
&gt; &gt; The two generic methods are not specific to the database supplied an
&gt; could go directly in DBDatabase.
&gt; &gt;
&gt; &gt; I am however not sure, whether I really recommend to work this way.
&gt; &gt;
&gt; &gt; This is more like traditional ORM's handle it and it breaks our
&gt; paradigm - although it is not wrong.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; And the static accessor should go as well. We cannot decide whether
&gt; someone wants one or multiple instances and how they should be
&gt; accessed.
&gt; &gt;
&gt; &gt; It is even likely that someone wants to derived a class from the
&gt; generated database class in order to be able to generate the classes
&gt; again without loosing his modifications.
&gt; &gt;
&gt; &gt; So if nobody objects I will remove this the next time.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; Long time since we have last heard anything of Thomas Poling.
&gt; &gt;
&gt; &gt; Maybe he has still not subscribed to empire-db-dev that why I put him
&gt; on CC.
&gt; &gt;
&gt; &gt; Thomas if you read this - give us a sign.
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; Benjamin IMO you have done a good job so far.
&gt; &gt;
&gt; &gt; I was surprised that splitting the process up in a parser and a
&gt; writer by only using a DBDatabase object has not been more difficult
&gt; (or was it?).
&gt; &gt;
&gt; &gt; And thanks Francis for checking everything in and fixing those
&gt; "findbugs".
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; So how about doing the relations next?
&gt; &gt;
&gt; &gt; Benjamin are you up for that?
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt; Regards
&gt; &gt;
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; &gt;
&gt; 
&gt; 
&gt; 
&gt; --
&gt; http://www.somatik.be
&gt; Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Code generator</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c3ab983230912032331r644b3464t51cee2a29c52c6f4@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230912032331r644b3464t51cee2a29c52c6f4@mail-gmail-com%3e</id>
<updated>2009-12-04T07:31:09Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi all,

I have been testing with MySQL and the only problem I found was that
MySQL is case-sensitive. So I had to remove all to uppercase calls.

And something else. For my part Benjamin has proven his commitment to
the project. Maybe we can start a vote to let him in?

Cheers,
Francis

On Sat, Nov 28, 2009 at 11:35 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; Hi folks,
&gt;
&gt;
&gt;
&gt; finally I have found some time to look at the code generator.
&gt;
&gt;
&gt;
&gt; This time I decided to test with Microsoft SQL Server and I ran straight into a problem:
&gt;
&gt; Unlike the Oracle driver I had before, I had to supply the schema name with the catalog
parameter of DatabaseMetaData.getTables().
&gt;
&gt; Otherwise it wouldn't find the tables.
&gt;
&gt; Looks like DatabaseMetaData.getTables() behaves very database specific.
&gt;
&gt; Any idea how we can improve this?
&gt;
&gt;
&gt;
&gt; Another issue is that the driver may create a sequence table to handle sequences.
&gt;
&gt; There should be a way to ignore this sequence table.
&gt;
&gt; I also had a problem with some character case issues on the column name.
&gt;
&gt; This should work now.
&gt;
&gt;
&gt;
&gt; Apart from that the general class layout looks good.
&gt;
&gt; I only felt the desire to rename the CodeGen class to CodeGenWriter.
&gt;
&gt; IMO this makes more sense. Hope nobody minds.
&gt;
&gt;
&gt;
&gt; The most important thing missing are the relations.
&gt;
&gt; I think they should be added next.
&gt;
&gt;
&gt;
&gt; And I found that we should remove a few things from the generated database class.
&gt;
&gt; The two generic methods are not specific to the database supplied an could go directly
in DBDatabase.
&gt;
&gt; I am however not sure, whether I really recommend to work this way.
&gt;
&gt; This is more like traditional ORM's handle it and it breaks our paradigm - although it
is not wrong.
&gt;
&gt;
&gt;
&gt; And the static accessor should go as well. We cannot decide whether someone wants one
or multiple instances and how they should be accessed.
&gt;
&gt; It is even likely that someone wants to derived a class from the generated database class
in order to be able to generate the classes again without loosing his modifications.
&gt;
&gt; So if nobody objects I will remove this the next time.
&gt;
&gt;
&gt;
&gt; Long time since we have last heard anything of Thomas Poling.
&gt;
&gt; Maybe he has still not subscribed to empire-db-dev that why I put him on CC.
&gt;
&gt; Thomas if you read this - give us a sign.
&gt;
&gt;
&gt;
&gt; Benjamin IMO you have done a good job so far.
&gt;
&gt; I was surprised that splitting the process up in a parser and a writer by only using
a DBDatabase object has not been more difficult (or was it?).
&gt;
&gt; And thanks Francis for checking everything in and fixing those "findbugs".
&gt;
&gt;
&gt;
&gt; So how about doing the relations next?
&gt;
&gt; Benjamin are you up for that?
&gt;
&gt;
&gt;
&gt; Regards
&gt;
&gt; Rainer
&gt;
&gt;
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>addColumn() but no addTable()</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c3ab983230912031519w42e553e7r906cc84053cf8686@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230912031519w42e553e7r906cc84053cf8686@mail-gmail-com%3e</id>
<updated>2009-12-03T23:19:09Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
DBTable has a addColumn method that does nothing more than calling the
constructor of the column. I think it might be usefull to have
addTable() on a DBDatabase. This makes everything a bit more
consistent in my eyes.

What do you guys think?

-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Empire-db code generator | 4th patch - nested table classes</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c3ab983230912031311v71abfd1fi70d12e2e7567bbe8@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230912031311v71abfd1fi70d12e2e7567bbe8@mail-gmail-com%3e</id>
<updated>2009-12-03T21:11:22Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I'll take care of this one

On Wed, Dec 2, 2009 at 12:32 AM, Benjamin Venditti &lt;benniven@web.de&gt; wrote:
&gt; Hi there,
&gt;
&gt; I have uploaded a small patch that adds the functionality for creating
&gt; nested table classes within the database class, instead of creating separate
&gt; table class files.
&gt;
&gt; The patch contains the following changes:
&gt; modifications:
&gt;  - CodeGenWriter.java
&gt;  - Database.vm
&gt;  - Table.vm
&gt;
&gt; Regards
&gt;  Benjamin
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Empire-db code generator | 4th patch - nested table classes</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c4B15A788.4030805@web.de%3e"/>
<id>urn:uuid:%3c4B15A788-4030805@web-de%3e</id>
<updated>2009-12-01T23:32:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi there,

I have uploaded a small patch that adds the functionality for creating 
nested table classes within the database class, instead of creating 
separate table class files.

The patch contains the following changes:
 modifications:
  - CodeGenWriter.java
  - Database.vm
  - Table.vm

Regards
   Benjamin



</pre>
</div>
</content>
</entry>
<entry>
<title>re: Limit Query Results inside DBCommand</title>
<author><name>Amin Abbaspour &lt;abbaspour_amin@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200912.mbox/%3c481084.30782.qm@web50608.mail.re2.yahoo.com%3e"/>
<id>urn:uuid:%3c481084-30782-qm@web50608-mail-re2-yahoo-com%3e</id>
<updated>2009-12-01T12:56:39Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi,

&gt; first I want to welcome your offer to contibute.
&gt; Contribution is always welcome and we're happy to check and
&gt; accept any improvement that brings the project forward.
&gt; Before you start we should talk abut what exactly we want
&gt; to do.
Thanks.

&gt; 1. I have not spend any time investigating myself but what
&gt; makes you so sure that the JDBC-driver will not transmit the
&gt; value supplied by setMaxRows() to the database just like if
&gt; it is specified in the phrase?

Well, theoretically, JDBC can do this, but I have not seen this happen at least with the drivers
I have used before. In fact I have never seen driver to perform self-decided modifications
to SQL query which program supplies.

&gt; 2. If there is a difference, is it worth supporting both
&gt; i.e. limit in the phrase and the limiting the rows using
&gt; setMaxRows() and why whould that make sense?

Yes, I think if we set limit inside Query, we can also setMaxRows(). Seems logical.

&gt; 3. As far as the SQL Phase is concerned we have a solution
&gt; for MySQL. But SQLServer and Oracle (through a rownum
&gt; constraint) AFAIK only support a limit but no offset. Which
&gt; databases do you know support a limit and which support an
&gt; offset in the sql phrase. Please also let us know how? 

Based on SQLAlchemy I can say that MySQL, MSSQL (2005+), PostgreSQL and SQLite support both
LIMIT and OFFSET. Only Oracle has no OFFSET support but seems that it can be simulated with
'ROW NUMBER OVER...' construct.

I will try to make the required change but as I get more acquainted with your code, I see
that current inheritance based design is not much capable of handing so much diversity and
maybe in future there is a need to overhaul in favor of a design similar to dialect in SQLAlchemy's
or Hibernate/JPA.

Regards,
Amin

--- On Mon, 11/30/09, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:

&gt; From: Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; Subject: re: Limit Query Results inside DBCommand
&gt; To: empire-db-dev@incubator.apache.org
&gt; Date: Monday, November 30, 2009, 7:06 PM
&gt; Hi Amin,
&gt; 
&gt; first I want to welcome your offer to contibute.
&gt; Contribution is always welcome and we're happy to check and
&gt; accept any improvement that brings the project forward.
&gt; Before you start we should talk abut what exactly we want
&gt; to do.
&gt; 
&gt; You seem to be really expericend with this problem.
&gt; But I still have a few questions:
&gt; 
&gt; 1. I have not spend any time investigating myself but what
&gt; makes you so sure that the JDBC-driver will not transmit the
&gt; value supplied by setMaxRows() to the database just like if
&gt; it is specified in the phrase?
&gt; 
&gt; 2. If there is a difference, is it worth supporting both
&gt; i.e. limit in the phrase and the limiting the rows using
&gt; setMaxRows() and why whould that make sense?
&gt; 
&gt; 3. Als far as the SQL Phase is concerned we have a solution
&gt; for MySQL. But SQLServer and Oracle (through a rownum
&gt; constraint) AFAIK only support a limit but no offset. Which
&gt; databases do you know support a limit and which support an
&gt; offset in the sql phrase. Please also let us know how? 
&gt; 
&gt; Regards
&gt; Rainer
&gt; 
&gt; 
&gt; Amin Abbaspour wrote:
&gt; &gt; re: Limit Query Results inside DBCommand
&gt; &gt; 
&gt; &gt; Dear Rainer,
&gt; &gt; 
&gt; &gt; JDBC setMaxRows is not equivalent to SQL LIMIT from
&gt; the database's
&gt; &gt; point of view. setMaxRows sets the max number of rows
&gt; ResultSet can
&gt; &gt; contain and AFAIK ResultSet ignores the results more
&gt; that that limit,
&gt; &gt; while SQL LIMIT informs database engine about the
&gt; count of the rows
&gt; &gt; client wants hence engine does not perform more work
&gt; as soon as it gets
&gt; &gt; to requested number of rows.
&gt; &gt; 
&gt; &gt; As Francis mentioned, pagination is important too.
&gt; This is particularly
&gt; &gt; useful when we have paged view (e.g. LOV pattern).
&gt; &gt; 
&gt; &gt; Besides limit and pagination which is occasionally
&gt; required based on
&gt; &gt; application logic, limiting has tangible performance
&gt; results in some
&gt; &gt; databases engines such as DB2, hence its always said
&gt; that one would
&gt; &gt; better append a 'FETCH FIRST n ROWS ONLY' if he is
&gt; sure his query has a
&gt; &gt; clause that will return only N row(s).
&gt; &gt; 
&gt; &gt; I personally don't see much problem in implementing
&gt; this. If you want,
&gt; &gt; I can do it and sent diff files.
&gt; &gt; 
&gt; &gt; BTW I also want to add some LOCKING feature to
&gt; SQLServer SELECT but
&gt; &gt; would like to know your point of view to see how to
&gt; implement that we
&gt; &gt; both preserver polymorphism/OOP and database specific
&gt; features.
&gt; &gt; 
&gt; &gt; Regards,
&gt; &gt; Amin
&gt; &gt; 
&gt; &gt; --- On Sun, 11/29/09, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; wrote:
&gt; &gt; 
&gt; &gt; &gt; From: Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; &gt; &gt; Subject: re: Limit Query Results inside
&gt; DBCommand
&gt; &gt; &gt; To: empire-db-dev@incubator.apache.org
&gt; &gt; &gt; Date: Sunday, November 29, 2009, 11:47 PM
&gt; &gt; &gt; Francis De Brabandere wrote:
&gt; &gt; &gt; &gt; Re: Limit Query Results inside DBCommand
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; you might also want to implement paging,
&gt; added a
&gt; &gt; &gt; comment tot the issue
&gt; &gt; &gt;
&gt; &gt; &gt; Not sure whether we should to do this.
&gt; &gt; &gt; If we solve it using the setMaxRows() on the
&gt; statement,
&gt; &gt; &gt; which is what I prefer, then there does not seem
&gt; to be a way
&gt; &gt; &gt; to specify an offset.
&gt; &gt; &gt;
&gt; &gt; &gt; At the moment I cannot see a solution for the
&gt; paging that
&gt; &gt; &gt; will work for all databases.
&gt; &gt; &gt; If this is a special feature of MySql then we can
&gt; provide
&gt; &gt; &gt; it as a particular extension for MySql (just like
&gt; the
&gt; &gt; &gt; connectByPrior that we support for Oracle).
&gt; &gt; &gt;
&gt; &gt; &gt; Rainer
&gt; &gt; &gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; On Sun, Nov 29, 2009 at 1:25 PM, Rainer
&gt; Döbele &lt;doebele@esteam.de&gt;
&gt; &gt; &gt; &gt; wrote:
&gt; &gt; &gt; &gt; &gt; Hi Amin,
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; unfortunately I must confess that we
&gt; currently
&gt; &gt; &gt; don't have the ability
&gt; &gt; &gt; &gt; to limit the number of rows returned.
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; This shows how different people work
&gt; with
&gt; &gt; &gt; databases.
&gt; &gt; &gt; &gt; &gt; In my many years of database
&gt; programming I have
&gt; &gt; &gt; never really felt the
&gt; &gt; &gt; &gt; need for it since I always found a
&gt; constraint to work
&gt; &gt; &gt; with.
&gt; &gt; &gt; &gt; &gt; I only sometimes use it for interactive
&gt; queries
&gt; &gt; &gt; to the database.
&gt; &gt; &gt; &gt; &gt; But you are right, this is a thing we
&gt; definitely
&gt; &gt; &gt; have to add.
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; I have created a JIRA issue for that
&gt; and I will
&gt; &gt; &gt; implement that ASAP.
&gt; &gt; &gt; &gt; &gt; Unfortunately this feature is handled
&gt; differently
&gt; &gt; &gt; by each database.
&gt; &gt; &gt; &gt; &gt; e.g.
&gt; &gt; &gt; &gt; &gt; SQL Server:
&gt; &gt; &gt; &gt; &gt; SELECT TOP 10 id, name, ...
&gt; &gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; MySQL:
&gt; &gt; &gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt; &gt; LIMIT 10
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; ORACLE:
&gt; &gt; &gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt; &gt; WHERE ROWNUM &lt;= 10
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; Another option is to use setMaxRows()
&gt; before
&gt; &gt; &gt; executing the statement.
&gt; &gt; &gt; &gt; &gt; This looks like a better idea to me
&gt; since the
&gt; &gt; &gt; JDBC driver can handle
&gt; &gt; &gt; &gt; it.
&gt; &gt; &gt; &gt; &gt; Does anyone know if this is really
&gt; equivalent?
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; Rainer
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; &gt; Amin Abbaspour wrote:
&gt; &gt; &gt; &gt; &gt;&gt; re: Limit Query Results inside
&gt; DBCommand
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt; Hello to everyone,
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt; This is my first email in
&gt; empire-db's users
&gt; &gt; &gt; list :)
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt; One small question; How can I limit
&gt; the
&gt; &gt; &gt; number of rows returned in
&gt; &gt; &gt; &gt; &gt;&gt; select statements (i.e. SELECT ....
&gt; LIMIT x,
&gt; &gt; &gt; or SELECT TOP x ...)?
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt; Right now I do this manually by
&gt; appending a
&gt; &gt; &gt; "LIMIT x" to my query's
&gt; &gt; &gt; &gt; &gt;&gt; string but this is such a frequent
&gt; &gt; &gt; requirement that I am pretty sure
&gt; &gt; &gt; &gt; &gt;&gt; this is implemented but I failed to
&gt; find it.
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt; Regards,
&gt; &gt; &gt; &gt; &gt;&gt; Amin Abbaspour
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; --
&gt; &gt; &gt; &gt; http://www.somatik.be
&gt; &gt; &gt; &gt; Microsoft gives you windows, Linux gives you
&gt; the whole
&gt; &gt; &gt; house.
&gt; &gt; &gt;
&gt; &gt; 
&gt; &gt; 
&gt; &gt; 
&gt; 


      


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Limit Query Results inside DBCommand</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F901147699@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147699@kn-esteam-de%3e</id>
<updated>2009-11-30T18:06:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Amin,

first I want to welcome your offer to contibute.
Contribution is always welcome and we're happy to check and accept any improvement that brings
the project forward.
Before you start we should talk abut what exactly we want to do.

You seem to be really expericend with this problem.
But I still have a few questions:

1. I have not spend any time investigating myself but what makes you so sure that the JDBC-driver
will not transmit the value supplied by setMaxRows() to the database just like if it is specified
in the phrase?

2. If there is a difference, is it worth supporting both i.e. limit in the phrase and the
limiting the rows using setMaxRows() and why whould that make sense?

3. Als far as the SQL Phase is concerned we have a solution for MySQL. But SQLServer and Oracle
(through a rownum constraint) AFAIK only support a limit but no offset. Which databases do
you know support a limit and which support an offset in the sql phrase. Please also let us
know how? 

Regards
Rainer


Amin Abbaspour wrote:
&gt; re: Limit Query Results inside DBCommand
&gt; 
&gt; Dear Rainer,
&gt; 
&gt; JDBC setMaxRows is not equivalent to SQL LIMIT from the database's
&gt; point of view. setMaxRows sets the max number of rows ResultSet can
&gt; contain and AFAIK ResultSet ignores the results more that that limit,
&gt; while SQL LIMIT informs database engine about the count of the rows
&gt; client wants hence engine does not perform more work as soon as it gets
&gt; to requested number of rows.
&gt; 
&gt; As Francis mentioned, pagination is important too. This is particularly
&gt; useful when we have paged view (e.g. LOV pattern).
&gt; 
&gt; Besides limit and pagination which is occasionally required based on
&gt; application logic, limiting has tangible performance results in some
&gt; databases engines such as DB2, hence its always said that one would
&gt; better append a 'FETCH FIRST n ROWS ONLY' if he is sure his query has a
&gt; clause that will return only N row(s).
&gt; 
&gt; I personally don't see much problem in implementing this. If you want,
&gt; I can do it and sent diff files.
&gt; 
&gt; BTW I also want to add some LOCKING feature to SQLServer SELECT but
&gt; would like to know your point of view to see how to implement that we
&gt; both preserver polymorphism/OOP and database specific features.
&gt; 
&gt; Regards,
&gt; Amin
&gt; 
&gt; --- On Sun, 11/29/09, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; 
&gt; &gt; From: Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; &gt; Subject: re: Limit Query Results inside DBCommand
&gt; &gt; To: empire-db-dev@incubator.apache.org
&gt; &gt; Date: Sunday, November 29, 2009, 11:47 PM
&gt; &gt; Francis De Brabandere wrote:
&gt; &gt; &gt; Re: Limit Query Results inside DBCommand
&gt; &gt; &gt;
&gt; &gt; &gt; you might also want to implement paging, added a
&gt; &gt; comment tot the issue
&gt; &gt;
&gt; &gt; Not sure whether we should to do this.
&gt; &gt; If we solve it using the setMaxRows() on the statement,
&gt; &gt; which is what I prefer, then there does not seem to be a way
&gt; &gt; to specify an offset.
&gt; &gt;
&gt; &gt; At the moment I cannot see a solution for the paging that
&gt; &gt; will work for all databases.
&gt; &gt; If this is a special feature of MySql then we can provide
&gt; &gt; it as a particular extension for MySql (just like the
&gt; &gt; connectByPrior that we support for Oracle).
&gt; &gt;
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt; On Sun, Nov 29, 2009 at 1:25 PM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; &gt; &gt; wrote:
&gt; &gt; &gt; &gt; Hi Amin,
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; unfortunately I must confess that we currently
&gt; &gt; don't have the ability
&gt; &gt; &gt; to limit the number of rows returned.
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; This shows how different people work with
&gt; &gt; databases.
&gt; &gt; &gt; &gt; In my many years of database programming I have
&gt; &gt; never really felt the
&gt; &gt; &gt; need for it since I always found a constraint to work
&gt; &gt; with.
&gt; &gt; &gt; &gt; I only sometimes use it for interactive queries
&gt; &gt; to the database.
&gt; &gt; &gt; &gt; But you are right, this is a thing we definitely
&gt; &gt; have to add.
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; I have created a JIRA issue for that and I will
&gt; &gt; implement that ASAP.
&gt; &gt; &gt; &gt; Unfortunately this feature is handled differently
&gt; &gt; by each database.
&gt; &gt; &gt; &gt; e.g.
&gt; &gt; &gt; &gt; SQL Server:
&gt; &gt; &gt; &gt; SELECT TOP 10 id, name, ...
&gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; MySQL:
&gt; &gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt; LIMIT 10
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; ORACLE:
&gt; &gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; &gt; WHERE ROWNUM &lt;= 10
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; Another option is to use setMaxRows() before
&gt; &gt; executing the statement.
&gt; &gt; &gt; &gt; This looks like a better idea to me since the
&gt; &gt; JDBC driver can handle
&gt; &gt; &gt; it.
&gt; &gt; &gt; &gt; Does anyone know if this is really equivalent?
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; Rainer
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; Amin Abbaspour wrote:
&gt; &gt; &gt; &gt;&gt; re: Limit Query Results inside DBCommand
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt; Hello to everyone,
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt; This is my first email in empire-db's users
&gt; &gt; list :)
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt; One small question; How can I limit the
&gt; &gt; number of rows returned in
&gt; &gt; &gt; &gt;&gt; select statements (i.e. SELECT .... LIMIT x,
&gt; &gt; or SELECT TOP x ...)?
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt; Right now I do this manually by appending a
&gt; &gt; "LIMIT x" to my query's
&gt; &gt; &gt; &gt;&gt; string but this is such a frequent
&gt; &gt; requirement that I am pretty sure
&gt; &gt; &gt; &gt;&gt; this is implemented but I failed to find it.
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt; Regards,
&gt; &gt; &gt; &gt;&gt; Amin Abbaspour
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;&gt;
&gt; &gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt; --
&gt; &gt; &gt; http://www.somatik.be
&gt; &gt; &gt; Microsoft gives you windows, Linux gives you the whole
&gt; &gt; house.
&gt; &gt;
&gt; 
&gt; 
&gt; 


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Limit Query Results inside DBCommand</title>
<author><name>Amin Abbaspour &lt;abbaspour_amin@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c677874.35138.qm@web50602.mail.re2.yahoo.com%3e"/>
<id>urn:uuid:%3c677874-35138-qm@web50602-mail-re2-yahoo-com%3e</id>
<updated>2009-11-30T08:03:20Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Dear Rainer,

JDBC setMaxRows is not equivalent to SQL LIMIT from the database's point of view. setMaxRows
sets the max number of rows ResultSet can contain and AFAIK ResultSet ignores the results
more that that limit, while SQL LIMIT informs database engine about the count of the rows
client wants hence engine does not perform more work as soon as it gets to requested number
of rows.

As Francis mentioned, pagination is important too. This is particularly useful when we have
paged view (e.g. LOV pattern).

Besides limit and pagination which is occasionally required based on application logic, limiting
has tangible performance results in some databases engines such as DB2, hence its always said
that one would better append a 'FETCH FIRST n ROWS ONLY' if he is sure his query has a clause
that will return only N row(s).

I personally don't see much problem in implementing this. If you want, I can do it and sent
diff files.

BTW I also want to add some LOCKING feature to SQLServer SELECT but would like to know your
point of view to see how to implement that we both preserver polymorphism/OOP and database
specific features. 

Regards,
Amin

--- On Sun, 11/29/09, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:

&gt; From: Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; Subject: re: Limit Query Results inside DBCommand
&gt; To: empire-db-dev@incubator.apache.org
&gt; Date: Sunday, November 29, 2009, 11:47 PM
&gt; Francis De Brabandere wrote:
&gt; &gt; Re: Limit Query Results inside DBCommand
&gt; &gt; 
&gt; &gt; you might also want to implement paging, added a
&gt; comment tot the issue
&gt; 
&gt; Not sure whether we should to do this.
&gt; If we solve it using the setMaxRows() on the statement,
&gt; which is what I prefer, then there does not seem to be a way
&gt; to specify an offset.
&gt; 
&gt; At the moment I cannot see a solution for the paging that
&gt; will work for all databases.
&gt; If this is a special feature of MySql then we can provide
&gt; it as a particular extension for MySql (just like the
&gt; connectByPrior that we support for Oracle).
&gt; 
&gt; Rainer
&gt; 
&gt; &gt; 
&gt; &gt; On Sun, Nov 29, 2009 at 1:25 PM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; &gt; wrote:
&gt; &gt; &gt; Hi Amin,
&gt; &gt; &gt;
&gt; &gt; &gt; unfortunately I must confess that we currently
&gt; don't have the ability
&gt; &gt; to limit the number of rows returned.
&gt; &gt; &gt;
&gt; &gt; &gt; This shows how different people work with
&gt; databases.
&gt; &gt; &gt; In my many years of database programming I have
&gt; never really felt the
&gt; &gt; need for it since I always found a constraint to work
&gt; with.
&gt; &gt; &gt; I only sometimes use it for interactive queries
&gt; to the database.
&gt; &gt; &gt; But you are right, this is a thing we definitely
&gt; have to add.
&gt; &gt; &gt;
&gt; &gt; &gt; I have created a JIRA issue for that and I will
&gt; implement that ASAP.
&gt; &gt; &gt; Unfortunately this feature is handled differently
&gt; by each database.
&gt; &gt; &gt; e.g.
&gt; &gt; &gt; SQL Server:
&gt; &gt; &gt; SELECT TOP 10 id, name, ...
&gt; &gt; &gt; FROM contacts
&gt; &gt; &gt;
&gt; &gt; &gt; MySQL:
&gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; LIMIT 10
&gt; &gt; &gt;
&gt; &gt; &gt; ORACLE:
&gt; &gt; &gt; SELECT id, name, ...
&gt; &gt; &gt; FROM contacts
&gt; &gt; &gt; WHERE ROWNUM &lt;= 10
&gt; &gt; &gt;
&gt; &gt; &gt; Another option is to use setMaxRows() before
&gt; executing the statement.
&gt; &gt; &gt; This looks like a better idea to me since the
&gt; JDBC driver can handle
&gt; &gt; it.
&gt; &gt; &gt; Does anyone know if this is really equivalent?
&gt; &gt; &gt;
&gt; &gt; &gt; Rainer
&gt; &gt; &gt;
&gt; &gt; &gt;
&gt; &gt; &gt; Amin Abbaspour wrote:
&gt; &gt; &gt;&gt; re: Limit Query Results inside DBCommand
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt; Hello to everyone,
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt; This is my first email in empire-db's users
&gt; list :)
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt; One small question; How can I limit the
&gt; number of rows returned in
&gt; &gt; &gt;&gt; select statements (i.e. SELECT .... LIMIT x,
&gt; or SELECT TOP x ...)?
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt; Right now I do this manually by appending a
&gt; "LIMIT x" to my query's
&gt; &gt; &gt;&gt; string but this is such a frequent
&gt; requirement that I am pretty sure
&gt; &gt; &gt;&gt; this is implemented but I failed to find it.
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt; Regards,
&gt; &gt; &gt;&gt; Amin Abbaspour
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;&gt;
&gt; &gt; &gt;
&gt; &gt; 
&gt; &gt; 
&gt; &gt; 
&gt; &gt; --
&gt; &gt; http://www.somatik.be
&gt; &gt; Microsoft gives you windows, Linux gives you the whole
&gt; house.
&gt; 


      


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Limit Query Results inside DBCommand</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F90114767A@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F90114767A@kn-esteam-de%3e</id>
<updated>2009-11-29T22:47:41Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Francis De Brabandere wrote:
&gt; Re: Limit Query Results inside DBCommand
&gt; 
&gt; you might also want to implement paging, added a comment tot the issue

Not sure whether we should to do this.
If we solve it using the setMaxRows() on the statement, which is what I prefer, then there
does not seem to be a way to specify an offset.

At the moment I cannot see a solution for the paging that will work for all databases.
If this is a special feature of MySql then we can provide it as a particular extension for
MySql (just like the connectByPrior that we support for Oracle).

Rainer

&gt; 
&gt; On Sun, Nov 29, 2009 at 1:25 PM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; wrote:
&gt; &gt; Hi Amin,
&gt; &gt;
&gt; &gt; unfortunately I must confess that we currently don't have the ability
&gt; to limit the number of rows returned.
&gt; &gt;
&gt; &gt; This shows how different people work with databases.
&gt; &gt; In my many years of database programming I have never really felt the
&gt; need for it since I always found a constraint to work with.
&gt; &gt; I only sometimes use it for interactive queries to the database.
&gt; &gt; But you are right, this is a thing we definitely have to add.
&gt; &gt;
&gt; &gt; I have created a JIRA issue for that and I will implement that ASAP.
&gt; &gt; Unfortunately this feature is handled differently by each database.
&gt; &gt; e.g.
&gt; &gt; SQL Server:
&gt; &gt; SELECT TOP 10 id, name, ...
&gt; &gt; FROM contacts
&gt; &gt;
&gt; &gt; MySQL:
&gt; &gt; SELECT id, name, ...
&gt; &gt; FROM contacts
&gt; &gt; LIMIT 10
&gt; &gt;
&gt; &gt; ORACLE:
&gt; &gt; SELECT id, name, ...
&gt; &gt; FROM contacts
&gt; &gt; WHERE ROWNUM &lt;= 10
&gt; &gt;
&gt; &gt; Another option is to use setMaxRows() before executing the statement.
&gt; &gt; This looks like a better idea to me since the JDBC driver can handle
&gt; it.
&gt; &gt; Does anyone know if this is really equivalent?
&gt; &gt;
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt;
&gt; &gt; Amin Abbaspour wrote:
&gt; &gt;&gt; re: Limit Query Results inside DBCommand
&gt; &gt;&gt;
&gt; &gt;&gt; Hello to everyone,
&gt; &gt;&gt;
&gt; &gt;&gt; This is my first email in empire-db's users list :)
&gt; &gt;&gt;
&gt; &gt;&gt; One small question; How can I limit the number of rows returned in
&gt; &gt;&gt; select statements (i.e. SELECT .... LIMIT x, or SELECT TOP x ...)?
&gt; &gt;&gt;
&gt; &gt;&gt; Right now I do this manually by appending a "LIMIT x" to my query's
&gt; &gt;&gt; string but this is such a frequent requirement that I am pretty sure
&gt; &gt;&gt; this is implemented but I failed to find it.
&gt; &gt;&gt;
&gt; &gt;&gt; Regards,
&gt; &gt;&gt; Amin Abbaspour
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;
&gt; 
&gt; 
&gt; 
&gt; --
&gt; http://www.somatik.be
&gt; Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Limit Query Results inside DBCommand</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911290834h16cceadcw9bc9cfa4333a6eb7@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911290834h16cceadcw9bc9cfa4333a6eb7@mail-gmail-com%3e</id>
<updated>2009-11-29T16:34:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
you might also want to implement paging, added a comment tot the issue

On Sun, Nov 29, 2009 at 1:25 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; Hi Amin,
&gt;
&gt; unfortunately I must confess that we currently don't have the ability to limit the number
of rows returned.
&gt;
&gt; This shows how different people work with databases.
&gt; In my many years of database programming I have never really felt the need for it since
I always found a constraint to work with.
&gt; I only sometimes use it for interactive queries to the database.
&gt; But you are right, this is a thing we definitely have to add.
&gt;
&gt; I have created a JIRA issue for that and I will implement that ASAP.
&gt; Unfortunately this feature is handled differently by each database.
&gt; e.g.
&gt; SQL Server:
&gt; SELECT TOP 10 id, name, ...
&gt; FROM contacts
&gt;
&gt; MySQL:
&gt; SELECT id, name, ...
&gt; FROM contacts
&gt; LIMIT 10
&gt;
&gt; ORACLE:
&gt; SELECT id, name, ...
&gt; FROM contacts
&gt; WHERE ROWNUM &lt;= 10
&gt;
&gt; Another option is to use setMaxRows() before executing the statement.
&gt; This looks like a better idea to me since the JDBC driver can handle it.
&gt; Does anyone know if this is really equivalent?
&gt;
&gt; Rainer
&gt;
&gt;
&gt; Amin Abbaspour wrote:
&gt;&gt; re: Limit Query Results inside DBCommand
&gt;&gt;
&gt;&gt; Hello to everyone,
&gt;&gt;
&gt;&gt; This is my first email in empire-db's users list :)
&gt;&gt;
&gt;&gt; One small question; How can I limit the number of rows returned in
&gt;&gt; select statements (i.e. SELECT .... LIMIT x, or SELECT TOP x ...)?
&gt;&gt;
&gt;&gt; Right now I do this manually by appending a "LIMIT x" to my query's
&gt;&gt; string but this is such a frequent requirement that I am pretty sure
&gt;&gt; this is implemented but I failed to find it.
&gt;&gt;
&gt;&gt; Regards,
&gt;&gt; Amin Abbaspour
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Why ArrayList with Unknown Result Count?</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F901147678@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147678@kn-esteam-de%3e</id>
<updated>2009-11-29T12:31:52Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Amin,

these functions are provided for convenience only and are indeed intended for small result
sets.
For special needs people can implement their own function - in fact they should use a DBReader.

But what we could easily do, is to provide an overload for those functions that allow to supply
the collection. Hence the use can decide which collection to use.
I will create an JIRA issue for this too.

Thanks again
Rainer


Amin Abbaspour wrote:
&gt; re: Why ArrayList with Unknown Result Count?
&gt; 
&gt; Hello everyone,
&gt; 
&gt; This is my first email in empire-db's developers mailing list :) First
&gt; of all thanks for your ideas and attempts.
&gt; 
&gt; I was reading source code and noticed that ArrayList is used to store
&gt; results in querySimpleList and queryObjectList and also to hold values
&gt; in tables, relations, and views.
&gt; 
&gt; While the second usage (for tables, relations, etc) is not much
&gt; critical since they are limited in size, IMHO using ArrayList without
&gt; initial size is prohibited for large datasets such as those returned by
&gt; queries. As you all know this will result in many times memory
&gt; allocation and collection since it goes from size 10 -&gt; 20 -&gt; 40 -&gt;
&gt; etc.
&gt; 
&gt; I recommend that in the cases that there is a known return value count
&gt; (like selectSingle or select with Limit value), ArrayList should be
&gt; used with initial size in constructor; otherwise LinkedList is a better
&gt; choice.
&gt; 
&gt; Regards,
&gt; Amin Abbaspour
&gt; 
&gt; 
&gt; 
&gt; 


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Limit Query Results inside DBCommand</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F901147677@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147677@kn-esteam-de%3e</id>
<updated>2009-11-29T12:25:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Amin,

unfortunately I must confess that we currently don't have the ability to limit the number
of rows returned.

This shows how different people work with databases. 
In my many years of database programming I have never really felt the need for it since I
always found a constraint to work with.
I only sometimes use it for interactive queries to the database.
But you are right, this is a thing we definitely have to add.

I have created a JIRA issue for that and I will implement that ASAP.
Unfortunately this feature is handled differently by each database. 
e.g.
SQL Server:
SELECT TOP 10 id, name, ...
FROM contacts

MySQL:
SELECT id, name, ...
FROM contacts
LIMIT 10

ORACLE:
SELECT id, name, ...
FROM contacts
WHERE ROWNUM &lt;= 10

Another option is to use setMaxRows() before executing the statement.
This looks like a better idea to me since the JDBC driver can handle it.
Does anyone know if this is really equivalent?

Rainer


Amin Abbaspour wrote:
&gt; re: Limit Query Results inside DBCommand
&gt; 
&gt; Hello to everyone,
&gt; 
&gt; This is my first email in empire-db's users list :)
&gt; 
&gt; One small question; How can I limit the number of rows returned in
&gt; select statements (i.e. SELECT .... LIMIT x, or SELECT TOP x ...)?
&gt; 
&gt; Right now I do this manually by appending a "LIMIT x" to my query's
&gt; string but this is such a frequent requirement that I am pretty sure
&gt; this is implemented but I failed to find it.
&gt; 
&gt; Regards,
&gt; Amin Abbaspour
&gt; 
&gt; 
&gt; 
&gt; 


</pre>
</div>
</content>
</entry>
<entry>
<title>Why ArrayList with Unknown Result Count?</title>
<author><name>Amin Abbaspour &lt;abbaspour_amin@yahoo.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c641331.35745.qm@web50606.mail.re2.yahoo.com%3e"/>
<id>urn:uuid:%3c641331-35745-qm@web50606-mail-re2-yahoo-com%3e</id>
<updated>2009-11-29T10:57:32Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hello everyone,

This is my first email in empire-db's developers mailing list :) First of all thanks for your
ideas and attempts.

I was reading source code and noticed that ArrayList is used to store results in querySimpleList
and queryObjectList and also to hold values in tables, relations, and views.

While the second usage (for tables, relations, etc) is not much critical since they are limited
in size, IMHO using ArrayList without initial size is prohibited for large datasets such as
those returned by queries. As you all know this will result in many times memory allocation
and collection since it goes from size 10 -&gt; 20 -&gt; 40 -&gt; etc.

I recommend that in the cases that there is a known return value count (like selectSingle
or select with Limit value), ArrayList should be used with initial size in constructor; otherwise
LinkedList is a better choice.

Regards,
Amin Abbaspour



      


</pre>
</div>
</content>
</entry>
<entry>
<title>Code generator</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F901147676@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147676@kn-esteam-de%3e</id>
<updated>2009-11-28T22:35:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi folks,

 

finally I have found some time to look at the code generator.

 

This time I decided to test with Microsoft SQL Server and I ran straight into a problem:

Unlike the Oracle driver I had before, I had to supply the schema name with the catalog parameter
of DatabaseMetaData.getTables().

Otherwise it wouldn't find the tables.

Looks like DatabaseMetaData.getTables() behaves very database specific.

Any idea how we can improve this?

 

Another issue is that the driver may create a sequence table to handle sequences.

There should be a way to ignore this sequence table.

I also had a problem with some character case issues on the column name.

This should work now.

 

Apart from that the general class layout looks good. 

I only felt the desire to rename the CodeGen class to CodeGenWriter. 

IMO this makes more sense. Hope nobody minds.

 

The most important thing missing are the relations.

I think they should be added next.

 

And I found that we should remove a few things from the generated database class.

The two generic methods are not specific to the database supplied an could go directly in
DBDatabase. 

I am however not sure, whether I really recommend to work this way.

This is more like traditional ORM's handle it and it breaks our paradigm - although it is
not wrong.

 

And the static accessor should go as well. We cannot decide whether someone wants one or multiple
instances and how they should be accessed. 

It is even likely that someone wants to derived a class from the generated database class
in order to be able to generate the classes again without loosing his modifications.

So if nobody objects I will remove this the next time.

 

Long time since we have last heard anything of Thomas Poling.

Maybe he has still not subscribed to empire-db-dev that why I put him on CC.

Thomas if you read this - give us a sign.

 

Benjamin IMO you have done a good job so far. 

I was surprised that splitting the process up in a parser and a writer by only using a DBDatabase
object has not been more difficult (or was it?).

And thanks Francis for checking everything in and fixing those "findbugs".

 

So how about doing the relations next?

Benjamin are you up for that? 

 

Regards

Rainer

 



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Build failed in Hudson: Empire-DB snapshot #86</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911190739i662a9029vd3a8af6d92ffd827@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911190739i662a9029vd3a8af6d92ffd827@mail-gmail-com%3e</id>
<updated>2009-11-19T15:39:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
ok, fixing on the fly from devoxx is not the way to work...

I'll tackle those this evening.

Cheers,
Francis

On Thu, Nov 19, 2009 at 4:35 PM, Apache Hudson Server
&lt;hudson@hudson.zones.apache.org&gt; wrote:
&gt; See &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/86/changes&gt;
&gt;
&gt; Changes:
&gt;
&gt; [francisdb] added fixme on the log file issue
&gt;
&gt; [francisdb] ignore log files for rat check
&gt;
&gt; ------------------------------------------
&gt; [...truncated 2832 lines...]
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//CodeGen.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//CodeGenApp.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//CodeGenConfig.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//CodeGenParser.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//CodeGenParser.InMemoryDatabase.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//DBUtil.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//FileUtils.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//ParserUtil.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/overview-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//package-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//package-summary.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//package-tree.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//package-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//package-summary.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//package-tree.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/constant-values.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/class-use//CodeGen.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/class-use//CodeGenConfig.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/class-use//CodeGenApp.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/class-use//CodeGenParser.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/class-use//CodeGenParser.InMemoryDatabase.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util/class-use//ParserUtil.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util/class-use//FileUtils.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util/class-use//DBUtil.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen//package-use.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/org/apache/empire/db/codegen/util//package-use.html...&gt;
&gt; Building index for all the packages and classes...
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/overview-tree.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/index-all.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/deprecated-list.html...&gt;
&gt; Building index for all classes...
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/allclasses-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/allclasses-noframe.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/index.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/overview-summary.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/help-doc.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/apidocs/stylesheet.css...&gt;
&gt; [INFO] Building jar: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT-javadoc.jar&gt;
&gt; [INFO] [license:check {execution: default}]
&gt; [INFO] Checking licenses...
&gt; [INFO] [rat:check {execution: default}]
&gt; [INFO] [install:install {execution: default-install}]
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT.jar&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-SNAPSHOT.jar
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT-sources.jar&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-SNAPSHOT-sources.jar
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT-javadoc.jar&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-SNAPSHOT-javadoc.jar
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT-sources.jar&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-SNAPSHOT-sources.jar
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-codegen/target/empire-db-codegen-2.0.6-incubating-SNAPSHOT-javadoc.jar&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-SNAPSHOT-javadoc.jar
&gt; [INFO] [deploy:deploy {execution: default-deploy}]
&gt; [INFO] Retrieving previous build number from apache.snapshots.https
&gt; Uploading: https://repository.apache.org/content/repositories/snapshots/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-20091119.153426-13.jar
&gt; 4/30K
&gt; 8/30K
&gt; 12/30K
&gt; 16/30K
&gt; 20/30K
&gt; 24/30K
&gt; 28/30K
&gt; 30/30K
&gt; 30K uploaded  (empire-db-codegen-2.0.6-incubating-20091119.153426-13.jar)
&gt; [INFO] Retrieving previous metadata from apache.snapshots.https
&gt; [INFO] Uploading repository metadata for: 'snapshot org.apache.empire-db:empire-db-codegen:2.0.6-incubating-SNAPSHOT'
&gt; [INFO] Retrieving previous metadata from apache.snapshots.https
&gt; [INFO] Uploading repository metadata for: 'artifact org.apache.empire-db:empire-db-codegen'
&gt; [INFO] Uploading project information for empire-db-codegen 2.0.6-incubating-20091119.153426-13
&gt; [INFO] Retrieving previous build number from apache.snapshots.https
&gt; Uploading: https://repository.apache.org/content/repositories/snapshots/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-20091119.153426-13-sources.jar
&gt; 4/25K
&gt; 8/25K
&gt; 12/25K
&gt; 16/25K
&gt; 20/25K
&gt; 24/25K
&gt; 25/25K
&gt; 25K uploaded  (empire-db-codegen-2.0.6-incubating-20091119.153426-13-sources.jar)
&gt; [INFO] Retrieving previous build number from apache.snapshots.https
&gt; Uploading: https://repository.apache.org/content/repositories/snapshots/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-20091119.153426-13-javadoc.jar
&gt; 4/70K
&gt; 8/70K
&gt; 12/70K
&gt; 16/70K
&gt; 20/70K
&gt; 24/70K
&gt; 28/70K
&gt; 32/70K
&gt; 36/70K
&gt; 40/70K
&gt; 44/70K
&gt; 48/70K
&gt; 52/70K
&gt; 56/70K
&gt; 60/70K
&gt; 64/70K
&gt; 68/70K
&gt; 70/70K
&gt; 70K uploaded  (empire-db-codegen-2.0.6-incubating-20091119.153426-13-javadoc.jar)
&gt; [INFO] Retrieving previous build number from apache.snapshots.https
&gt; Uploading: https://repository.apache.org/content/repositories/snapshots/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-20091119.153426-13-sources.jar
&gt; 4/25K
&gt; 8/25K
&gt; 12/25K
&gt; 16/25K
&gt; 20/25K
&gt; 24/25K
&gt; 25/25K
&gt; 25K uploaded  (empire-db-codegen-2.0.6-incubating-20091119.153426-13-sources.jar)
&gt; [INFO] Retrieving previous build number from apache.snapshots.https
&gt; Uploading: https://repository.apache.org/content/repositories/snapshots/org/apache/empire-db/empire-db-codegen/2.0.6-incubating-SNAPSHOT/empire-db-codegen-2.0.6-incubating-20091119.153426-13-javadoc.jar
&gt; 4/70K
&gt; 8/70K
&gt; 12/70K
&gt; 16/70K
&gt; 20/70K
&gt; 24/70K
&gt; 28/70K
&gt; 32/70K
&gt; 36/70K
&gt; 40/70K
&gt; 44/70K
&gt; 48/70K
&gt; 52/70K
&gt; 56/70K
&gt; 60/70K
&gt; 64/70K
&gt; 68/70K
&gt; 70/70K
&gt; 70K uploaded  (empire-db-codegen-2.0.6-incubating-20091119.153426-13-javadoc.jar)
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] Building Apache Empire-db Examples
&gt; [INFO]    task-segment: [clean, install, deploy]
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] [clean:clean {execution: default-clean}]
&gt; [INFO] Deleting file set: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/target&gt;
(included: [**], excluded: [])
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [remote-resources:process {execution: default}]
&gt; [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
&gt; [INFO] Preparing source:jar
&gt; [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [source:jar {execution: attach-sources}]
&gt; [INFO] [javadoc:jar {execution: attach-javadocs}]
&gt; [INFO] Not executing Javadoc as the project is not a Java classpath-capable package
&gt; [INFO] [license:check {execution: default}]
&gt; [INFO] Checking licenses...
&gt; [INFO] [rat:check {execution: default}]
&gt; [INFO] [install:install {execution: default-install}]
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/pom.xml&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-examples/2.0.6-incubating-SNAPSHOT/empire-db-examples-2.0.6-incubating-SNAPSHOT.pom
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [remote-resources:process {execution: default}]
&gt; [INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
&gt; [INFO] Preparing source:jar
&gt; [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [source:jar {execution: attach-sources}]
&gt; [INFO] [javadoc:jar {execution: attach-javadocs}]
&gt; [INFO] Not executing Javadoc as the project is not a Java classpath-capable package
&gt; [INFO] [license:check {execution: default}]
&gt; [INFO] Checking licenses...
&gt; [INFO] [rat:check {execution: default}]
&gt; [INFO] [install:install {execution: default-install}]
&gt; [INFO] Installing &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/pom.xml&gt;
to /home/hudson/.m2/repository/org/apache/empire-db/empire-db-examples/2.0.6-incubating-SNAPSHOT/empire-db-examples-2.0.6-incubating-SNAPSHOT.pom
&gt; [INFO] [deploy:deploy {execution: default-deploy}]
&gt; [INFO]  skipping artifact deployement
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] Building Apache Empire-db Basic Example
&gt; [INFO]    task-segment: [clean, install, deploy]
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] [clean:clean {execution: default-clean}]
&gt; [INFO] Deleting file set: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target&gt;
(included: [**], excluded: [])
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [remote-resources:process {execution: default}]
&gt; [INFO] [resources:resources {execution: default-resources}]
&gt; [INFO] Using 'UTF-8' encoding to copy filtered resources.
&gt; [INFO] skip non existing resourceDirectory &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/src/main/resources&gt;
&gt; [INFO] Copying 4 resources
&gt; [INFO] [compiler:compile {execution: default-compile}]
&gt; [INFO] Compiling 4 source files to &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/classes&gt;
&gt; [INFO] [resources:testResources {execution: default-testResources}]
&gt; [INFO] Using 'UTF-8' encoding to copy filtered resources.
&gt; [INFO] skip non existing resourceDirectory &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/src/test/resources&gt;
&gt; [INFO] Copying 4 resources
&gt; [INFO] [compiler:testCompile {execution: default-testCompile}]
&gt; [INFO] No sources to compile
&gt; [INFO] [surefire:test {execution: default-test}]
&gt; [INFO] Surefire report directory: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/surefire-reports&gt;
&gt;
&gt; -------------------------------------------------------
&gt;  T E S T S
&gt; -------------------------------------------------------
&gt; There are no tests to run.
&gt;
&gt; Results :
&gt;
&gt; Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
&gt;
&gt; [INFO] [jar:jar {execution: default-jar}]
&gt; [INFO] Building jar: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/empire-db-example-basic-2.0.6-incubating-SNAPSHOT.jar&gt;
&gt; [INFO] Preparing source:jar
&gt; [WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
&gt; [INFO] [enforcer:enforce {execution: enforce-versions}]
&gt; [INFO] [source:jar {execution: attach-sources}]
&gt; [INFO] Building jar: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/empire-db-example-basic-2.0.6-incubating-SNAPSHOT-sources.jar&gt;
&gt; [INFO] [javadoc:jar {execution: attach-javadocs}]
&gt; Loading source files for package org.apache.empire.samples.db...
&gt; Constructing Javadoc information...
&gt; Standard Doclet version 1.5.0_22
&gt; Building tree for all the packages and classes...
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleApp.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleBean.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleConfig.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleDB.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleDB.Departments.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//SampleDB.Employees.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//package-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//package-summary.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//package-tree.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/constant-values.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleBean.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleDB.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleDB.Departments.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleDB.Employees.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleApp.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db/class-use//SampleConfig.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/org/apache/empire/samples/db//package-use.html...&gt;
&gt; Building index for all the packages and classes...
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/overview-tree.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/index-all.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/deprecated-list.html...&gt;
&gt; Building index for all classes...
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/allclasses-frame.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/allclasses-noframe.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/index.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/help-doc.html...&gt;
&gt; Generating &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/apidocs/stylesheet.css...&gt;
&gt; [INFO] Building jar: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/target/empire-db-example-basic-2.0.6-incubating-SNAPSHOT-javadoc.jar&gt;
&gt; [INFO] [license:check {execution: default}]
&gt; [INFO] Checking licenses...
&gt; [INFO] Missing header in: &lt;http://hudson.zones.apache.org/hudson/job/Empire-DB%20snapshot/ws/trunk/empire-db-examples/empire-db-example-basic/config.xml&gt;
&gt; [INFO] ------------------------------------------------------------------------
&gt; [ERROR] BUILD ERROR
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] Some files do not have the expected license header
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] For more information, run Maven with the -e switch
&gt; [INFO] ------------------------------------------------------------------------
&gt; [INFO] Total time: 1 minute 3 seconds
&gt; [INFO] Finished at: Thu Nov 19 15:35:21 UTC 2009
&gt; [INFO] Final Memory: 44M/195M
&gt; [INFO] ------------------------------------------------------------------------
&gt; Recording test results
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>re: Some thoughts</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F9011475A3@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F9011475A3@kn-esteam-de%3e</id>
<updated>2009-11-18T09:20:39Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi everyone,

thanks for everything you've done and I apologize for not being able to participate more frequently
at the moment.
But I will have a look at the code generator this weekend.

As far as your thought's are concerned:
My idea is that in the end the codegen should (primarily) become a Maven plugin. 
During development it is probably easier to have a console application, but it should indeed
be kept independent as Francis suggests.

About sl4j: I don't know much about the benefits compared to log4j. I have briefly followed
the link you provided but did not have time to get into further detail. So far I have never
had problems with log4j. 
The question is: Wouldn't we have to switch the entire project and not just the codegen to
slf4j and is it really worth it? If it's worth I wouldn't mind changing, but it's not on the
top of my list.

Regards
Rainer


Francis De Brabandere wrote:
&gt; re: Some thoughts
&gt; 
&gt; Hi all,
&gt; 
&gt; I cleaned up the code generator a bit. I hope I'm not too much
&gt; interfering with you guys. Let me know if you don't agree with this
&gt; way of working...
&gt; 
&gt; Some thoughts:
&gt; 
&gt; [codegen]
&gt; - I think we should try to keep the code generator independent from
&gt; the console application so that we can easily create and IDE or Maven
&gt; plugin for the code generator.
&gt; - We need to think about how to support multiple database vendors. I'm
&gt; willing to have a go at a MySQL/Postgre version once we have torn out
&gt; the database-specific stuff in one or more separate class(es).
&gt; 
&gt; [general]
&gt; - I'm a big fan of (unit) testing so I will probably add tests here
&gt; and there over time... Automated integrations tests for HSQLDB, H2 and
&gt; Derby should be possible. On the other hand testing is mostly of the
&gt; time easier when using composition instead of inheritance.
&gt; - I'd like to suggest to move to slf4j for logging as there are known
&gt; issues with commons logging. See this page for some background info:
&gt; http://www.slf4j.org/faq.html#yet_another_facade
&gt; 
&gt; Cheers,
&gt; Francis
&gt; 
&gt; --
&gt; http://www.somatik.be
&gt; Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>missing maven dependency for mockito</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c4B0344C2.2080000@web.de%3e"/>
<id>urn:uuid:%3c4B0344C2-2080000@web-de%3e</id>
<updated>2009-11-18T00:50:10Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Francis,

just had a look at your changes ... seems there is the dependency for 
mockito in the pom.xml missing.
... will have a more detailed look at the other stuff later this week.

regards
    benjamin

Francis De Brabandere schrieb:
&gt; Hi all,
&gt;
&gt; I cleaned up the code generator a bit. I hope I'm not too much
&gt; interfering with you guys. Let me know if you don't agree with this
&gt; way of working...
&gt;
&gt; Some thoughts:
&gt;
&gt; [codegen]
&gt; - I think we should try to keep the code generator independent from
&gt; the console application so that we can easily create and IDE or Maven
&gt; plugin for the code generator.
&gt; - We need to think about how to support multiple database vendors. I'm
&gt; willing to have a go at a MySQL/Postgre version once we have torn out
&gt; the database-specific stuff in one or more separate class(es).
&gt;
&gt; [general]
&gt; - I'm a big fan of (unit) testing so I will probably add tests here
&gt; and there over time... Automated integrations tests for HSQLDB, H2 and
&gt; Derby should be possible. On the other hand testing is mostly of the
&gt; time easier when using composition instead of inheritance.
&gt; - I'd like to suggest to move to slf4j for logging as there are known
&gt; issues with commons logging. See this page for some background info:
&gt; http://www.slf4j.org/faq.html#yet_another_facade
&gt;
&gt; Cheers,
&gt; Francis
&gt;
&gt;   



</pre>
</div>
</content>
</entry>
<entry>
<title>Some thoughts</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911171616v2c7063c5xc79e60a3270863bf@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911171616v2c7063c5xc79e60a3270863bf@mail-gmail-com%3e</id>
<updated>2009-11-18T00:16:40Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi all,

I cleaned up the code generator a bit. I hope I'm not too much
interfering with you guys. Let me know if you don't agree with this
way of working...

Some thoughts:

[codegen]
- I think we should try to keep the code generator independent from
the console application so that we can easily create and IDE or Maven
plugin for the code generator.
- We need to think about how to support multiple database vendors. I'm
willing to have a go at a MySQL/Postgre version once we have torn out
the database-specific stuff in one or more separate class(es).

[general]
- I'm a big fan of (unit) testing so I will probably add tests here
and there over time... Automated integrations tests for HSQLDB, H2 and
Derby should be possible. On the other hand testing is mostly of the
time easier when using composition instead of inheritance.
- I'd like to suggest to move to slf4j for logging as there are known
issues with commons logging. See this page for some background info:
http://www.slf4j.org/faq.html#yet_another_facade

Cheers,
Francis

-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Empire-db code generator | 3rd patch</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911162332t10e1a2a4i719d00ab2fd67c79@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911162332t10e1a2a4i719d00ab2fd67c79@mail-gmail-com%3e</id>
<updated>2009-11-17T07:32:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Will apply this patch this evening.
Cheers,
Francis

On Nov 14, 2009 3:30 p.m., "Benjamin Venditti" &lt;benniven@web.de&gt; wrote:

Hi there,

I have uploaded a new patch that will get rid of the additional Database,
Table and Column bean classes.
The codegen now uses the empire DBDatabase, DBTable and DBColumn classes
instead.

The patch contains the following changes:
modifications:
 - CodeGen.java
 - CodeGenConfig.java    // option named "tableClassSuffix" added
 - config.xml                     // option named "tableClassSuffix" added
 - Database.vm
 - Record.vm
 - Table.vm

deletions:
 - package org.apache.empire.db.codegen.types
 - StringUtils.java  // partly moved to ParserUtil.java

additions:
 - CodeGenParser.java  // Used to create a empty DBDatabase and to populate
that
 - ParserUtil.java           // Used by the velocity templates to get
strings like accessor name, mutator name, table class name, record class
name

I think we should go through the configuation options in CodeGenConfig, as
there are still some things in the templates that are hardcoded, like e.g.
the "T_" of the variable names. I'll propose a list with configuation
options soon.

Regards
  Benjamin


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: devoxx</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911141240r13a66443u34ccfeb8c9fc1846@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911141240r13a66443u34ccfeb8c9fc1846@mail-gmail-com%3e</id>
<updated>2009-11-14T20:40:50Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
2nd call :-)

Anybody going to devoxx?

Cheers,
Francis

On Fri, Aug 28, 2009 at 8:23 AM, Francis De Brabandere
&lt;francisdb@gmail.com&gt; wrote:
&gt; Attending. And yes it it's in Antwerp: http://www.javoxx.com/display/DV09/Venue
&gt;
&gt; On Fri, Aug 28, 2009 at 8:26 AM, Rainer Döbele&lt;doebele@esteam.de&gt; wrote:
&gt;&gt;
&gt;&gt; It says when it is but I could not find out quickly where it is.
&gt;&gt; But since apparently the last one was in Antwerp, Belgium I guess it will be there
again.
&gt;&gt;
&gt;&gt; Unfortunately Francis I will probably not be able to make it.
&gt;&gt; But I really hope we can all meet one day.
&gt;&gt;
&gt;&gt; What excactly are you doing there (attending, organizing, speaking?)
&gt;&gt;
&gt;&gt; Regards
&gt;&gt; Rainer
&gt;&gt;
&gt;&gt;
&gt;&gt; Francis De Brabandere wrote:
&gt;&gt;&gt; re: empire-db-dev@incubator.apache.org
&gt;&gt;&gt; Betreff: devoxx
&gt;&gt;&gt;
&gt;&gt;&gt; Hi,
&gt;&gt;&gt;
&gt;&gt;&gt; Is any of you going to devoxx?
&gt;&gt;&gt; http://www.javoxx.com/display/DV09
&gt;&gt;&gt; I'll be there the whole week.
&gt;&gt;&gt;
&gt;&gt;&gt; Cheers,
&gt;&gt;&gt; Francis
&gt;&gt;&gt;
&gt;&gt;&gt; --
&gt;&gt;&gt; http://www.somatik.be
&gt;&gt;&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt;&gt;
&gt;
&gt;
&gt;
&gt; --
&gt; http://www.somatik.be
&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Empire-db code generator | 3rd patch</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c4AFEBE91.7040004@web.de%3e"/>
<id>urn:uuid:%3c4AFEBE91-7040004@web-de%3e</id>
<updated>2009-11-14T14:28:33Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi there,

I have uploaded a new patch that will get rid of the additional 
Database, Table and Column bean classes.
The codegen now uses the empire DBDatabase, DBTable and DBColumn classes 
instead.

The patch contains the following changes:
 modifications:
  - CodeGen.java
  - CodeGenConfig.java    // option named "tableClassSuffix" added
  - config.xml                     // option named "tableClassSuffix" added
  - Database.vm
  - Record.vm
  - Table.vm

deletions:
  - package org.apache.empire.db.codegen.types
  - StringUtils.java  // partly moved to ParserUtil.java

additions:
  - CodeGenParser.java  // Used to create a empty DBDatabase and to 
populate that
  - ParserUtil.java           // Used by the velocity templates to get 
strings like accessor name, mutator name, table class name, record class 
name

I think we should go through the configuation options in CodeGenConfig, 
as there are still some things in the templates that are hardcoded, like 
e.g. the "T_" of the variable names. I'll propose a list with 
configuation options soon.

Regards
    Benjamin


</pre>
</div>
</content>
</entry>
<entry>
<title>re: DB codgen next steps</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F90114750E@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F90114750E@kn-esteam-de%3e</id>
<updated>2009-11-09T21:22:08Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Benjamin,

no problem, take your time. We all have job that comes first.
But remember this is a suggestion. Your welcome to bring in your own ideas.

Rainer

benniven@web.de wrote:
&gt; Re: DB codgen next steps
&gt; 
&gt; Hi Rainer,
&gt; 
&gt; thanks für your further explanation. I think i got you right this time.
&gt; I can't work on that right now, but i'll have time at the weekend.
&gt; 
&gt; Regards
&gt; Benjamin
&gt; 
&gt; Rainer Döbele schrieb:
&gt; &gt; Hi Benni,
&gt; &gt;
&gt; &gt; I am sorry that I have not been able to respond earlier - job and
&gt; family have just been to busy recently.
&gt; &gt;
&gt; &gt; I am not 100% sure whether you fully understood what I intended to
&gt; say - so I'll try again with different words:
&gt; &gt; Basically it is that I would perfer - if possible of course - to
&gt; split the db code generation into a two step process.
&gt; &gt;
&gt; &gt; In the first step - the parsing - we obtain the metadata of an
&gt; existing database and generate an in-memory object model using the 
&gt; Empire-db classes. Hence the step could be possibly implemented with a 
&gt; function that takes a connection and some more info (i.e. via the 
&gt; CodeGenConfig object) and that returns a new DBDabase object which 
&gt; contains all the tables, views, references etc. The function may look 
&gt; like this:
&gt; &gt;
&gt; &gt;     public DBDatabase parseDataModel(Connection conn, CodeGenConfig
&gt; config)
&gt; &gt;
&gt; &gt; The second step takes provides the functionality to take any
&gt; DBDatabase object - no matter whether it's the outcome of the parse 
&gt; process or taken from somewhere else - and generates the corresponding 
&gt; class files.
&gt; &gt; The method for this step could look like this:
&gt; &gt;
&gt; &gt;     public void generateCodeFiles(DBDatabase db, CodeGenConfig
&gt; config)
&gt; &gt;
&gt; &gt; Ideally the objects in org.apache.empire.db.codegen.types would not
&gt; be required any more.
&gt; &gt; The logic we have not in those classes should then all go into one
&gt; class (possible called CodeGenParser).
&gt; &gt; The aim should also be not to extend the Empire-db core classes just
&gt; for the generation process.
&gt; &gt; But should this be nessary and there is no other way then I would
&gt; consider that too.
&gt; &gt;
&gt; &gt; This would mean quite a new structure of our project - but I believe
&gt; it would be worth it.
&gt; &gt; Now do you feel you could handle this?
&gt; &gt;
&gt; &gt; If so, then please feel free to go ahead (unless anyone has got
&gt; another idea).
&gt; &gt; If I can be of any help, please let me know.
&gt; &gt;
&gt; &gt; Regards
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt;
&gt; &gt; benniven@web.de wrote:
&gt; &gt;
&gt; &gt;&gt; Re: DB codgen next steps
&gt; &gt;&gt;
&gt; &gt;&gt; Hi Rainer,
&gt; &gt;&gt;
&gt; &gt;&gt; I really appreciate that my patch was useful, and I'd like to join
&gt; up
&gt; &gt;&gt; for the next issue.
&gt; &gt;&gt;
&gt; &gt;&gt; Just a summary about the issues you postet, I'm not sure if I got
&gt; them
&gt; &gt;&gt; right.
&gt; &gt;&gt;
&gt; &gt;&gt; 1. So the data collection through JDBC will remain in the codegen,
&gt; but
&gt; &gt;&gt; uses already existing classes like DBDatabase, DBTable, DBColumn
&gt; etc.
&gt; &gt;&gt; to
&gt; &gt;&gt; set up the class hierarchy. Using the already existing classes
&gt; instead
&gt; &gt;&gt; of another set of beans seems reasonable to me. The actual class
&gt; file
&gt; &gt;&gt; generation will then do the Empire-db database (DBDatabase) itself.
&gt; &gt;&gt;
&gt; &gt;&gt; QUOTE&gt;&gt; This would then allow to use the class hierarchy directly
&gt; even
&gt; &gt;&gt; without the generation of the class files.&lt;&lt;QUOTE
&gt; &gt;&gt;
&gt; &gt;&gt; How could the class hierarchy be used without generating them? Of 
&gt; &gt;&gt; course the hierarchy is already set up in memory, but to access a 
&gt; &gt;&gt; specific Table object one would have to iterate all tables and find 
&gt; &gt;&gt; the
&gt; desired
&gt; &gt;&gt; table with a string comparison.
&gt; &gt;&gt;
&gt; &gt;&gt; In fact I like the idea, that a DBDatabase can replicate itself by 
&gt; &gt;&gt; writing class files to the filesystem. However I don't see when 
&gt; &gt;&gt; that could be useful. I'd prefer not to modify any of the existing
&gt; classes
&gt; &gt;&gt; from empire-db core. If we still like to do so, I think it should 
&gt; &gt;&gt; be done when the codegen is more mature.
&gt; &gt;&gt;
&gt; &gt;&gt; 2. I am working on HSQL and H2. For testing I used a data model 
&gt; &gt;&gt; from
&gt; a
&gt; &gt;&gt; university project I was once involved in. Where can I get DBSAMPLE
&gt; and
&gt; &gt;&gt; the DBSAMPLEADV data models from?
&gt; &gt;&gt;
&gt; &gt;&gt; Please let me know what you think about my comments.
&gt; &gt;&gt; Regards
&gt; &gt;&gt;     Benjamin
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt; Rainer Döbele schrieb:
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; Hi everyone,
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt; I have now checked in Benjamin's patch of Oct 26th.
&gt; &gt;&gt;&gt; I have changed some bits about the logging and the exclusion of
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; tables containing a '$' in populateTableMetaData() in order to test
&gt; it
&gt; &gt;&gt; with Oracle. Also I had to add one Apache license header in 
&gt; &gt;&gt; DBUtil.java.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; For our next steps I would like to make the following suggestions:
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt; 1. At the moment we're parsing metadata obtained via JDBC into
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; generator specific classes (Database, Table, Column) which hold the 
&gt; &gt;&gt; properties required for the velocity templates. The classes are
&gt; simple
&gt; &gt;&gt; bean type classes.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; However wouldn't it be much smarter if the metadata would be 
&gt; &gt;&gt;&gt; parsed
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; directly into an Empire-db class hierarchy i.e. use DBDatabase, 
&gt; &gt;&gt; DBTable, DBColumn etc.?
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; This would then allow to use the class hierarchy directly even
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; without the generation of the class files.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; In a second step the class files should then be generated from an
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; Empire-db database (DBDatabase). This step should be independent
&gt; from
&gt; &gt;&gt; step one, so that in theory one could provide the class hierarchy 
&gt; &gt;&gt; in java and have the same classes generated again.
&gt; &gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; For properties required for the generation process which are not
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; available in the corresponding Empire-db classes we probably need 
&gt; &gt;&gt; to provide a helper class or provide them through an extension of 
&gt; &gt;&gt; the database class.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; 2. Afterwards we should be are able to test and debug it on
&gt; different
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; database systems. I have currently tested it with the DBSAMPLE data 
&gt; &gt;&gt; model on Oracle and I can do the same for Microsoft SQL-Server. We 
&gt; &gt;&gt; should make sure that it works with the DBSAMPLE and DBSAMPLEADV
&gt; data
&gt; &gt;&gt; model on all DBMS that we currently support. All committers please
&gt; let
&gt; &gt;&gt; everyone else know what you are developing and testing with.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; 3. I assume that although JDBC should retrieve metadata in a
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; consistent way there will be aspects that are specific for a 
&gt; &gt;&gt; certain DBMS (like the exclusion of tables containing a '$' symbol 
&gt; &gt;&gt; in
&gt; Oracle).
&gt; &gt;&gt; This should be handled by the driver. At the moment however we're
&gt; not
&gt; &gt;&gt; using the Empire-db database drivers and we need to think about how
&gt; we
&gt; &gt;&gt; can let the driver intercept and modify the generation process.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; Suggestion 2 and 3 can wait. Most important for now is suggestion
&gt; No
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; 1.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; Thomas and Benjamin what do you thing about this idea?
&gt; &gt;&gt;&gt; Anyone volunteering for getting this done?
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt; Regards
&gt; &gt;&gt;&gt; Rainer
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;
&gt; &gt;



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: DB codgen next steps</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c4AF877F9.8070903@web.de%3e"/>
<id>urn:uuid:%3c4AF877F9-8070903@web-de%3e</id>
<updated>2009-11-09T20:13:45Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Rainer,

thanks für your further explanation. I think i got you right this time.
I can't work on that right now, but i'll have time at the weekend.

Regards
Benjamin

Rainer Döbele schrieb:
&gt; Hi Benni,
&gt;
&gt; I am sorry that I have not been able to respond earlier - job and family have just been
to busy recently.
&gt;
&gt; I am not 100% sure whether you fully understood what I intended to say - so I'll try
again with different words:
&gt; Basically it is that I would perfer - if possible of course - to split the db code generation
into a two step process.
&gt;
&gt; In the first step - the parsing - we obtain the metadata of an existing database and
generate an in-memory object model using the Empire-db classes. Hence the step could be possibly
implemented with a function that takes a connection and some more info (i.e. via the CodeGenConfig
object) and that returns a new DBDabase object which contains all the tables, views, references
etc. The function may look like this:
&gt;
&gt;     public DBDatabase parseDataModel(Connection conn, CodeGenConfig config)
&gt;
&gt; The second step takes provides the functionality to take any DBDatabase object - no matter
whether it's the outcome of the parse process or taken from somewhere else - and generates
the corresponding class files.
&gt; The method for this step could look like this:
&gt;
&gt;     public void generateCodeFiles(DBDatabase db, CodeGenConfig config)
&gt;
&gt; Ideally the objects in org.apache.empire.db.codegen.types would not be required any more.
&gt; The logic we have not in those classes should then all go into one class (possible called
CodeGenParser).
&gt; The aim should also be not to extend the Empire-db core classes just for the generation
process. 
&gt; But should this be nessary and there is no other way then I would consider that too.
&gt;
&gt; This would mean quite a new structure of our project - but I believe it would be worth
it.
&gt; Now do you feel you could handle this?
&gt;
&gt; If so, then please feel free to go ahead (unless anyone has got another idea).
&gt; If I can be of any help, please let me know.
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;
&gt; benniven@web.de wrote:
&gt;   
&gt;&gt; Re: DB codgen next steps
&gt;&gt;
&gt;&gt; Hi Rainer,
&gt;&gt;
&gt;&gt; I really appreciate that my patch was useful, and I'd like to join up
&gt;&gt; for the next issue.
&gt;&gt;
&gt;&gt; Just a summary about the issues you postet, I'm not sure if I got them
&gt;&gt; right.
&gt;&gt;
&gt;&gt; 1. So the data collection through JDBC will remain in the codegen, but
&gt;&gt; uses already existing classes like DBDatabase, DBTable, DBColumn etc.
&gt;&gt; to
&gt;&gt; set up the class hierarchy. Using the already existing classes instead
&gt;&gt; of another set of beans seems reasonable to me. The actual class file
&gt;&gt; generation will then do the Empire-db database (DBDatabase) itself.
&gt;&gt;
&gt;&gt; QUOTE&gt;&gt; This would then allow to use the class hierarchy directly even
&gt;&gt; without the generation of the class files.&lt;&lt;QUOTE
&gt;&gt;
&gt;&gt; How could the class hierarchy be used without generating them? Of
&gt;&gt; course
&gt;&gt; the hierarchy is already set up in memory, but to access a specific
&gt;&gt; Table object one would have to iterate all tables and find the desired
&gt;&gt; table with a string comparison.
&gt;&gt;
&gt;&gt; In fact I like the idea, that a DBDatabase can replicate itself by
&gt;&gt; writing class files to the filesystem. However I don't see when that
&gt;&gt; could be useful. I'd prefer not to modify any of the existing classes
&gt;&gt; from empire-db core. If we still like to do so, I think it should be
&gt;&gt; done when the codegen is more mature.
&gt;&gt;
&gt;&gt; 2. I am working on HSQL and H2. For testing I used a data model from a
&gt;&gt; university project I was once involved in. Where can I get DBSAMPLE and
&gt;&gt; the DBSAMPLEADV data models from?
&gt;&gt;
&gt;&gt; Please let me know what you think about my comments.
&gt;&gt; Regards
&gt;&gt;     Benjamin
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; Rainer Döbele schrieb:
&gt;&gt;     
&gt;&gt;&gt; Hi everyone,
&gt;&gt;&gt;
&gt;&gt;&gt; I have now checked in Benjamin's patch of Oct 26th.
&gt;&gt;&gt; I have changed some bits about the logging and the exclusion of
&gt;&gt;&gt;       
&gt;&gt; tables containing a '$' in populateTableMetaData() in order to test it
&gt;&gt; with Oracle. Also I had to add one Apache license header in
&gt;&gt; DBUtil.java.
&gt;&gt;     
&gt;&gt;&gt; For our next steps I would like to make the following suggestions:
&gt;&gt;&gt;
&gt;&gt;&gt; 1. At the moment we're parsing metadata obtained via JDBC into
&gt;&gt;&gt;       
&gt;&gt; generator specific classes (Database, Table, Column) which hold the
&gt;&gt; properties required for the velocity templates. The classes are simple
&gt;&gt; bean type classes.
&gt;&gt;     
&gt;&gt;&gt; However wouldn't it be much smarter if the metadata would be parsed
&gt;&gt;&gt;       
&gt;&gt; directly into an Empire-db class hierarchy i.e. use DBDatabase,
&gt;&gt; DBTable, DBColumn etc.?
&gt;&gt;     
&gt;&gt;&gt; This would then allow to use the class hierarchy directly even
&gt;&gt;&gt;       
&gt;&gt; without the generation of the class files.
&gt;&gt;     
&gt;&gt;&gt; In a second step the class files should then be generated from an
&gt;&gt;&gt;       
&gt;&gt; Empire-db database (DBDatabase). This step should be independent from
&gt;&gt; step one, so that in theory one could provide the class hierarchy in
&gt;&gt; java and have the same classes generated again.
&gt;&gt;
&gt;&gt;     
&gt;&gt;&gt; For properties required for the generation process which are not
&gt;&gt;&gt;       
&gt;&gt; available in the corresponding Empire-db classes we probably need to
&gt;&gt; provide a helper class or provide them through an extension of the
&gt;&gt; database class.
&gt;&gt;     
&gt;&gt;&gt; 2. Afterwards we should be are able to test and debug it on different
&gt;&gt;&gt;       
&gt;&gt; database systems. I have currently tested it with the DBSAMPLE data
&gt;&gt; model on Oracle and I can do the same for Microsoft SQL-Server. We
&gt;&gt; should make sure that it works with the DBSAMPLE and DBSAMPLEADV data
&gt;&gt; model on all DBMS that we currently support. All committers please let
&gt;&gt; everyone else know what you are developing and testing with.
&gt;&gt;     
&gt;&gt;&gt; 3. I assume that although JDBC should retrieve metadata in a
&gt;&gt;&gt;       
&gt;&gt; consistent way there will be aspects that are specific for a certain
&gt;&gt; DBMS (like the exclusion of tables containing a '$' symbol in Oracle).
&gt;&gt; This should be handled by the driver. At the moment however we're not
&gt;&gt; using the Empire-db database drivers and we need to think about how we
&gt;&gt; can let the driver intercept and modify the generation process.
&gt;&gt;     
&gt;&gt;&gt; Suggestion 2 and 3 can wait. Most important for now is suggestion No
&gt;&gt;&gt;       
&gt;&gt; 1.
&gt;&gt;     
&gt;&gt;&gt; Thomas and Benjamin what do you thing about this idea?
&gt;&gt;&gt; Anyone volunteering for getting this done?
&gt;&gt;&gt;
&gt;&gt;&gt; Regards
&gt;&gt;&gt; Rainer
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;       
&gt;
&gt;   



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: DB codgen next steps</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911082330o4b56b47ej1d089d89afe905d0@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911082330o4b56b47ej1d089d89afe905d0@mail-gmail-com%3e</id>
<updated>2009-11-09T07:30:40Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
sounds like a good idea to me

On Sun, Nov 8, 2009 at 9:39 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; Hi Benni,
&gt;
&gt; I am sorry that I have not been able to respond earlier - job and family have just been
to busy recently.
&gt;
&gt; I am not 100% sure whether you fully understood what I intended to say - so I'll try
again with different words:
&gt; Basically it is that I would perfer - if possible of course - to split the db code generation
into a two step process.
&gt;
&gt; In the first step - the parsing - we obtain the metadata of an existing database and
generate an in-memory object model using the Empire-db classes. Hence the step could be possibly
implemented with a function that takes a connection and some more info (i.e. via the CodeGenConfig
object) and that returns a new DBDabase object which contains all the tables, views, references
etc. The function may look like this:
&gt;
&gt;    public DBDatabase parseDataModel(Connection conn, CodeGenConfig config)
&gt;
&gt; The second step takes provides the functionality to take any DBDatabase object - no matter
whether it's the outcome of the parse process or taken from somewhere else - and generates
the corresponding class files.
&gt; The method for this step could look like this:
&gt;
&gt;    public void generateCodeFiles(DBDatabase db, CodeGenConfig config)
&gt;
&gt; Ideally the objects in org.apache.empire.db.codegen.types would not be required any more.
&gt; The logic we have not in those classes should then all go into one class (possible called
CodeGenParser).
&gt; The aim should also be not to extend the Empire-db core classes just for the generation
process.
&gt; But should this be nessary and there is no other way then I would consider that too.
&gt;
&gt; This would mean quite a new structure of our project - but I believe it would be worth
it.
&gt; Now do you feel you could handle this?
&gt;
&gt; If so, then please feel free to go ahead (unless anyone has got another idea).
&gt; If I can be of any help, please let me know.
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;
&gt; benniven@web.de wrote:
&gt;&gt; Re: DB codgen next steps
&gt;&gt;
&gt;&gt; Hi Rainer,
&gt;&gt;
&gt;&gt; I really appreciate that my patch was useful, and I'd like to join up
&gt;&gt; for the next issue.
&gt;&gt;
&gt;&gt; Just a summary about the issues you postet, I'm not sure if I got them
&gt;&gt; right.
&gt;&gt;
&gt;&gt; 1. So the data collection through JDBC will remain in the codegen, but
&gt;&gt; uses already existing classes like DBDatabase, DBTable, DBColumn etc.
&gt;&gt; to
&gt;&gt; set up the class hierarchy. Using the already existing classes instead
&gt;&gt; of another set of beans seems reasonable to me. The actual class file
&gt;&gt; generation will then do the Empire-db database (DBDatabase) itself.
&gt;&gt;
&gt;&gt; QUOTE&gt;&gt; This would then allow to use the class hierarchy directly even
&gt;&gt; without the generation of the class files.&lt;&lt;QUOTE
&gt;&gt;
&gt;&gt; How could the class hierarchy be used without generating them? Of
&gt;&gt; course
&gt;&gt; the hierarchy is already set up in memory, but to access a specific
&gt;&gt; Table object one would have to iterate all tables and find the desired
&gt;&gt; table with a string comparison.
&gt;&gt;
&gt;&gt; In fact I like the idea, that a DBDatabase can replicate itself by
&gt;&gt; writing class files to the filesystem. However I don't see when that
&gt;&gt; could be useful. I'd prefer not to modify any of the existing classes
&gt;&gt; from empire-db core. If we still like to do so, I think it should be
&gt;&gt; done when the codegen is more mature.
&gt;&gt;
&gt;&gt; 2. I am working on HSQL and H2. For testing I used a data model from a
&gt;&gt; university project I was once involved in. Where can I get DBSAMPLE and
&gt;&gt; the DBSAMPLEADV data models from?
&gt;&gt;
&gt;&gt; Please let me know what you think about my comments.
&gt;&gt; Regards
&gt;&gt;     Benjamin
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; Rainer Döbele schrieb:
&gt;&gt; &gt; Hi everyone,
&gt;&gt; &gt;
&gt;&gt; &gt; I have now checked in Benjamin's patch of Oct 26th.
&gt;&gt; &gt; I have changed some bits about the logging and the exclusion of
&gt;&gt; tables containing a '$' in populateTableMetaData() in order to test it
&gt;&gt; with Oracle. Also I had to add one Apache license header in
&gt;&gt; DBUtil.java.
&gt;&gt; &gt;
&gt;&gt; &gt; For our next steps I would like to make the following suggestions:
&gt;&gt; &gt;
&gt;&gt; &gt; 1. At the moment we're parsing metadata obtained via JDBC into
&gt;&gt; generator specific classes (Database, Table, Column) which hold the
&gt;&gt; properties required for the velocity templates. The classes are simple
&gt;&gt; bean type classes.
&gt;&gt; &gt; However wouldn't it be much smarter if the metadata would be parsed
&gt;&gt; directly into an Empire-db class hierarchy i.e. use DBDatabase,
&gt;&gt; DBTable, DBColumn etc.?
&gt;&gt; &gt; This would then allow to use the class hierarchy directly even
&gt;&gt; without the generation of the class files.
&gt;&gt; &gt;
&gt;&gt; &gt; In a second step the class files should then be generated from an
&gt;&gt; Empire-db database (DBDatabase). This step should be independent from
&gt;&gt; step one, so that in theory one could provide the class hierarchy in
&gt;&gt; java and have the same classes generated again.
&gt;&gt;
&gt;&gt; &gt; For properties required for the generation process which are not
&gt;&gt; available in the corresponding Empire-db classes we probably need to
&gt;&gt; provide a helper class or provide them through an extension of the
&gt;&gt; database class.
&gt;&gt; &gt;
&gt;&gt; &gt; 2. Afterwards we should be are able to test and debug it on different
&gt;&gt; database systems. I have currently tested it with the DBSAMPLE data
&gt;&gt; model on Oracle and I can do the same for Microsoft SQL-Server. We
&gt;&gt; should make sure that it works with the DBSAMPLE and DBSAMPLEADV data
&gt;&gt; model on all DBMS that we currently support. All committers please let
&gt;&gt; everyone else know what you are developing and testing with.
&gt;&gt; &gt;
&gt;&gt; &gt; 3. I assume that although JDBC should retrieve metadata in a
&gt;&gt; consistent way there will be aspects that are specific for a certain
&gt;&gt; DBMS (like the exclusion of tables containing a '$' symbol in Oracle).
&gt;&gt; This should be handled by the driver. At the moment however we're not
&gt;&gt; using the Empire-db database drivers and we need to think about how we
&gt;&gt; can let the driver intercept and modify the generation process.
&gt;&gt; &gt;
&gt;&gt; &gt; Suggestion 2 and 3 can wait. Most important for now is suggestion No
&gt;&gt; 1.
&gt;&gt; &gt; Thomas and Benjamin what do you thing about this idea?
&gt;&gt; &gt; Anyone volunteering for getting this done?
&gt;&gt; &gt;
&gt;&gt; &gt; Regards
&gt;&gt; &gt; Rainer
&gt;&gt; &gt;
&gt;&gt; &gt;
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>re: DB codgen next steps</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F9011474ED@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F9011474ED@kn-esteam-de%3e</id>
<updated>2009-11-08T20:39:09Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Benni,

I am sorry that I have not been able to respond earlier - job and family have just been to
busy recently.

I am not 100% sure whether you fully understood what I intended to say - so I'll try again
with different words:
Basically it is that I would perfer - if possible of course - to split the db code generation
into a two step process.

In the first step - the parsing - we obtain the metadata of an existing database and generate
an in-memory object model using the Empire-db classes. Hence the step could be possibly implemented
with a function that takes a connection and some more info (i.e. via the CodeGenConfig object)
and that returns a new DBDabase object which contains all the tables, views, references etc.
The function may look like this:

    public DBDatabase parseDataModel(Connection conn, CodeGenConfig config)

The second step takes provides the functionality to take any DBDatabase object - no matter
whether it's the outcome of the parse process or taken from somewhere else - and generates
the corresponding class files.
The method for this step could look like this:

    public void generateCodeFiles(DBDatabase db, CodeGenConfig config)

Ideally the objects in org.apache.empire.db.codegen.types would not be required any more.
The logic we have not in those classes should then all go into one class (possible called
CodeGenParser).
The aim should also be not to extend the Empire-db core classes just for the generation process.

But should this be nessary and there is no other way then I would consider that too.

This would mean quite a new structure of our project - but I believe it would be worth it.
Now do you feel you could handle this?

If so, then please feel free to go ahead (unless anyone has got another idea).
If I can be of any help, please let me know.

Regards
Rainer


benniven@web.de wrote:
&gt; Re: DB codgen next steps
&gt; 
&gt; Hi Rainer,
&gt; 
&gt; I really appreciate that my patch was useful, and I'd like to join up
&gt; for the next issue.
&gt; 
&gt; Just a summary about the issues you postet, I'm not sure if I got them
&gt; right.
&gt; 
&gt; 1. So the data collection through JDBC will remain in the codegen, but
&gt; uses already existing classes like DBDatabase, DBTable, DBColumn etc.
&gt; to
&gt; set up the class hierarchy. Using the already existing classes instead
&gt; of another set of beans seems reasonable to me. The actual class file
&gt; generation will then do the Empire-db database (DBDatabase) itself.
&gt; 
&gt; QUOTE&gt;&gt; This would then allow to use the class hierarchy directly even
&gt; without the generation of the class files.&lt;&lt;QUOTE
&gt; 
&gt; How could the class hierarchy be used without generating them? Of
&gt; course
&gt; the hierarchy is already set up in memory, but to access a specific
&gt; Table object one would have to iterate all tables and find the desired
&gt; table with a string comparison.
&gt; 
&gt; In fact I like the idea, that a DBDatabase can replicate itself by
&gt; writing class files to the filesystem. However I don't see when that
&gt; could be useful. I'd prefer not to modify any of the existing classes
&gt; from empire-db core. If we still like to do so, I think it should be
&gt; done when the codegen is more mature.
&gt; 
&gt; 2. I am working on HSQL and H2. For testing I used a data model from a
&gt; university project I was once involved in. Where can I get DBSAMPLE and
&gt; the DBSAMPLEADV data models from?
&gt; 
&gt; Please let me know what you think about my comments.
&gt; Regards
&gt;     Benjamin
&gt; 
&gt; 
&gt; 
&gt; Rainer Döbele schrieb:
&gt; &gt; Hi everyone,
&gt; &gt;
&gt; &gt; I have now checked in Benjamin's patch of Oct 26th.
&gt; &gt; I have changed some bits about the logging and the exclusion of
&gt; tables containing a '$' in populateTableMetaData() in order to test it
&gt; with Oracle. Also I had to add one Apache license header in
&gt; DBUtil.java.
&gt; &gt;
&gt; &gt; For our next steps I would like to make the following suggestions:
&gt; &gt;
&gt; &gt; 1. At the moment we're parsing metadata obtained via JDBC into
&gt; generator specific classes (Database, Table, Column) which hold the
&gt; properties required for the velocity templates. The classes are simple
&gt; bean type classes.
&gt; &gt; However wouldn't it be much smarter if the metadata would be parsed
&gt; directly into an Empire-db class hierarchy i.e. use DBDatabase,
&gt; DBTable, DBColumn etc.?
&gt; &gt; This would then allow to use the class hierarchy directly even
&gt; without the generation of the class files.
&gt; &gt;
&gt; &gt; In a second step the class files should then be generated from an
&gt; Empire-db database (DBDatabase). This step should be independent from
&gt; step one, so that in theory one could provide the class hierarchy in
&gt; java and have the same classes generated again.
&gt; 
&gt; &gt; For properties required for the generation process which are not
&gt; available in the corresponding Empire-db classes we probably need to
&gt; provide a helper class or provide them through an extension of the
&gt; database class.
&gt; &gt;
&gt; &gt; 2. Afterwards we should be are able to test and debug it on different
&gt; database systems. I have currently tested it with the DBSAMPLE data
&gt; model on Oracle and I can do the same for Microsoft SQL-Server. We
&gt; should make sure that it works with the DBSAMPLE and DBSAMPLEADV data
&gt; model on all DBMS that we currently support. All committers please let
&gt; everyone else know what you are developing and testing with.
&gt; &gt;
&gt; &gt; 3. I assume that although JDBC should retrieve metadata in a
&gt; consistent way there will be aspects that are specific for a certain
&gt; DBMS (like the exclusion of tables containing a '$' symbol in Oracle).
&gt; This should be handled by the driver. At the moment however we're not
&gt; using the Empire-db database drivers and we need to think about how we
&gt; can let the driver intercept and modify the generation process.
&gt; &gt;
&gt; &gt; Suggestion 2 and 3 can wait. Most important for now is suggestion No
&gt; 1.
&gt; &gt; Thomas and Benjamin what do you thing about this idea?
&gt; &gt; Anyone volunteering for getting this done?
&gt; &gt;
&gt; &gt; Regards
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt;



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Interesting project</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911061126g1bf46313yf9d87b711b6677ef@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911061126g1bf46313yf9d87b711b6677ef@mail-gmail-com%3e</id>
<updated>2009-11-06T19:26:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I  put a reference on our wiki.

http://cwiki.apache.org/confluence/display/empiredb/Similar+Projects


On Wed, Aug 5, 2009 at 4:26 PM, Matthew Bond &lt;bond@esteam.de&gt; wrote:
&gt; Hi Dev Team,
&gt;
&gt; I just found JaQu which is also uses a similar idea as does Empire-db
&gt; http://www.h2database.com/html/jaqu.html
&gt;
&gt; They also reference our project on their web page.
&gt;
&gt; Matt Bond
&gt;
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: DB codgen next steps</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c4AEEE256.60108@web.de%3e"/>
<id>urn:uuid:%3c4AEEE256-60108@web-de%3e</id>
<updated>2009-11-02T13:44:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Rainer,

I really appreciate that my patch was useful, and I'd like to join up 
for the next issue.

Just a summary about the issues you postet, I'm not sure if I got them 
right.

1. So the data collection through JDBC will remain in the codegen, but 
uses already existing classes like DBDatabase, DBTable, DBColumn etc. to 
set up the class hierarchy. Using the already existing classes instead 
of another set of beans seems reasonable to me. The actual class file 
generation will then do the Empire-db database (DBDatabase) itself.

QUOTE&gt;&gt; This would then allow to use the class hierarchy directly even without the generation
of the class files.&lt;&lt;QUOTE

How could the class hierarchy be used without generating them? Of course 
the hierarchy is already set up in memory, but to access a specific 
Table object one would have to iterate all tables and find the desired 
table with a string comparison.

In fact I like the idea, that a DBDatabase can replicate itself by 
writing class files to the filesystem. However I don't see when that 
could be useful. I'd prefer not to modify any of the existing classes 
from empire-db core. If we still like to do so, I think it should be 
done when the codegen is more mature.

2. I am working on HSQL and H2. For testing I used a data model from a 
university project I was once involved in. Where can I get DBSAMPLE and 
the DBSAMPLEADV data models from?

Please let me know what you think about my comments.
Regards
    Benjamin



Rainer Döbele schrieb:
&gt; Hi everyone,
&gt;
&gt; I have now checked in Benjamin's patch of Oct 26th.
&gt; I have changed some bits about the logging and the exclusion of tables containing a '$'
in populateTableMetaData() in order to test it with Oracle. Also I had to add one Apache license
header in DBUtil.java.
&gt;
&gt; For our next steps I would like to make the following suggestions:
&gt;
&gt; 1. At the moment we're parsing metadata obtained via JDBC into generator specific classes
(Database, Table, Column) which hold the properties required for the velocity templates. The
classes are simple bean type classes.
&gt; However wouldn't it be much smarter if the metadata would be parsed directly into an
Empire-db class hierarchy i.e. use DBDatabase, DBTable, DBColumn etc.? 
&gt; This would then allow to use the class hierarchy directly even without the generation
of the class files.
&gt;
&gt; In a second step the class files should then be generated from an Empire-db database
(DBDatabase). This step should be independent from step one, so that in theory one could provide
the class hierarchy in java and have the same classes generated again. 
&gt; For properties required for the generation process which are not available in the corresponding
Empire-db classes we probably need to provide a helper class or provide them through an extension
of the database class.
&gt;
&gt; 2. Afterwards we should be are able to test and debug it on different database systems.
I have currently tested it with the DBSAMPLE data model on Oracle and I can do the same for
Microsoft SQL-Server. We should make sure that it works with the DBSAMPLE and DBSAMPLEADV
data model on all DBMS that we currently support. All committers please let everyone else
know what you are developing and testing with.
&gt;
&gt; 3. I assume that although JDBC should retrieve metadata in a consistent way there will
be aspects that are specific for a certain DBMS (like the exclusion of tables containing a
'$' symbol in Oracle). This should be handled by the driver. At the moment however we're not
using the Empire-db database drivers and we need to think about how we can let the driver
intercept and modify the generation process.
&gt;
&gt; Suggestion 2 and 3 can wait. Most important for now is suggestion No 1.
&gt; Thomas and Benjamin what do you thing about this idea?
&gt; Anyone volunteering for getting this done?
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;   



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: DB codgen next steps</title>
<author><name>Francis De Brabandere &lt;francisdb@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3c3ab983230911011339td9461abje8b094434e22827b@mail.gmail.com%3e"/>
<id>urn:uuid:%3c3ab983230911011339td9461abje8b094434e22827b@mail-gmail-com%3e</id>
<updated>2009-11-01T21:39:34Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I'm willing to test on mysql/postgre but I think we need a decent test
case for each of them so that we can rerun tests in the future...

On Sun, Nov 1, 2009 at 12:29 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; Hi everyone,
&gt;
&gt; I have now checked in Benjamin's patch of Oct 26th.
&gt; I have changed some bits about the logging and the exclusion of tables containing a '$'
in populateTableMetaData() in order to test it with Oracle. Also I had to add one Apache license
header in DBUtil.java.
&gt;
&gt; For our next steps I would like to make the following suggestions:
&gt;
&gt; 1. At the moment we're parsing metadata obtained via JDBC into generator specific classes
(Database, Table, Column) which hold the properties required for the velocity templates. The
classes are simple bean type classes.
&gt; However wouldn't it be much smarter if the metadata would be parsed directly into an
Empire-db class hierarchy i.e. use DBDatabase, DBTable, DBColumn etc.?
&gt; This would then allow to use the class hierarchy directly even without the generation
of the class files.
&gt;
&gt; In a second step the class files should then be generated from an Empire-db database
(DBDatabase). This step should be independent from step one, so that in theory one could provide
the class hierarchy in java and have the same classes generated again.
&gt; For properties required for the generation process which are not available in the corresponding
Empire-db classes we probably need to provide a helper class or provide them through an extension
of the database class.
&gt;
&gt; 2. Afterwards we should be are able to test and debug it on different database systems.
I have currently tested it with the DBSAMPLE data model on Oracle and I can do the same for
Microsoft SQL-Server. We should make sure that it works with the DBSAMPLE and DBSAMPLEADV
data model on all DBMS that we currently support. All committers please let everyone else
know what you are developing and testing with.
&gt;
&gt; 3. I assume that although JDBC should retrieve metadata in a consistent way there will
be aspects that are specific for a certain DBMS (like the exclusion of tables containing a
'$' symbol in Oracle). This should be handled by the driver. At the moment however we're not
using the Empire-db database drivers and we need to think about how we can let the driver
intercept and modify the generation process.
&gt;
&gt; Suggestion 2 and 3 can wait. Most important for now is suggestion No 1.
&gt; Thomas and Benjamin what do you thing about this idea?
&gt; Anyone volunteering for getting this done?
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;



-- 
http://www.somatik.be
Microsoft gives you windows, Linux gives you the whole house.


</pre>
</div>
</content>
</entry>
<entry>
<title>DB codgen next steps</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200911.mbox/%3cB297D4737108A0459B66C3A85BB7F901147476@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147476@kn-esteam-de%3e</id>
<updated>2009-11-01T11:29:58Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi everyone,

I have now checked in Benjamin's patch of Oct 26th.
I have changed some bits about the logging and the exclusion of tables containing a '$' in
populateTableMetaData() in order to test it with Oracle. Also I had to add one Apache license
header in DBUtil.java.

For our next steps I would like to make the following suggestions:

1. At the moment we're parsing metadata obtained via JDBC into generator specific classes
(Database, Table, Column) which hold the properties required for the velocity templates. The
classes are simple bean type classes.
However wouldn't it be much smarter if the metadata would be parsed directly into an Empire-db
class hierarchy i.e. use DBDatabase, DBTable, DBColumn etc.? 
This would then allow to use the class hierarchy directly even without the generation of the
class files.

In a second step the class files should then be generated from an Empire-db database (DBDatabase).
This step should be independent from step one, so that in theory one could provide the class
hierarchy in java and have the same classes generated again. 
For properties required for the generation process which are not available in the corresponding
Empire-db classes we probably need to provide a helper class or provide them through an extension
of the database class.

2. Afterwards we should be are able to test and debug it on different database systems. I
have currently tested it with the DBSAMPLE data model on Oracle and I can do the same for
Microsoft SQL-Server. We should make sure that it works with the DBSAMPLE and DBSAMPLEADV
data model on all DBMS that we currently support. All committers please let everyone else
know what you are developing and testing with.

3. I assume that although JDBC should retrieve metadata in a consistent way there will be
aspects that are specific for a certain DBMS (like the exclusion of tables containing a '$'
symbol in Oracle). This should be handled by the driver. At the moment however we're not using
the Empire-db database drivers and we need to think about how we can let the driver intercept
and modify the generation process.

Suggestion 2 and 3 can wait. Most important for now is suggestion No 1.
Thomas and Benjamin what do you thing about this idea?
Anyone volunteering for getting this done?

Regards
Rainer



</pre>
</div>
</content>
</entry>
<entry>
<title>ORM the Vietnam of our industry</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3cB297D4737108A0459B66C3A85BB7F90114742A@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F90114742A@kn-esteam-de%3e</id>
<updated>2009-10-27T18:39:07Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Just came across a very old article and a recent blog that are interesting to read.

http://www.codinghorror.com/blog/archives/000621.html
and
http://go.techtarget.com/r/9694083/2839727

Rainer



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: How to submit code in JIRA? | empire-db codegenerator</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c4AE630C4.1070000@web.de%3e"/>
<id>urn:uuid:%3c4AE630C4-1070000@web-de%3e</id>
<updated>2009-10-26T23:29:08Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Okay, found it out by myself.
I had to log in first :P.



Benjamin Venditti schrieb:
&gt; Hello Marijn,
&gt;
&gt; I have a new eclipse-patch ready that considers rainers changes.
&gt; Could you please explain me how i can submitt the patch in JIRA?
&gt;
&gt; I've already tried the following link, however haven't seen a "submit 
&gt; code" button or something similar.
&gt;
&gt;    https://issues.apache.org/jira/browse/EMPIREDB/component/12313027
&gt;
&gt; Regards,
&gt;    Benjamin
&gt;
&gt; Martijn Dashorst schrieb:
&gt;&gt; On Mon, Oct 26, 2009 at 11:19 PM, Rainer Döbele &lt;doebele@esteam.de&gt; 
&gt;&gt; wrote:
&gt;&gt;  
&gt;&gt;&gt; Would you be able to send me a patch for your changed based on the 
&gt;&gt;&gt; code in the repository?
&gt;&gt;&gt;     
&gt;&gt;
&gt;&gt; Use JIRA for this. It is the official communication protocol between
&gt;&gt; non-committers and committers. Sending patches privately ensures that
&gt;&gt; only one person can work and evaluate the patch. Having it available
&gt;&gt; in JIRA gives the whole team access.
&gt;&gt;
&gt;&gt; Martijn
&gt;&gt;   
&gt;



</pre>
</div>
</content>
</entry>
<entry>
<title>How to submit code in JIRA? | empire-db codegenerator</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c4AE62ED3.5060007@web.de%3e"/>
<id>urn:uuid:%3c4AE62ED3-5060007@web-de%3e</id>
<updated>2009-10-26T23:20:51Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hello Marijn,

I have a new eclipse-patch ready that considers rainers changes.
Could you please explain me how i can submitt the patch in JIRA?

I've already tried the following link, however haven't seen a "submit 
code" button or something similar.

    https://issues.apache.org/jira/browse/EMPIREDB/component/12313027

Regards,
    Benjamin

Martijn Dashorst schrieb:
&gt; On Mon, Oct 26, 2009 at 11:19 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt;   
&gt;&gt; Would you be able to send me a patch for your changed based on the code in the repository?
&gt;&gt;     
&gt;
&gt; Use JIRA for this. It is the official communication protocol between
&gt; non-committers and committers. Sending patches privately ensures that
&gt; only one person can work and evaluate the patch. Having it available
&gt; in JIRA gives the whole team access.
&gt;
&gt; Martijn
&gt;   



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Initial code submission from Thomas merged</title>
<author><name>Martijn Dashorst &lt;martijn.dashorst@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c918312fe0910261535n4a9a3c91v89cec5dca98b40e0@mail.gmail.com%3e"/>
<id>urn:uuid:%3c918312fe0910261535n4a9a3c91v89cec5dca98b40e0@mail-gmail-com%3e</id>
<updated>2009-10-26T22:35:34Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
On Mon, Oct 26, 2009 at 11:19 PM, Rainer Döbele &lt;doebele@esteam.de&gt; wrote:
&gt; Would you be able to send me a patch for your changed based on the code in the repository?

Use JIRA for this. It is the official communication protocol between
non-committers and committers. Sending patches privately ensures that
only one person can work and evaluate the patch. Having it available
in JIRA gives the whole team access.

Martijn


</pre>
</div>
</content>
</entry>
<entry>
<title>Initial code submission from Thomas merged</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3cB297D4737108A0459B66C3A85BB7F901147419@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147419@kn-esteam-de%3e</id>
<updated>2009-10-26T22:19:07Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi everyone,

 

I have just checked in the code submitted by Thomas which I have merged with my project skeleton.

 

Just after I had submitted the code I found Benjamin's message with his patch.

So it seems that we concurrently made some changes.

 

Sorry Benjamin, I won't be able to look at your code tonight.

Please check out the current state of the empire-db-codegen and work with the code from the
repository.

Would you be able to send me a patch for your changed based on the code in the repository?

 

I have modified a few things like getting rid of the DataSource.

This is a starting point and before we continue adding more features we should review and
improve the overall architecture.

 

Regards

 

Rainer

 



</pre>
</div>
</content>
</entry>
<entry>
<title>Empire-db code generator | 2nd patch</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c4AE61351.1000104@web.de%3e"/>
<id>urn:uuid:%3c4AE61351-1000104@web-de%3e</id>
<updated>2009-10-26T21:23:29Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I'm sorry,

the patch contained a little bug. here is the fixed one.

Regards
    Benjamin


Benjamin Venditti schrieb:
&gt; Hi there,
&gt;
&gt; i have crated a eclipse-patch that contains the codegenerator with 
&gt; very basic functionality.
&gt; I have taken care of multi-column primary keys, the connection stuff 
&gt; as well as the unclosed ResultSets.
&gt;
&gt; The generator is quit basic at the moment and the following will not 
&gt; work:
&gt;    - column specific getters/setters on specific records
&gt;    - nested table generation within the database
&gt;    - relation mapping (foreign key dependencies)
&gt;    - locking columns
&gt;    - views
&gt;    - name prefix for tables, views
&gt;    - configuration of schemaPattern, catalogName, tablePattern, this 
&gt; is hardcoded at the moment with (null, null, null) see "// TODO 01" in 
&gt; the sourcecode.
&gt;
&gt; A additional configuration option was added named "outputFolder" this 
&gt; is the folder where the generated sourcode will be stored.
&gt;
&gt; I'd be happy if anyone could have a look at it.
&gt;
&gt; Regards
&gt;    Benjamin
&gt;
&gt; Rainer Döbele schrieb:
&gt;&gt; Hi Benni,
&gt;&gt;
&gt;&gt; yes I would be grateful if you could do that.
&gt;&gt; We just have to make sure that we don't work on the same subject.
&gt;&gt;
&gt;&gt; The first goal should be to create a connection and generate the 
&gt;&gt; database and table classes.
&gt;&gt; Thomas is using a BasicDataSource for connection pooling.
&gt;&gt; However I don't think we need to do that. I'd rather have a simple 
&gt;&gt; JDBC connection like the one we use in our samples.
&gt;&gt;
&gt;&gt; Further we need to find a solution for detecting the primary key column.
&gt;&gt; We cannot assume the primary key is always a single column with the 
&gt;&gt; same name throughout the db.
&gt;&gt;
&gt;&gt; What I also found is that ResultSets obtained for reading meta data 
&gt;&gt; are not always closed.
&gt;&gt; e.g. ResultSet tables = dbMeta.getTables(...)
&gt;&gt; should be closed in a finally block.
&gt;&gt;
&gt;&gt; Rather than trying to get over as much code as possible we should 
&gt;&gt; carefully rethink how we can improve the overall architecture and do 
&gt;&gt; several small steps instead of one big one. I am convinced this will 
&gt;&gt; lead to a better solution.
&gt;&gt;
&gt;&gt; So please let me know until when you think you can come up with the 
&gt;&gt; first classes to integrate.
&gt;&gt;
&gt;&gt; Regards
&gt;&gt; Rainer
&gt;&gt;
&gt;&gt;
&gt;&gt; benniven@web.de wrote:
&gt;&gt;  
&gt;&gt;&gt; Re: Starting with Empire-db code generator
&gt;&gt;&gt;
&gt;&gt;&gt; Hi,
&gt;&gt;&gt;
&gt;&gt;&gt; I had a look at the classes rainer provided in the repository and at
&gt;&gt;&gt; those of thomas. I think we can reuse a large part of thomas' code,
&gt;&gt;&gt; however we'll have to rewrite some things like the table generation
&gt;&gt;&gt; part
&gt;&gt;&gt; and remove some things like configuration and connection stuff (rainer
&gt;&gt;&gt; already provided that in the repo).
&gt;&gt;&gt;
&gt;&gt;&gt; So my suggestion is to migrate thomas' code with its functionality and
&gt;&gt;&gt; behavior as it is for now and adapt/rewrite it in the next steps to our
&gt;&gt;&gt; needs. Please let me know what you think. I'd be happy to start with
&gt;&gt;&gt; the
&gt;&gt;&gt; migration soon.
&gt;&gt;&gt;
&gt;&gt;&gt; Regards
&gt;&gt;&gt;     Benjamin
&gt;&gt;&gt;
&gt;&gt;&gt; Rainer Döbele schrieb:
&gt;&gt;&gt;    
&gt;&gt;&gt;&gt; Hi,
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; I will have a look at it this weekend.
&gt;&gt;&gt;&gt; I am sorry, but I have just been very very busy recently.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; Regards
&gt;&gt;&gt;&gt; Rainer
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; Francis De Brabandere wrote:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;      
&gt;&gt;&gt;&gt;&gt; Re: Starting with Empire-db code generator
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; What should be done to get this going?
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; On Thu, Oct 15, 2009 at 1:09 PM, Martijn Dashorst
&gt;&gt;&gt;&gt;&gt; &lt;martijn.dashorst@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;        
&gt;&gt;&gt;&gt;&gt;&gt; On Mon, Oct 12, 2009 at 9:28 AM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;           
&gt;&gt;&gt;&gt;&gt; wrote:
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;        
&gt;&gt;&gt;&gt;&gt;&gt;&gt; the current code is IMO not flexible enough and even more
&gt;&gt;&gt;&gt;&gt;&gt;&gt;             
&gt;&gt;&gt; important
&gt;&gt;&gt;    
&gt;&gt;&gt;&gt;&gt; it is Thomas' code and I see legal problems in just copying the
&gt;&gt;&gt;&gt;&gt;         
&gt;&gt;&gt; code.
&gt;&gt;&gt;    
&gt;&gt;&gt;&gt;&gt;&gt; As long as Thomas has signed a CLA, wrote the code, and is allowed
&gt;&gt;&gt;&gt;&gt;&gt;           
&gt;&gt;&gt; to
&gt;&gt;&gt;    
&gt;&gt;&gt;&gt;&gt;&gt; license it to the ASF, there are no legal problems in copying the
&gt;&gt;&gt;&gt;&gt;&gt; code.
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt; Martijn
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;&gt;           
&gt;&gt;&gt;&gt;&gt; -- 
&gt;&gt;&gt;&gt;&gt; http://www.somatik.be
&gt;&gt;&gt;&gt;&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;         
&gt;&gt;
&gt;&gt;   
&gt;



</pre>
</div>
</content>
</entry>
<entry>
<title>Empire-db code generator | 1st patch</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c4AE611EE.6050503@web.de%3e"/>
<id>urn:uuid:%3c4AE611EE-6050503@web-de%3e</id>
<updated>2009-10-26T21:17:34Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi there,

i have crated a eclipse-patch that contains the codegenerator with very 
basic functionality.
I have taken care of multi-column primary keys, the connection stuff as 
well as the unclosed ResultSets.

The generator is quit basic at the moment and the following will not work:
    - column specific getters/setters on specific records
    - nested table generation within the database
    - relation mapping (foreign key dependencies)
    - locking columns
    - views
    - name prefix for tables, views
    - configuration of schemaPattern, catalogName, tablePattern, this is 
hardcoded at the moment with (null, null, null) see "// TODO 01" in the 
sourcecode.

A additional configuration option was added named "outputFolder" this is 
the folder where the generated sourcode will be stored.

I'd be happy if anyone could have a look at it.

Regards
    Benjamin

Rainer Döbele schrieb:
&gt; Hi Benni,
&gt;
&gt; yes I would be grateful if you could do that.
&gt; We just have to make sure that we don't work on the same subject.
&gt;
&gt; The first goal should be to create a connection and generate the database and table classes.
&gt; Thomas is using a BasicDataSource for connection pooling.
&gt; However I don't think we need to do that. I'd rather have a simple JDBC connection like
the one we use in our samples.
&gt;
&gt; Further we need to find a solution for detecting the primary key column.
&gt; We cannot assume the primary key is always a single column with the same name throughout
the db.
&gt;
&gt; What I also found is that ResultSets obtained for reading meta data are not always closed.
&gt; e.g. ResultSet tables = dbMeta.getTables(...)
&gt; should be closed in a finally block.
&gt;
&gt; Rather than trying to get over as much code as possible we should carefully rethink how
we can improve the overall architecture and do several small steps instead of one big one.
I am convinced this will lead to a better solution.
&gt;
&gt; So please let me know until when you think you can come up with the first classes to
integrate.
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;
&gt; benniven@web.de wrote:
&gt;   
&gt;&gt; Re: Starting with Empire-db code generator
&gt;&gt;
&gt;&gt; Hi,
&gt;&gt;
&gt;&gt; I had a look at the classes rainer provided in the repository and at
&gt;&gt; those of thomas. I think we can reuse a large part of thomas' code,
&gt;&gt; however we'll have to rewrite some things like the table generation
&gt;&gt; part
&gt;&gt; and remove some things like configuration and connection stuff (rainer
&gt;&gt; already provided that in the repo).
&gt;&gt;
&gt;&gt; So my suggestion is to migrate thomas' code with its functionality and
&gt;&gt; behavior as it is for now and adapt/rewrite it in the next steps to our
&gt;&gt; needs. Please let me know what you think. I'd be happy to start with
&gt;&gt; the
&gt;&gt; migration soon.
&gt;&gt;
&gt;&gt; Regards
&gt;&gt;     Benjamin
&gt;&gt;
&gt;&gt; Rainer Döbele schrieb:
&gt;&gt;     
&gt;&gt;&gt; Hi,
&gt;&gt;&gt;
&gt;&gt;&gt; I will have a look at it this weekend.
&gt;&gt;&gt; I am sorry, but I have just been very very busy recently.
&gt;&gt;&gt;
&gt;&gt;&gt; Regards
&gt;&gt;&gt; Rainer
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; Francis De Brabandere wrote:
&gt;&gt;&gt;
&gt;&gt;&gt;       
&gt;&gt;&gt;&gt; Re: Starting with Empire-db code generator
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; What should be done to get this going?
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; On Thu, Oct 15, 2009 at 1:09 PM, Martijn Dashorst
&gt;&gt;&gt;&gt; &lt;martijn.dashorst@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;         
&gt;&gt;&gt;&gt;&gt; On Mon, Oct 12, 2009 at 9:28 AM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;           
&gt;&gt;&gt;&gt; wrote:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;         
&gt;&gt;&gt;&gt;&gt;&gt; the current code is IMO not flexible enough and even more
&gt;&gt;&gt;&gt;&gt;&gt;             
&gt;&gt; important
&gt;&gt;     
&gt;&gt;&gt;&gt; it is Thomas' code and I see legal problems in just copying the
&gt;&gt;&gt;&gt;         
&gt;&gt; code.
&gt;&gt;     
&gt;&gt;&gt;&gt;&gt; As long as Thomas has signed a CLA, wrote the code, and is allowed
&gt;&gt;&gt;&gt;&gt;           
&gt;&gt; to
&gt;&gt;     
&gt;&gt;&gt;&gt;&gt; license it to the ASF, there are no legal problems in copying the
&gt;&gt;&gt;&gt;&gt; code.
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; Martijn
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt;           
&gt;&gt;&gt;&gt; --
&gt;&gt;&gt;&gt; http://www.somatik.be
&gt;&gt;&gt;&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;         
&gt;
&gt;   



</pre>
</div>
</content>
</entry>
<entry>
<title>re: Starting with Empire-db code generator</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3cB297D4737108A0459B66C3A85BB7F901147408@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F901147408@kn-esteam-de%3e</id>
<updated>2009-10-26T09:04:42Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Benni,

yes I would be grateful if you could do that.
We just have to make sure that we don't work on the same subject.

The first goal should be to create a connection and generate the database and table classes.
Thomas is using a BasicDataSource for connection pooling.
However I don't think we need to do that. I'd rather have a simple JDBC connection like the
one we use in our samples.

Further we need to find a solution for detecting the primary key column.
We cannot assume the primary key is always a single column with the same name throughout the
db.

What I also found is that ResultSets obtained for reading meta data are not always closed.
e.g. ResultSet tables = dbMeta.getTables(...)
should be closed in a finally block.

Rather than trying to get over as much code as possible we should carefully rethink how we
can improve the overall architecture and do several small steps instead of one big one. I
am convinced this will lead to a better solution.

So please let me know until when you think you can come up with the first classes to integrate.

Regards
Rainer


benniven@web.de wrote:
&gt; Re: Starting with Empire-db code generator
&gt; 
&gt; Hi,
&gt; 
&gt; I had a look at the classes rainer provided in the repository and at
&gt; those of thomas. I think we can reuse a large part of thomas' code,
&gt; however we'll have to rewrite some things like the table generation
&gt; part
&gt; and remove some things like configuration and connection stuff (rainer
&gt; already provided that in the repo).
&gt; 
&gt; So my suggestion is to migrate thomas' code with its functionality and
&gt; behavior as it is for now and adapt/rewrite it in the next steps to our
&gt; needs. Please let me know what you think. I'd be happy to start with
&gt; the
&gt; migration soon.
&gt; 
&gt; Regards
&gt;     Benjamin
&gt; 
&gt; Rainer Döbele schrieb:
&gt; &gt; Hi,
&gt; &gt;
&gt; &gt; I will have a look at it this weekend.
&gt; &gt; I am sorry, but I have just been very very busy recently.
&gt; &gt;
&gt; &gt; Regards
&gt; &gt; Rainer
&gt; &gt;
&gt; &gt;
&gt; &gt; Francis De Brabandere wrote:
&gt; &gt;
&gt; &gt;&gt; Re: Starting with Empire-db code generator
&gt; &gt;&gt;
&gt; &gt;&gt; What should be done to get this going?
&gt; &gt;&gt;
&gt; &gt;&gt; On Thu, Oct 15, 2009 at 1:09 PM, Martijn Dashorst
&gt; &gt;&gt; &lt;martijn.dashorst@gmail.com&gt; wrote:
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; On Mon, Oct 12, 2009 at 9:28 AM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt; wrote:
&gt; &gt;&gt;
&gt; &gt;&gt;&gt;&gt; the current code is IMO not flexible enough and even more
&gt; important
&gt; &gt;&gt;&gt;&gt;
&gt; &gt;&gt; it is Thomas' code and I see legal problems in just copying the
&gt; code.
&gt; &gt;&gt;
&gt; &gt;&gt;&gt; As long as Thomas has signed a CLA, wrote the code, and is allowed
&gt; to
&gt; &gt;&gt;&gt; license it to the ASF, there are no legal problems in copying the
&gt; &gt;&gt;&gt; code.
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt; Martijn
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;&gt;
&gt; &gt;&gt;
&gt; &gt;&gt; --
&gt; &gt;&gt; http://www.somatik.be
&gt; &gt;&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt; &gt;&gt;



</pre>
</div>
</content>
</entry>
<entry>
<title>re: No Frills Code Generator</title>
<author><name>=?iso-8859-1?Q?Rainer_D=F6bele?= &lt;doebele@esteam.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3cB297D4737108A0459B66C3A85BB7F9011473FE@kn.esteam.de%3e"/>
<id>urn:uuid:%3cB297D4737108A0459B66C3A85BB7F9011473FE@kn-esteam-de%3e</id>
<updated>2009-10-25T21:59:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi Thomas,

thanks again for your code submission.
I have only now found some time to look at it and found that it needs some modifications before
I can check it in.
I think I can do some of the work next week.

Rainer


Thomas Poling wrote:
&gt; re: No Frills Code Generator
&gt;
&gt; Greetings All:
&gt; I'm finally back - a lot of business travel and a little, well deserved, vacation.
&gt; I think I've gathered all the ideas and will submit the attached jar as a starting point
for the code generator.
&gt; I just submitted the CLA form late last week but if you want to get this project into
the svn repository quickly you have my permission to use the attached source as a starting
point.
&gt; 
&gt; Please let me know what you think and more importantly what I left out or misinterpreted.
&gt; Thanks, Tom


</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Starting with Empire-db code generator</title>
<author><name>Benjamin Venditti &lt;benniven@web.de&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/incubator-empire-db-dev/200910.mbox/%3c4AE4C870.5050303@web.de%3e"/>
<id>urn:uuid:%3c4AE4C870-5050303@web-de%3e</id>
<updated>2009-10-25T21:51:44Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi,

I had a look at the classes rainer provided in the repository and at 
those of thomas. I think we can reuse a large part of thomas' code, 
however we'll have to rewrite some things like the table generation part 
and remove some things like configuration and connection stuff (rainer 
already provided that in the repo).

So my suggestion is to migrate thomas' code with its functionality and 
behavior as it is for now and adapt/rewrite it in the next steps to our 
needs. Please let me know what you think. I'd be happy to start with the 
migration soon.

Regards
    Benjamin

Rainer Döbele schrieb:
&gt; Hi,
&gt;
&gt; I will have a look at it this weekend.
&gt; I am sorry, but I have just been very very busy recently.
&gt;
&gt; Regards
&gt; Rainer
&gt;
&gt;
&gt; Francis De Brabandere wrote:
&gt;   
&gt;&gt; Re: Starting with Empire-db code generator
&gt;&gt;
&gt;&gt; What should be done to get this going?
&gt;&gt;
&gt;&gt; On Thu, Oct 15, 2009 at 1:09 PM, Martijn Dashorst
&gt;&gt; &lt;martijn.dashorst@gmail.com&gt; wrote:
&gt;&gt;     
&gt;&gt;&gt; On Mon, Oct 12, 2009 at 9:28 AM, Rainer Döbele &lt;doebele@esteam.de&gt;
&gt;&gt;&gt;       
&gt;&gt; wrote:
&gt;&gt;     
&gt;&gt;&gt;&gt; the current code is IMO not flexible enough and even more important
&gt;&gt;&gt;&gt;         
&gt;&gt; it is Thomas' code and I see legal problems in just copying the code.
&gt;&gt;     
&gt;&gt;&gt; As long as Thomas has signed a CLA, wrote the code, and is allowed to
&gt;&gt;&gt; license it to the ASF, there are no legal problems in copying the
&gt;&gt;&gt; code.
&gt;&gt;&gt;
&gt;&gt;&gt; Martijn
&gt;&gt;&gt;
&gt;&gt;&gt;       
&gt;&gt;
&gt;&gt; --
&gt;&gt; http://www.somatik.be
&gt;&gt; Microsoft gives you windows, Linux gives you the whole house.
&gt;&gt;     



</pre>
</div>
</content>
</entry>
</feed>
