qlbridge:一个golang表达式评估器和库,用于构建基于SQL查询引擎的功能
QLBridge-Go SQL运行时引擎
一个嵌入式SQL执行引擎,用作SQL或类似SQL的功能的库。 可入侵,添加数据源(“存储”可以是rest api或其他任何东西),并添加功能。 请参阅的用法,该MySQL mysql后端兼容mysql(Elasticsearch,Google-Datastore,Mongo,Cassandra,Files)。
QLBridge的功能和目标
表达式引擎,用于评估单个表达式
对您的数据执行sql查询,可嵌入,未与存储层耦合
通过自定义go功能扩展VM,提供丰富的基本功能库
提供示例后端(csv,elasticsearch等)
方言
SQL
具有更多DSL过滤器的FilterQL(just Where子句),
简单表达式
表达评估引擎示例
这些表达式可以在应用程序中独立使用。 但是,相同的表达式可能是列,SQL中的group-by子句。
func main () {
// Add a custom function to the VM to make available to expression language
expr . FuncAdd