- ORM: select, insert, update, delete
- DDL: create table, create schema, create database
create table t2 as
select *
from t1
we are doomed because only a small subset of libraries is expressive enough to cover this scenario.
To make things worse, majority of database frameworks focus on Online Transaction Processing (OLTP) but I have to work with Data Warehouse (DW) databases:
- OLTP: Oracle, MSSQL, PostgreSQL, MySQL, ...
- DW: Netezza, Teradata, Hive, GreenPlum, ...
- SwissSQL
- General SQL Parser
- JSQLParser
General SQL Parser allows you to construct queries from the scratch. However, the verbosity has put me away from this product.
Finally JSQLParser comes to save the day. The developer is responsive and is willing to implement new features. However, it still takes a month until the new feature is implemented and propagated into the release. Hence there is a month, during which I have survive on my own code.
PS: Neither LINQ from Microsoft have support for DDL. And it lacks support for many DW databases like Netezza.