CrateDB's language is SQL but it uses the document-oriented approach of NoSQL style databases. CrateDB uses the SQL parser from Facebook Presto , its own query analysis and distributed query engine. Elasticsearch and Lucene is used for the transport protocol and cluster discovery and Netty for asynchronous event driven network application framework.
ray2501: CrateDB REST API supported parameter substitution, I use TclCurl to access its HTTP Endpoint and rl_json to handle JSON string. cratedb-tcl is a prototype to emulate prepare/execute behavior.