Is it dynamically generated SQL, or a dynamically generated prepared
statement? If the latter, many databases will cache them locally.
Even when you do not do the standard “prepare, call, call, call, *”
sequence the db will pull the (prepared) statement from its cache and
use it. Too, some DB drivers do this.
RoR uses dynamically generated SQL. The reason given is that not all
RDBMS’ support prepared statements.
Until recently, MySQL did not support prepared statements at all. Last
I heard (which is not gospel since I do follow MySQL’s status at all),
its prepared statement support was still quite flaky. After MySQL’s
purchase of Netfrastructure, I believe that it is more worthwhile
following their status now than it was a year ago.
Since most RoR showcase work is done with MySQL, MySQL’s weaknesses
became the driver for the ActiveRecord’s approach.
It looks like my post and the OP’s posts were confused here.
On company time I have given my assessment that RoR is a “watch”
technology that is worth re-evaluating in a year, after the some of the
out-standing maturity issues in the language and platform have been
ironed out by its users.
My RoR projects are on my time. On my own time and for my own
projects, I will participate in bringing about the changes that I see
as necessary before I can recommend the platform to my employers.
Honestly, I mostly see a little bit of code cleanup required at some
key points that impact large scale environments but not small scale
environments.
It looks like my post and the OP’s posts were confused here.
On company time I have given my assessment that RoR is a “watch”
technology that is worth re-evaluating in a year, after the some of the
out-standing maturity issues in the language and platform have been
ironed out by its users.
My RoR projects are on my time. On my own time and for my own
projects, I will participate in bringing about the changes that I see
as necessary before I can recommend the platform to my employers.
Honestly, I mostly see a little bit of code cleanup required at some
key points that impact large scale environments but not small scale
environments.
I worked for 25 years in product development (mechanical). Here’s what
I found: selling a new concept is like hitting a big rock with a
hammer. The first two times you hit it, nothing happens. The third
time, it falls in two.
I never figured out how to go directly to the third blow.
But Tom A. has a good approach, in my experience:
Work in RoR on little projects in little pieces.
For example – develop a proof of concept on webrick. You don’t need the sys
admins support for that and you can still demonstrate a viable product. If you
are able to show how agile the development process is (develop segments in the
meeting) then it will have an impact on someone.
Except that you might want to use Mongrel.
Eventually, people will notice that your proof-of-concept is better
than ‘their’ finished product. Or, people will just start using your
proof-of-concept “informally” until the java version is finished, and
eventually, someone will ask “Why do we even do the java version?”
Remember: you can get anything you want in life, as long as you don’t
care who takes the credit.