Query Abstraction Layer


QAL is an open source development project that aims to create a collection of libraries for mixing, moving, merging, substituting and transforming data; also in some cases, such as MongoDB, schemas.
Sources and destinations include different database backends, file formats like .csv, XML and spreadsheets. Even untidy HTML web pages can be used as both a source and destination.
For :Category:Relational database management systems|SQL/RDBMS backends, it has a database abstraction layer that supports basic connectivity to Postgres, MySQL / MariaDB, DB2, Oracle and MS SQL Server. It uses XML formats for representation of queries, transformation and merging, making it all processable by scripts.
With regards to SQL, QAL uses a subset of SQL features and data types, which while obviously not complete however is sufficient for most usages. It is however easy to instead use backend-specific SQL when the queries do not have to be backend-agnostic.
It is currently distributed as a Python Library and a Debian package file.
It is related to the Optimal BPM project. The Optimal BPM SourceForge project used to be DAL/QAL.