Magic xpaは、コンパイルやリンクの段階がないダイナミックなツールです。Magicプログラムは、必要な処理コマンドをタスクの[ロジック]エディタなどに定義するだけですぐに実行できます。Magic xpaで定義されているデータビューもダイナミックなので、プログラム間やアプリケーション間で変更が可能です。Magic xpaのデータビューは柔軟で、様々な形で利用できます。
この柔軟性に単一の規則に基づいたエンジンを提供するために、Magic xpaでは、ダイナミックSQLを使用して、Magicプログラムに必要なSQLデータビューを構築します。SQLテーブルを使用するMagic xpaの各タスクによって、適切なSQL文が発行され、必要なデータビューが指定されます。その後、SQL文がMagicデータベースゲートウェイ によって準備されます。この準備段階で、DBMSオプティマイザによってSQL文の分析と処理の準備が行われます。
3GLや4GLは、コンパイルによって実行時のSQL文の解析と最適化を行わなくてもすむように埋め込みSQLを使用しますが、Magic xpaではコンパイルは使用しません。そのため、準備段階で繰り返し呼び出されるタスクを実行することによって、余分なオーバーヘッドが生じることがありますが、この場合、常駐タスクを利用すると、SQL文を一度だけ準備して解放しません。タスクが繰り返し呼び出される場合、新しいSQL文を準備する代わりに、既存のSQL文が使用されます。こうすれば、Magic xpaのダイナミックSQLは、埋め込みSQLを使用したプログラムと同等のパフォーマンスになります。
各データベースゲートウェイ毎の情報は以下のとおりです。
Oracle …… Oracleデータベースゲートウェイは、OCI(Oracle Call Interface)インタフェースを使用して、最大の処理能力とパフォーマンスを実現するように記述されています。このゲートウェイは、Oracle8以降で動作するように設計されています。
MS-SQL …… MS-SQL Serverデータベースゲートウェイは、OLE-DB(Object Link Embedding DB)インタフェースを使用して記述されています。最大限のパフォーマンスを得るために、クライアントのカーソルとコマンドが使用されます。このゲートウェイは、Microsoft SQL Server7以降で動作するように設計されています。
ODBC …… ODBCデータベースゲートウェイは、ODBC 2.00 APIを使用して記述されています。このゲートウェイは、ODBCドライバのVer2以降で動作するように設計されています。
Pervasive …… Magic xpaは、Pervasive SQL 2000 のISAMエンジン(Magic xpa Btrieveゲートウェイ)とSQLエンジン(Magic xpa Pervasiveゲートウェイを通して)をサポートします。