Comments (4)
@tlightsky 如果是符合database/sql接口标准的, 目前的都是可以用的. 直接注册一个对应的驱动即可.
同时, 驱动是分离的, 可以自由扩展驱动, 只需要实现最后的参数转换即可
from gorose.
@tlightsky 看了下, 貌似可以支持, 使用这个驱动 github.com/kshvakov/clickhouse
, 然后添加一个驱动builder继承mysql的即可, 可以使用通用标准的sql, 特殊的sql, 需要执行 原生操作 Query(), Execute(), 如果确实要用, 你可以提交一个pr, 添加这个驱动, 或者我来加上也可以
connect, err := gorose.Open("clickhouse", "tcp://127.0.0.1:9000?debug=true")
from gorose.
对,我们现在用的就是这个驱动,
嗯,等你加哈,不是很熟悉
from gorose.
@tlightsky 我在builder目录增加了一个文件 clickhouse_builder.go
,使用的是mysql的解析标准, 只要是标准sql都可以直接使用.
你更新到最新的master分支试试. 内容如下:
package builder
import (
"github.com/gohouse/gorose/across"
)
type ClickhouseBuilder struct {
}
func init() {
// 检查解析器是否实现了接口
var builder IBuilder = &ClickhouseBuilder{}
// 注册驱动
Register("clickhouse", builder)
}
func (b ClickhouseBuilder) BuildQuery(api across.OrmApi) (sql string, err error) {
return builders["mysql"].BuildQuery(api)
}
func (b ClickhouseBuilder) BuildExecute(api across.OrmApi, operType string) (string, error) {
return builders["mysql"].BuildExecute(api, operType)
}
from gorose.
Related Issues (20)
- preceding tag (v0.0.3-rc) not found HOT 1
- 当 IN 查询的条件为空数组时报错
- 提供 IfEnableSqlLog() 功能
- runtime error: invalid memory address or nil pointer dereference in driver.Open
- 结构体继承之后再进行映射会有问题
- 是否考虑引入Finisher方法的概念
- 在使用 engin.SetLogger(Logger) 的时候报错,期望官方的 type ILogger interface 支持 go.uber.org/zap
- 为什么批量写入会出错,将multi_data 的数据删除一条,成功执行
- 使用 insert对ClickHouse进行新增操作 ,插入一条数据成功后,拿不到count,而且err!=nil
- 这个没办法手动设置要查询的数据库么?
- 这个框架还在更新么?结构体字段支持map、slice或自定义结构体么 HOT 1
- 想要在日志里记录trace/request id HOT 1
- Prefix 问题 HOT 1
- json_contains(contactIdList,38710)
- transaction中使用select()会造成执行结果无法写回映射对象
- Execute无法执行lock tables 之类的sql HOT 2
- Execute无法执行lock tables 之类的sql HOT 1
- 如何实现多个数据库之前的切换使用
- Where编译时bool参数的问题
- panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x1002959f9] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gorose.