StepSqlite
Encyclopedia

StepSqlite is a multi-target PL/SQL compiler for the popular small database SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

 which supports a subset of Oracle
Oracle database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

 PL/SQL
PL/SQL
PL/SQL is Oracle Corporation's procedural extension language for SQL and the Oracle relational database...

 syntax. Oracle's Berkeley DB
Berkeley DB
Berkeley DB is a computer software library that provides a high-performance embedded database for key/value data. Berkeley DB is a programmatic software library written in C with API bindings for C++, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk, and most other programming languages...

 11g R2 release added support for SQL based on the popular SQLite API by including a version of SQLite
SQLite
SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

 in Berkeley DB. Consequently, StepSqlite can also be used as a third-party tool to run PL/SQL code on Berkeley DB.

Architecture

At the core of StepSqlite is a compiler with front-end (lexer, parser and tree-parser) built using ANTLR
ANTLR
In computer-based language recognition, ANTLR , or ANother Tool for Language Recognition, is a parser generator that uses LL parsing. ANTLR is the successor to the Purdue Compiler Construction Tool Set , first developed in 1989, and is under active development...

 and back-end built using StringTemplate. The back-end generates code in a high-level language like C++ or Java which is then compiled to machine code using the respective high-level language compiler. The entire compilation process is implemented 'in-the-cloud' and presented to user as a simple web-interface.
  1. Multi-target: It can be used to compile the same database interface written in PL/SQL for use on several target operating systems, architectures and language APIs. Currently it supports Linux and iPhone on x86 and ARM using Sqlite native C++ API.
  2. It is cloud-based
    Cloud computing
    Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

    : No installations are required to use it. No upgrades are required when new features are introduced.
  3. Major supported features include variable substitution (auto-binding) in SQL, built-in date operators, triggers with procedural code, packages and cursors.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK