Lunny Xiao
b75df472e4
Merge branch 'master' of gitea.com:CyJaySong/xorm into CyJaySong-master
2023-07-26 09:47:36 +08:00
takumin
1572367155
Add dialects/time_test.go ( #2169 )
...
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2169
Co-authored-by: takumin <takumiiinn@gmail.com>
Co-committed-by: takumin <takumiiinn@gmail.com>
2023-07-26 00:57:40 +00:00
Lunny Xiao
59b727260d
Check orderby validate ( #2313 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2313
2023-07-25 14:02:38 +00:00
Lunny Xiao
cb4f310151
Refactor write update ( #2310 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2310
2023-07-25 10:49:55 +00:00
Lunny Xiao
9aab1f689c
Count will ignore order by as before ( #2307 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2307
2023-07-25 09:27:25 +00:00
Lunny Xiao
4109ce1e23
Fix a serious bug when using rows and reuse the session ( #2309 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2309
2023-07-25 08:37:12 +00:00
Lunny Xiao
a13564976c
refactor write update sql ( #2304 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2304
2023-07-24 07:57:05 +00:00
arturwwl
24a672be3c
convert - String2Time accept HH:mm:ss format ( #2074 )
...
resolves #2073
Co-authored-by: arturwwl <>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2074
Co-authored-by: arturwwl <arturwwl@noreply.gitea.com>
Co-committed-by: arturwwl <arturwwl@noreply.gitea.com>
2023-07-23 02:34:10 +00:00
Lunny Xiao
3626de1459
mod tidy ( #2303 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2303
2023-07-23 01:31:59 +00:00
datbeohbbh
c0d09c0def
update go version in `go.mod` ( #2224 )
...
Hi! I would like to request an update to the `go.mod` file.
Co-authored-by: datbeohbbh <phongtomfapp@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2224
Co-authored-by: datbeohbbh <datbeohbbh@noreply.gitea.com>
Co-committed-by: datbeohbbh <datbeohbbh@noreply.gitea.com>
2023-07-23 01:30:49 +00:00
Lunny Xiao
6c29ab378e
refactor write insert sql ( #2302 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2302
2023-07-22 15:24:19 +00:00
Lunny Xiao
9988dac44d
improve write order by ( #2301 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2301
2023-07-22 11:52:38 +00:00
Lunny Xiao
96ed5584e3
move sql geneartion for update to statement ( #2300 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2300
2023-07-21 16:25:58 +00:00
CyJaySong
58ba01b299
fix code
2023-07-21 11:35:15 +08:00
CyJaySong
21b54e5d61
fix code
2023-07-21 11:12:31 +08:00
CyJaySong
269811a497
fix code
2023-07-21 10:14:13 +08:00
CyJay
48cf8bb174
Merge branch 'master'
...
# Conflicts:
# convert/time.go
2023-07-21 09:07:56 +08:00
Lunny Xiao
dabcb4c0ee
Return error if count returned no row ( #2298 )
...
Fix #2139
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2298
2023-07-20 14:48:29 +00:00
Lunny Xiao
2df56f033a
Some refactors ( #2293 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2293
2023-07-20 14:45:31 +00:00
CyJaySong
eb076f4b94
fix String2Time
2023-07-14 18:30:43 +08:00
CyJaySong
50ef83d456
fix TestTagTime
2023-07-14 18:27:29 +08:00
CyJaySong
a6b31d79d7
fix conditions build on MSSQL
2023-07-14 17:50:54 +08:00
CyJaySong
7bb3224115
SQL Server database, default mapping of time type to DATETIME2
2023-07-14 17:20:32 +08:00
CyJaySong
a16551c6e7
SQL Server database, default mapping of time type to DATETIME2
2023-07-14 17:13:52 +08:00
CyJaySong
93ef9bd84a
del not right test struct
2023-07-14 16:39:06 +08:00
LinkinStars
9b71cb49cc
The loadTableInfo function supports passing the context. ( #2297 )
...
## `loadTableInfo` add context parameter
### Main change
```diff
+++ func (engine *Engine) loadTableInfo(ctx context.Context, table *schemas.Table) error
--- func (engine *Engine) loadTableInfo(table *schemas.Table) error
```
### Situation
After #2200 , I built custom dialect to control the SQL. I find that everything else is fine, except when the `SYNC` method executes with an exception.
The reason is that the `loadTableInfo` method calls the `GetIndexes` and `GetColumns` methods with the dialect during execution. **The context passed to these two methods are all `engine.defaultContext` not the current session's context.** So, I think the `loadTableInfo` method should add the context parameter to ensure that the correct context is used during execution.
### Review Note
1. dialect's `GetColumns` and `GetIndexes` methods are **only** used here, if the context here is incorrect, then the context parameter is invalid.
2. `loadTableInfo` method is only used in `SYNC` and `DBMetas` methods, `SYNC` should pass the session's context, while `DBMetas` has no problem passing `engine.defaultContext`.
All in all, I think this change should not affect other function.
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2297
Co-authored-by: LinkinStars <linkinstar@foxmail.com>
Co-committed-by: LinkinStars <linkinstar@foxmail.com>
2023-07-14 07:35:35 +00:00
CyJaySong
0b18440d73
fix time parse layout ( #2296 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2296
Co-authored-by: CyJaySong <cyjaysong@gmail.com>
Co-committed-by: CyJaySong <cyjaysong@gmail.com>
2023-07-14 07:34:02 +00:00
CyJaySong
1167465867
fix zero time
2023-07-14 14:24:21 +08:00
CyJaySong
85dd334d2f
fix zero time
2023-07-14 14:17:37 +08:00
CyJaySong
80f0d1218a
Merge branch 'fix_time_parse_layout'
2023-07-14 13:25:27 +08:00
CyJaySong
efc4e6ab1d
add test code
2023-07-14 12:17:34 +08:00
CyJaySong
158b67964b
fix time parse layout
2023-07-14 11:13:20 +08:00
CyJaySong
ff292dfcf3
change test Struct name
2023-07-14 08:57:24 +08:00
CyJaySong
7e11f585aa
Fix deleted tag attribute zeroTime is not DatabaseTZ
2023-07-14 08:39:36 +08:00
Lunny Xiao
f33221df74
Fix question mark replacement on postgres ( #2202 )
...
Fix #2112
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2202
2023-07-12 13:22:32 +00:00
takumin
722f1cc141
Generate coverage html ( #2170 )
...
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2170
Co-authored-by: takumin <takumiiinn@gmail.com>
Co-committed-by: takumin <takumiiinn@gmail.com>
2023-07-12 13:01:34 +00:00
Lunny Xiao
3b53a5f847
upgrade dependencies ( #2223 )
...
Fix #2209
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2223
2023-07-12 11:06:39 +00:00
洪坤安
73eee961cc
Performance Optimization: reduce slice2Bean calling times of strings.ToLower and map creation times ( #2255 )
...
1. 优化性能:减少func (session *Session) slice2Bean方法中的strings.ToLower调用次数以及减少map创建和访问次数(见工单 https://gitea.com/xorm/xorm/issues/2243)
2. 新增SetDefaultJSONHandler方法,用于用户自行设置DefaultJSONHandler(见工单 https://gitea.com/xorm/xorm/issues/2129)
优化前:
加载耗时=16.079s,总记录数=4028940
加载耗时=15.775s,总记录数=4028940
加载耗时=15.946s,总记录数=4028940
优化后:
加载耗时=10.863s,总记录数=4028940
加载耗时=11.257s,总记录数=4028940
加载耗时=11.155s,总记录数=4028940
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2255
Co-authored-by: 洪坤安 <wuzili1234@163.com>
Co-committed-by: 洪坤安 <wuzili1234@163.com>
2023-07-12 09:53:19 +00:00
martinvigg
55d9407390
mysql: add CHAIN, RANK to reserved word list ( #2282 )
...
Reference: https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Co-authored-by: Martin Viggiano <martin.viggiano@stonebranch.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2282
Co-authored-by: martinvigg <martinvigg@noreply.gitea.com>
Co-committed-by: martinvigg <martinvigg@noreply.gitea.com>
2023-07-12 08:52:23 +00:00
Lunny Xiao
f1f5e7cd1a
Some refactor ( #2292 )
...
replace #2285
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2292
2023-07-12 07:53:25 +00:00
Lunny Xiao
79a8bc804b
Fix join problem ( #2291 )
...
Fix #2284
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2291
2023-07-12 02:01:56 +00:00
brookechen
486c344ba3
In SQLite3, Sync doesn't support Modify Column:Error: near MODIFY: syntax error ( #2267 )
...
rebase
Co-authored-by: brookechen <brookechen@noreply.gitea.io>
Co-authored-by: brookechen <brookechen@tencent.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2267
Co-authored-by: brookechen <brookechen@noreply.gitea.com>
Co-committed-by: brookechen <brookechen@noreply.gitea.com>
2023-07-11 17:10:36 +00:00
flyingpigge
52b01ce67f
chore: ignore unnecessary char type cast in GetColumns ( #2278 )
...
PostgreSQL有两种char类型:`character`和`"char"`: https://www.postgresql.org/docs/current/datatype-character.html .
`pg_class`里的`relkind`是`"char"`类型,所以`GetColumns`这里应该转成`::"char"`或者和本PR里请求的一样去掉转换。这样对于PostgreSQL以及其他兼容PostgreSQL的数据库容错性更好,在做比较时它们通常都会被隐式转换。
```sql
postgres=# select pg_typeof(relkind), pg_typeof('a'::char), pg_typeof('a'::"char") from pg_class limit 1;
pg_typeof | pg_typeof | pg_typeof
-----------+-----------+-----------
"char" | character | "char"
(1 row)
```
Co-authored-by: August <pin@singularity-data.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2278
Co-authored-by: flyingpigge <flyingpigge@noreply.gitea.com>
Co-committed-by: flyingpigge <flyingpigge@noreply.gitea.com>
2023-07-03 09:15:45 +00:00
Lunny Xiao
d29fe49933
Mysql support a new tag Collate ( #2283 )
...
Fix #237
Fix #2179
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2283
2023-07-01 03:40:09 +00:00
Lunny Xiao
18f8e7a86c
Default don't log warn for database extra columns when syncing ( #2280 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2280
2023-06-23 15:00:31 +00:00
Lunny Xiao
068de8c0f8
Don't warn when database have extra columns which are not in struct ( #2279 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2279
2023-06-23 08:48:37 +00:00
ccbhj
838a0d9bca
ccbhj/fix_mysql_blob_shared_bytes ( #2274 )
...
Copy the sql.RawBytes when converting to []byte.
Fix issue https://gitea.com/xorm/xorm/issues/2273
Co-authored-by: Bingjia Chen <bingjia.chen@seamoney.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2274
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ccbhj <ccbhj@noreply.gitea.com>
Co-committed-by: ccbhj <ccbhj@noreply.gitea.com>
2023-06-12 09:18:13 +00:00
Lunny Xiao
caa8a029c6
some optimzation ( #2272 )
...
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2272
2023-06-02 14:16:30 +00:00
LinkinStars
cb851a2f95
Filter support passing context ( #2200 ) ( #2270 )
...
```diff
// Filter is an interface to filter SQL
type Filter interface {
--- Do(sql string) string
+++ Do(ctx context.Context, sql string) string
}
```
### Adds a `Context` parameter to the `Do` method of the Filter interface.
Developers can rewrite SQL through the `Filter` `Do` method and **need to get the necessary data from the Context** to assist.
For example, get user information through `Context`, so that different users can use different tables. Another example is to get the flags through `Context` to add annotations to the SQL, and use the annotations to let the subsequent `DB-Proxy` to achieve read/write separation.
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2270
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: LinkinStars <linkinstar@foxmail.com>
Co-committed-by: LinkinStars <linkinstar@foxmail.com>
2023-05-31 01:43:24 +00:00
Zettat123
57f7d69f1b
Fix test-cockroach workflow ( #2269 )
...
The image has already specified the entrypoint so we don't need to call `/cockroach/cockroach` in `cmd`.

Reviewed-on: https://gitea.com/xorm/xorm/pulls/2269
Co-authored-by: Zettat123 <zettat123@gmail.com>
Co-committed-by: Zettat123 <zettat123@gmail.com>
2023-05-29 13:01:43 +00:00