Closed bunnier closed 2 years ago
目前的问题是,返回的结果比较不友好,并且有些情况在 API 上没有明确定义。
例如对于 Scalar 方法:
Scalar
sql.ErrNoRows
实际使用起来,调用者非常难以判定。
为了解决这个问题,采用两种方式,思路为:
MapScan
SliceScan
我在 cmstar/sqlmer@065ab1e09 为特定类型的 Scalar* 添加一个 bool 值表示是否有行的形式, DbClient.Scarlar 应该可以用一样的模式。
Scalar*
DbClient.Scarlar
总体上,希望调用者的代码不会直接 import 标准库的 sql 包。
sql
在 v1.2.0 以上的 tag 中,已经按此方式处理,详见 bunnier/sqlmer@a93f468
目前的问题是,返回的结果比较不友好,并且有些情况在 API 上没有明确定义。
例如对于
Scalar
方法:sql.ErrNoRows
错误。实际使用起来,调用者非常难以判定。
为了解决这个问题,采用两种方式,思路为:
MapScan
/SliceScan
等以行为输出单位的 API :Scalar
这样返回一个值的 API :sql.ErrNoRows
。我在 cmstar/sqlmer@065ab1e09 为特定类型的
Scalar*
添加一个 bool 值表示是否有行的形式,DbClient.Scarlar
应该可以用一样的模式。总体上,希望调用者的代码不会直接 import 标准库的
sql
包。