Commit Graph

32 Commits

Author SHA1 Message Date
hsfish 0b266873f1 PR xorm master 2023-07-03 18:13:23 +08:00
RenKanai 885f582677 Fix to add session.statement.IsForUpdate check in Session.queryRows() (#2064)
# Issue
The 'for-update' query is executed to slave DB node.

# Example

```go
s := engineGroup.NewSession(); // create session from EngineGroup.
...

s.ForUpdate();

type User struct { ... };
var user User;
has, err := s.Get(&user); // executed to slave DB node.
...
```

Co-authored-by: rennnosuke <rennnosuke@noreply.gitea.io>
Co-authored-by: RenKanai <turutekab@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2064
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: RenKanai <rennnosuke@noreply.gitea.io>
Co-committed-by: RenKanai <rennnosuke@noreply.gitea.io>
2021-11-24 10:29:39 +08:00
rennnosuke 26f9d619cc Fix new-lined query execution in master DB node. (#2066)
# Issue
Such a following query is executed in master DB node with EngineGroup.

```go
s := engineGroup.NewSession(); // create session from EngineGroup.

sql := `
SELECT * FROM USER;
`;

type User struct { ... };
var users []User;
err := s.Sql(sql).Find(&users); // executed to master DB node.

```

Reviewed-on: https://gitea.com/xorm/xorm/pulls/2066
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: rennnosuke <rennnosuke@noreply.gitea.io>
Co-committed-by: rennnosuke <rennnosuke@noreply.gitea.io>
2021-10-28 21:21:38 +08:00
Lunny Xiao 40a135948b New Prepare useage (#2061)
Fix #2060, Three ways to use the `Prepare`.

The first

```go
engine.Prepare().Where().Get()
```

The second

```go
sess := engine.NewSession()
defer sess.Close()

sess.Prepare().Where().Get()

sess.Prepare().Where().Get()
```

The third
```go
sess := engine.NewSession()
defer sess.Close()

sess.Begin()

sess.Prepare().Where().Get()

sess.Prepare().Where().Get()

sess.Commit()
```

Or

```go
sess := engine.NewSession()
defer sess.Close()

sess.Begin()

sess.Prepare().Insert()

sess.Prepare().Insert()

sess.Commit()
```

Reviewed-on: https://gitea.com/xorm/xorm/pulls/2061
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-10-20 08:53:30 +08:00
Lunny Xiao 045abb07df Expose ScanString / ScanInterface and etc (#2039)
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2039
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-08-27 17:10:16 +08:00
Lunny Xiao 6f79e06376 Fix master/slave bug (#2004)
Reviewed-on: https://gitea.com/xorm/xorm/pulls/2004
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-07-22 11:07:53 +08:00
Lunny Xiao aaa2111e8f Refactor asbytes (#1995)
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1995
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-07-19 00:21:46 +08:00
Lunny Xiao d0e5dba40e Query interface (#1965)
refactor query interface

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1965
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-07-04 21:23:17 +08:00
Lunny Xiao 66fc59b71c Query bytes based on Query string (#1964)
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1964
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-committed-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-07-02 12:37:03 +08:00
Lunny Xiao 3617ee736f Only replace quotes when necessary (#1584)
fix test

improve code

improve code

improve code

improve code

Fix replace quote

fix test

Only replace quotes when necessary

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1584
2020-03-09 02:17:37 +00:00
Lunny Xiao 0f166d82da Fix rows bug (#1576)
Fix rows bug

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1576
2020-03-06 12:08:32 +00:00
Lunny Xiao 41388c2f56 Use a new ContextLogger interface to implement logger (#1557)
Fix bug

Add log track on prepare & tx

Some improvements

remove unused codes

refactor logger

Fix bug

log context

add ContextLogger interface

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1557
2020-02-29 08:59:59 +00:00
Lunny Xiao 2b62dc5a51 Move statement as a sub package (#1564)
Fix test

Fix bug

Move statement as a sub package

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1564
2020-02-28 12:29:08 +00:00
Lunny Xiao aa522f7d98 Improve code (#1552)
Change filters

Fix test

add more tests on drone

add more tests on drone

Improve code

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1552
2020-02-27 03:33:40 +00:00
Lunny Xiao bf25a77bca Merge core package back into the main repository and split into serval sub packages. (#1543)
Fix test

Improve fmt

update go.mod

Move core as a sub package

Reviewed-on: https://gitea.com/xorm/xorm/pulls/1543
2020-02-24 08:53:18 +00:00
Lunny Xiao 1735906dcc Support local sql log (#1338) 2019-10-21 03:42:26 +00:00
Lunny Xiao c9b14f9487
move depends package from github.com to customize domain (#1327) 2019-06-17 13:38:13 +08:00
Masaki.Yamamoto 8a61b3a8a9 Fix spelling inconsistency (#1317) 2019-06-06 10:55:52 +08:00
Lunny Xiao 6fe3ab6075
fix #1075 and replace #1076 (#1101)
* fix #1075 and replace #1076

* fix bug when session resue
2019-01-20 12:45:38 +08:00
Lunny Xiao 5750e3f90a
Add context support (#1193)
* add context support

* improve pingcontext tests
2019-01-20 11:01:14 +08:00
Lunny Xiao 4ce90f9a62
Exec support builder (#1064) 2018-08-09 13:09:54 +08:00
Lunny Xiao 109cb1a7d0 Add support Engine Group (#748)
* add support group engine

* revert code

* add NewGroup function

* add engine group policy

* rename file name

* modify policy interface

* remove Init function from policy interface

* refactor Group Policy

* rename and comments

* rename and bug fix for WeightRoundRobinPolicy

* modify Slave function

* modify Slave function and add LeastConnPolicy

* use original Engine and Session

* remove unused count variables

* fix bug on NewEngineGroup

* remove unused method

* improve range and refactor

* add some comments and refactor

* implement GroupPolicy of GroupPolicyHandler

* refactor

* simple code

* add tests support for EngineGroup & fix some bugs

* improve the NewEngineGroup interface

* change the default policy of engine group

* fix some tests
2017-10-16 15:28:13 +08:00
Lunny Xiao aab77ab84c refactor for value2String (#713) 2017-09-09 19:21:05 +08:00
Lunny Xiao 763e1b21e6 Add query interface (#695)
* add query interface

* fix tests of query interface
2017-08-27 22:09:31 +08:00
Lunny Xiao bb639f6700 refactor query functions (#689)
* refactor query functions

* remove unused function

* remove unnecessary resetStatement and some improvements

* rename all Id to ID
2017-08-27 15:50:43 +08:00
Lunny Xiao d7f04c3cec fix query string bug when value is nil (#692) 2017-08-26 09:38:40 +08:00
Lunny Xiao f1aebd5729 hide all undocument variables on session (#660) 2017-07-27 13:32:35 +08:00
Lunny Xiao 942887dea0 fix time issues and add some tests for time (#604)
* fix time issues and add some tests for time

* fix tests bug

* fix tests

* some fixes with tests and added mssql support

* fix tests
2017-06-02 16:12:50 +08:00
Lunny Xiao a55bded518
refactors 2017-04-12 23:39:33 +08:00
Lunny Xiao 8fd0fd9c7b
refactors 2017-04-12 23:36:46 +08:00
Lunny Xiao 5497f76c84
add QueryString support 2017-04-01 10:35:27 +08:00
Lunny Xiao 44b70cccf4
add Find ints support & split session into multiple files 2017-01-03 13:31:47 +08:00