![](http://image.absoluteastronomy.com/images//topicimages/noimage.gif)
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 ANTLRANTLR
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.
- 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.
- It is cloud-basedCloud computingCloud 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. - Major supported features include variable substitution (auto-binding) in SQL, built-in date operators, triggers with procedural code, packages and cursors.