Comments (5)
Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
- The pointer parameter currently passed from the Scan method can be passed to the bottom layer using ctx to complete the assignment.
- Regarding hooks, changing the underlying logic will make it incompatible with the current
HookSelectInput.Next
method, because users may rely on the return value of the Next method to do some processing on the data, and the changed logic will no longer be used. To return data by returning a value, you may need to add a new API or a new HookSelectInput. - Some enhancements can be made to the Scan method. For example, the parameters support basic type slices and only support one-dimensional type slices.
- The caching logic in the
Next
method may need to be changed. - For the time being, gconv.Convert is used to convert table field types to go language types.
- After the changes, it is recommended to abandon APIs such as One and All, and all use the Scan method for assignment, so that there is no need to copy back and forth through intermediate variables.
The call chain from the Scan method to the lowest level RowsToResult
from gf.
@gqcn 强哥怎么看呢?
from gf.
Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
@gqcn What do you think of Brother Qiang?
from gf.
关于(*gdb.HookSelectInput).Next 方法不兼容,目前我想到了以下几种解决方案
- Next 方法的参数返回值全部不变,在Next 方法内部增加一个变量来判断用户是否调用了Next,如果是用户主动调用的,则把所有的值重新复制一份返回出去,或者使用原来的api去做底层查询
- Next 方法的参数返回值全部不变,为gdb.Result增加一些新的api,遍历或者设置其中的一些值,全部使用新的api来做
- 使用新的api来代替Next方法。
其实可以1和3结合一下,提供新的api,同时旧的Next方法不变,在注释上加上Deprecated标记,
然后多提倡用户使用新的api来做。
from gf.
Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑🤝🧑👫🧑🏿🤝🧑🏻👩🏾🤝👨🏿👬🏿
Regarding the incompatibility of the (*gdb.HookSelectInput).Next method, I currently have the following solutions in mind:
- All the parameter return values of the Next method remain unchanged. Add a variable inside the Next method to determine whether the user has called Next. If the user actively calls Next, copy all the values and return them, or use the original ones. api to do underlying queries
- The parameter return values of the Next method remain unchanged. Add some new APIs to gdb.Result, traverse or set some of the values, and use the new APIs to do everything.
- Use the new API to replace the Next method.
In fact, you can combine 1 and 3 to provide a new API. At the same time, the old Next method remains unchanged, and the Deprecated mark is added to the annotation.
Then encourage users to use the new API.
from gf.
Related Issues (20)
- The fields in the structure will not be set to default values when requesting HOT 2
- If the request structure is a slice type structure, it is not bound to a value that meets the requirements. HOT 2
- gf gen ctrl bug
- database/gdb: I noticed there was a sharding feature before. Why was it removed HOT 1
- net/ghttp: openapi doc misses request parameter constraints when `CommonRequest` is set.
- Bug caused by combining ORM's List method and garry HOT 4
- database/gdb: Do you want to change the default Charset? HOT 3
- gf pack arg -p / not affect HOT 2
- database/gdb: create/update/delele time should not be overridden if it has been specified
- gf gen service -f CamelLower
- gdb: issue The SQL is wrong when using "WhereNotIn", if an empty parameter is passed HOT 1
- os/glog/glog_logger_rotate.go
- gf/init HOT 1
- gdb: Customizing the cache in the hook, the value obtained by the Count method is incorrect
- gdb: Is there any problem if the migrate function is not added? Or is it because its industry-level projects do not change the table from the code level, so it is not done? HOT 4
- frame/g/Dump: It is recommended to enhance the log friendliness of g.Dump. HOT 1
- os/gsession: the directory permission of session store is too open in linux
- \contrib\drivers\pgsql\v2: pgsql will report an error when inserting the data if it is an array. HOT 3
- errors/gerror: The judgment result of gerror's Is() method is a bit counter-intuitive HOT 4
- util/gvalid: When customizing validation rules, passing an empty array will become a string
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 gf.