RE: RE: Subproject Proposal - crossdb
From an outsider's perspective, you probably need a new proposal. Un saludo, Alex. -Mensaje original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Enviado el: jueves 25 de abril de 2002 3:06 Para: Jakarta General List Asunto: RE: RE: Subproject Proposal - crossdb So, I'm kind of curious what the general consensus is regarding this. Seems to be in various directions. Travis Original Message From: Jeff Schnitzer [EMAIL PROTECTED] Sent: 2002-04-24 To: Jakarta General List [EMAIL PROTECTED] Subject: RE: Subproject Proposal - crossdb From: Jon Scott Stevens [mailto:[EMAIL PROTECTED]] on 4/22/02 12:19 AM, Leo Simons [EMAIL PROTECTED] wrote: While these may not be accurate summaries, I hope you now do see that CrossDB and Torque are not, in the majority of use cases, alternatives to one another. I'm sorry. I don't see that. Torque can do everything crossdb can do and more. Uhhh: Outer joins? Fetch data across multiple objects? Aggregation queries? Torque is an O/R mapping framework, with all of the inherent limitations of trying to make relational data look like objects. Crossdb is a database-independent abstraction of SQL (not JDBC, that's an important distinction!). These are not competitive facilities; in fact they should be highly complementary. At the moment, Torque's extremely limited Criteria object has a tough time with simple conditions like WHERE bob 5 and bob 10. Subqueries and joins are hopeless. Crossdb is what Torque desperately needs - a good database-independent way of specifying sophisticated conditions. The WhereClause in Crossdb could be substituted wholesale for Criteria. And for those of us that have to query our databases and obtain results which do not map 1-to-1 with a single object (such as anything that involves a group by or an outer join), we can bypass Torque and still have database independence. I think both Torque and Crossdb (if it has the community) are very much needed as top-level Jakarta projects. They are both bread-and-butter server development tools. Putting Crossdb under Torque makes about as much sense as putting Torque under Turbine. Oh, and Jon, the comparison with ECS is not very good. Web pages are a creative endeavor, whereas SQL statements are short and built by hard-core programmers. Also, simple HTML does not suffer from the problem of every web browser on the planet requiring a slightly different syntax for putting columns in a table... Velocity might be less useful if a separate template had to be written for every single web browser. Jeff Schnitzer [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: RE: Subproject Proposal - crossdb
So, I'm kind of curious what the general consensus is regarding this. Seems to be in various directions. I think JDBC should be a lot better; it should incorporate all the features of CrossDB (though maybe a little different), and some more. Then there should be higher-level tools like Torque that use it. Since JDBC has limitations, there should be something like a patch library that adds the extra features, while staying on the same level as JDBC. Torque should then use that. Whether the library should be a part of Torque or not is really only of marketing/exposure/etc concern; as long as its decoupled I'm happy. Jon indicates that this low level library already exists within Torque and that it is easy to use. If this is true, it may perhaps need some decoupling, and some of the stuff from CrossDB and similar OSS products fed into it. Since I will probably not do the programming of any of that anytime soon(no cycles), this is very IMHO. cheers, - Leo -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: RE: Subproject Proposal - crossdb
Put [VOTE] in the subject tag and you'll get a definitive answer. (I'm not sure you'll like it) Otherwise you'll get just discussion. Might want to give http://jakarta.apache.org/site/newproject.html another gander. Furthermore, you've gotten pretty definitive feedback from some folks on here. Here is who gets a binding vote: http://jakarta.apache.org/site/whoweare.html (See under the PMC) -Andy On Wed, 2002-04-24 at 21:05, [EMAIL PROTECTED] wrote: So, I'm kind of curious what the general consensus is regarding this. Seems to be in various directions. Travis Original Message From: Jeff Schnitzer [EMAIL PROTECTED] Sent: 2002-04-24 To: Jakarta General List [EMAIL PROTECTED] Subject: RE: Subproject Proposal - crossdb From: Jon Scott Stevens [mailto:[EMAIL PROTECTED]] on 4/22/02 12:19 AM, Leo Simons [EMAIL PROTECTED] wrote: While these may not be accurate summaries, I hope you now do see that CrossDB and Torque are not, in the majority of use cases, alternatives to one another. I'm sorry. I don't see that. Torque can do everything crossdb can do and more. Uhhh: Outer joins? Fetch data across multiple objects? Aggregation queries? Torque is an O/R mapping framework, with all of the inherent limitations of trying to make relational data look like objects. Crossdb is a database-independent abstraction of SQL (not JDBC, that's an important distinction!). These are not competitive facilities; in fact they should be highly complementary. At the moment, Torque's extremely limited Criteria object has a tough time with simple conditions like WHERE bob 5 and bob 10. Subqueries and joins are hopeless. Crossdb is what Torque desperately needs - a good database-independent way of specifying sophisticated conditions. The WhereClause in Crossdb could be substituted wholesale for Criteria. And for those of us that have to query our databases and obtain results which do not map 1-to-1 with a single object (such as anything that involves a group by or an outer join), we can bypass Torque and still have database independence. I think both Torque and Crossdb (if it has the community) are very much needed as top-level Jakarta projects. They are both bread-and-butter server development tools. Putting Crossdb under Torque makes about as much sense as putting Torque under Turbine. Oh, and Jon, the comparison with ECS is not very good. Web pages are a creative endeavor, whereas SQL statements are short and built by hard-core programmers. Also, simple HTML does not suffer from the problem of every web browser on the planet requiring a slightly different syntax for putting columns in a table... Velocity might be less useful if a separate template had to be written for every single web browser. Jeff Schnitzer [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- http://www.superlinksoftware.com http://jakarta.apache.org/poi - port of Excel/Word/OLE 2 Compound Document format to java http://developer.java.sun.com/developer/bugParade/bugs/4487555.html - fix java generics! The avalanche has already started. It is too late for the pebbles to vote. -Ambassador Kosh -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: RE: Subproject Proposal - crossdb
So, I'm kind of curious what the general consensus is regarding this. Seems to be in various directions. Travis Original Message From: Jeff Schnitzer [EMAIL PROTECTED] Sent: 2002-04-24 To: Jakarta General List [EMAIL PROTECTED] Subject: RE: Subproject Proposal - crossdb From: Jon Scott Stevens [mailto:[EMAIL PROTECTED]] on 4/22/02 12:19 AM, Leo Simons [EMAIL PROTECTED] wrote: While these may not be accurate summaries, I hope you now do see that CrossDB and Torque are not, in the majority of use cases, alternatives to one another. I'm sorry. I don't see that. Torque can do everything crossdb can do and more. Uhhh: Outer joins? Fetch data across multiple objects? Aggregation queries? Torque is an O/R mapping framework, with all of the inherent limitations of trying to make relational data look like objects. Crossdb is a database-independent abstraction of SQL (not JDBC, that's an important distinction!). These are not competitive facilities; in fact they should be highly complementary. At the moment, Torque's extremely limited Criteria object has a tough time with simple conditions like WHERE bob 5 and bob 10. Subqueries and joins are hopeless. Crossdb is what Torque desperately needs - a good database-independent way of specifying sophisticated conditions. The WhereClause in Crossdb could be substituted wholesale for Criteria. And for those of us that have to query our databases and obtain results which do not map 1-to-1 with a single object (such as anything that involves a group by or an outer join), we can bypass Torque and still have database independence. I think both Torque and Crossdb (if it has the community) are very much needed as top-level Jakarta projects. They are both bread-and-butter server development tools. Putting Crossdb under Torque makes about as much sense as putting Torque under Turbine. Oh, and Jon, the comparison with ECS is not very good. Web pages are a creative endeavor, whereas SQL statements are short and built by hard-core programmers. Also, simple HTML does not suffer from the problem of every web browser on the planet requiring a slightly different syntax for putting columns in a table... Velocity might be less useful if a separate template had to be written for every single web browser. Jeff Schnitzer [EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
[EMAIL PROTECTED] wrote on 22/04/2002 03:59:43 PM: Actually Jon, Torque and crossdb are quite a bit different. Torque is pre generated and requires some preliminary setup and doesn't deal with SQL statements directly. Whereas crossdb is on the fly and is an object oriented way of creating SQL statements that are database independent. Torque row insert example after generation (taken from tutorial): Publisher addison = new Publisher(); addison.setName(Addison Wesley Professional); addison.save(); Author bloch = new Author(); bloch.setFirstName(Joshua); bloch.setLastName(Bloch); bloch.save(); crossdb row insert example: InsertQuery iq = factory.getInsertQuery(); iq.setTable(Employees); iq.addAutoIncrementColumn(emp_id); And for databases without an auto-increment feature?? iq.addColumn(emp_name, Travis Reeder); iq.addColumn(emp_department, Development); iq.execute(conn); Quite a bit different don't you think? Tim: I did read that page and thought I covered the more important points. Is there a formal way of doing these proposals? Travis [snip] -- dIon Gillard, Multitask Consulting Work: http://www.multitask.com.au Developers: http://adslgateway.multitask.com.au/developers -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
For dbs without an auto_inc feature, that db implementation would ignore this or handle it accordingly. Up to that implementation. Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-22 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb on 4/21/02 11:38 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: iq.addAutoIncrementColumn(emp_id); And for databases without an auto-increment feature?? FYI, Torque looks at what database driver you are using an will generate the right SQL/process to emulate auto-increment (assuming your database supports that...for example, MySQL will generate auto-increment columns...oracle will generate sequences). Torque also has a built-in IDBroker (based on Scott Ambler's design ideas) which you can use instead of auto-increment. This can actually outperform auto-increment and is 100% cross database compatible. -jon -- Nixon: At least with liquor, I don't lose motivation. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: RE: Subproject Proposal - crossdb
Thanks Leo, I couldn't have answered this better myself. ;-) Travis Original Message From: Leo Simons [EMAIL PROTECTED] Sent: 2002-04-22 To: Jakarta General List [EMAIL PROTECTED] Subject: RE: Subproject Proposal - crossdb I never said they were the same. I said that crossdb is a few generations behind Torque in design and thinking. In the sense that Torque is an object-relational tool and crossdb is not, Torque has a newer design. That does not mean relational tools do not have a place in Java anymore. You also left out all the code related to getting the 'conn' object. Torque abstracts all that away so it isn't necessary at all. Which is not valid in every use case. CrossDB uses a factory. Another problem with crossdb design is that you are defining all of the database logic within the code instead of abstracting it elsewhere. Which has advantages over O/R, which is the reason not everyone uses O/R for everything. I'd say it is a choice instead of a problem. What is the benefit of using crossdb over Torque? You do not have to use an O/R layer that abstracts you away from the database you are using so much that it limits your ability to use the DB's functionality in something resembling a db-natural way. You do not have to worry about typical O/R problems such as speed impediments. You can use crossDB in an interactive mode (like with BSH), while you cannot with Torque. I could go on and on, but I see no point. Summary: Torque is a persistence layer that uses O/R mapping to use a database to provide persistence. A persistence layer is a handy tool in many server applications. CrossDB is a database abstraction layer that uses the Factory and the Builder pattern a lot which enables you to write code that works on several databases, transparantly. You can see it as an extension to JDBC. Database abstraction layers are useful in any application that talks to databases. While these may not be accurate summaries, I hope you now do see that CrossDB and Torque are not, in the majority of use cases, alternatives to one another. Note: I gathered all this from just three code snippets on the CrossDB site and extensive use of Torque in my projects, so I may be wrong. - Leo -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
I'm not sure what all the fuss is about here, but the fact of the matter is that if you were to do a survey of developers using databases (SQL), my guess is that you would find that the majority probably still use hard sql statements. A lot of people don't see the need to use a high level system like Torque or simply just don't want to. I know people SHOULD use higher level concepts and ideas, but that's not always in tune with reality. It's the same reason some people still drop back into assembly for some things (well maybe not quite, but i'm just making a point). How about people using C when there are nice languages like Java? ;-) Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-22 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb As far as I'm concerned, you guys are arguing to use a technology that takes you 10 steps back. I just don't get it. Open your eyes. -jon -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
On Mon, 22 Apr 2002 [EMAIL PROTECTED] wrote: jon, are you a bitter man? ;-) This should answer your question: http://jakarta.apache.org/site/jon.html (yes, I know it was rhetorical) regards, michael Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-22 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb on 4/22/02 11:15 AM, Michael A. Smith [EMAIL PROTECTED] wrote: Speaking of which, why isn't torgue a top-level Jakarta subproject? Last I looked, it appeared to be completely independent of Turbine. Plus, as you say here, it also has a large developer and user base. Does the Torque community want to remain as part of Turbine for any particular reason? Just curious... regards, michael Torque has been separated for about a year now. We haven't found a reason to make it a top level project yet. I really don't understand why the location of a set of code matters. Get over the mental blocks and just use the code because it is good code, good design, not because of what CVS repo it lives in. -jon -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
Well it's beyond a starting project and it works and people use it. For what it's for, it works good. Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-22 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb on 4/22/02 1:47 PM, Michael McCallum [EMAIL PROTECTED] wrote: jon, are you a bitter man? ;-) I think the point he (Jon) is trying to make is why write another tool when there are entirely suitable ones out there already. You would be far better off adding you insights to an existing project than starting a new one. Bingo. -jon -- Nixon: At least with liquor, I don't lose motivation. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
lol. nice. Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-22 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb on 4/22/02 4:27 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I'll buy that. I know that when I first saw the *URL*, I tnhought it was tied to Turbine. http://jakarta.apache.org/torque/ Feel better now? -jon -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
I think as a sub-project of Torque is probably a good idea taking into consideration all the conversation in regards to this. On the one hand, you have the high level OR concept which should be used, should being the important term here. But on the other hand, a person should be able to use a more direct lower level API. Both having the important similarility of being database independent. Travis Original Message From: [EMAIL PROTECTED] Sent: 2002-04-22 To: Jakarta General List [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb On Mon, 22 Apr 2002, Daniel Rall wrote: CrossDB and Torque are entirely different layers. There's no reason for someone to use CrossDB instead of Torque unless they're either a) trying to avoid or circumvent O/R entirely, or b) trying to build an O/R framework. I think (a) is a reasonably valid use case. There are people who prefer to use SQL directly when talking with a database, without O/R. There are people who prefer JDO, or EJB-based persistence, or ODBMS-es. Some even want to use XML-databases ( whatever that is ). For those who prefer SQL, creating statements that will work on multiple databases ( and get around various stupid implementations of the SQL standard ) is a serious itch. I'm not sugesting we should accept crossdb - it still needs to pass other criteria like 'community' and 'scope'. I personally don't think the 'itch' is big enough for a top-level project - probably it would be much better if crossDB would be proposed as a sub-project of either torque or commons. Just MHO, Costin -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Re: Subproject Proposal - crossdb
Actually Jon, Torque and crossdb are quite a bit different. Torque is pre generated and requires some preliminary setup and doesn't deal with SQL statements directly. Whereas crossdb is on the fly and is an object oriented way of creating SQL statements that are database independent. Torque row insert example after generation (taken from tutorial): Publisher addison = new Publisher(); addison.setName(Addison Wesley Professional); addison.save(); Author bloch = new Author(); bloch.setFirstName(Joshua); bloch.setLastName(Bloch); bloch.save(); crossdb row insert example: InsertQuery iq = factory.getInsertQuery(); iq.setTable(Employees); iq.addAutoIncrementColumn(emp_id); iq.addColumn(emp_name, Travis Reeder); iq.addColumn(emp_department, Development); iq.execute(conn); Quite a bit different don't you think? Tim: I did read that page and thought I covered the more important points. Is there a formal way of doing these proposals? Travis Original Message From: Jon Scott Stevens [EMAIL PROTECTED] Sent: 2002-04-21 To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: Subproject Proposal - crossdb If anything, crossdb is something that is a few generations behind Torque in terms of functionality and design. http://jakarta.apache.org/turbine/torque/ Funny how all the rage recently seems to be creating these OR tools. -jon on 4/21/02 7:29 PM, Tim Vernum [EMAIL PROTECTED] wrote: From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]] On Sun, 2002-04-21 at 21:10, [EMAIL PROTECTED] wrote: The project is called crossdb and can be found at www.crossdb.com. What is it? crossdb is a Java API that is used to create SQL statements that are database independent. So you can write an application and have it run the exact same on any database (ie: MySQL, Oracle, MS SQL Server, etc.) Out of morbid curiosity... I couldn't find this answered on the website... How is this different then hsql (hsqldb.sourceforge.net) and why would I want to use it as opposed to hsql? I have nothing to do with either project, but hsql *is* a database. crossdb is a database API Your question is somewhat akin to what's the difference between jdbc and oracle? To the original poster (Travis), if you haven't already done so, you should read http://jakarta.apache.org/site/newproject.html and formulate your proposal to cover all the issues dicussed there. -- Nixon: At least with liquor, I don't lose motivation. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]