Product info

Add-on overview » xHarbour SQLRDD + SQLEX » more info about SQLRDD

SQLRDD Architecture
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 queries
2. 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>
and
Summarizing 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