Product info
Add-on overview » xHarbour SQLRDD + SQLEX » more info about SQLRDD
SQLRDD Architecture
A detailed look at SQLRDD
A detailed look at SQLRDD

RDD (Replaceble Database Drivers)- DBFCDX compatible
- RDD supports both DLL (Data Definition Language) and DML (Data Manipulation Language)
- Translate xBase (ISAM) to SQL
- Connection to the databases through the "Connection Classes"
SQL Parser- Offers a database independant SQL language
- Compiles the SQL and generates an SQL pCode
- Generates database specific SQL code based on SQL pCode
- Processes only DML (Select, Insert, Update, Delete)
Connection Classes- Collection of classes that provide database access
- Direct record set manipulation
- Provides direct database access to applications (with database's suitable SQL dialect)
A few differences with SQLRDD alternatives
• SQLRDD is the only tool on the market that allows real portability to many different databases.• Middleware or server side sofware is not necessary
• No royalties
• Only small changes in the source code are necessary
• Database's native data types and indexes are used.
• Databases can be shared with other languages and applications
Some exclusive features:
• SQL Parser (see samples/sqlrdd/query.prg)
• Historic data management (see samples/sqlrdd/historic.prg)
• Multi language data fields (see samples/sqlrdd/mlang.prg)
• Serializable data types in memo columns (see samples/sqlrdd/memo.prg)
Gaining performance
1. Change the main reports to use SQL queries2. Change table open to "SET AUTOPEN ON"
3. Adjust processing code where you find:
Seek/DoWhile <condition> / Skip / EndDo
replace with:
UPDATE ... SET ... = ... WHERE <condition>
andSummarizing loops, replace with:
SELECT ... WHERE <condition>
Fine Tuning
1. Rework old and/or bad code
2. Adopt server side filters
3. Use exclusive SQLRDD techniques (this is not supported by other RDD's)
4. Add referential and relational integrity to the database
