RACE stands for Riverwatcher Active Content Environment.
It is an efficient high-performance extension to the Apache web server that allows you to add dynamic capabilities such as form processing, database connectivity and dynamic content generation to your web site. RACE stands for Riverwatcher Active Content Environment.
RACE is very easy to use. Unlike most server-side scripting environments, it is designed for HTML scripters. With RACE, web developers now have an efficient and cost effective way to develop and deploy the next generation of dynamic web sites.
RACE is free. Commercial support via email and phone can be purchased. Please check out the support plans on the www.racekit.net site.
RACE currently works with all Apache servers (versions 1.3.x) for UNIX platforms including Solaris, LINUX, BSD and Mac OS X.
A key difference between RACE and all other server-side scripting environments is that the RACE execution context is the entire RACE page. In other server-side scripting languages, the execution context exists within a script block.
In ASP, such a script block is denoted by <% and %> and in PHP <?php and ?>. Because RACE is a true template language, it does not require a separate "output" statement to send data back to the browser.
For example, the following ASP script connects to a database and outputs the results to a browser:
The same code in PHP:
Set OBJdbConnection =Server.CreateObject("ADODB.Connection")
SQLQuery = "Select id, description FROM Models"
Set RSModels = OBJdbConnection.Execute(SQLQuery)
Do Until rsModels.EOF
Response.Write (rsModels("ID") & "
\n" & rsModels("Description") & "
The same code in ColdFusion looks like this:
$db = mysql_connect("localhost", "root");
$result = mysql_query("SELECT id, description FROM Models",$db);
<cfquery name="rsModels" datasource="catalog ">
To do the same in RACE:
select id, description from Models
<cfoutput query=" rsModels ">#id#
<database dsn="catalog" query="select id, description from Models">
This tighter level of integration of RACE scripts and HTML data not only results in shorter code, but also makes RACE scripts more intuitive to conceptualize and easier to program.
There are quite few sites that use RACE. Some of them have been running for over four years. You can check out RACE in action in the following sites: www.elementsofyou.com, www.usgpindy.net, www.hysterusa.com and www.openingbands.com.
RACE has native support for MySQL, mSQL, and PostgreSQL. RACE also supports iODBC, so any ODBC compliant databases such as Oracle, SyBase, etc. are also supported.
Since RACE supports multiple queries in a database tag, you can insert the line of data, then select the last auto_increment ID back from the database:
<database name="dbfoo" query="INSERT INTO foo (auto,text) VALUES(NULL,'text'); SELECT LAST_INSERT_ID() as LASTID from foo">