Skip to content

Commit 0be826d

Browse files
authored
Expose a common interface between Client and Tx (#302)
1 parent ce5193c commit 0be826d

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

export.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ type (
7171
// ErrorTag is the argument type to Error.HasTag().
7272
ErrorTag = edgedb.ErrorTag
7373

74+
// Executor is a common interface between Client and Tx,
75+
// that can run queries on an EdgeDB database.
76+
Executor = edgedb.Executor
77+
7478
// IsolationLevel documentation can be found here
7579
// https://www.edgedb.com/docs/reference/edgeql/tx_start#parameters
7680
IsolationLevel = edgedb.IsolationLevel

internal/client/executor.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// This source file is part of the EdgeDB open source project.
2+
//
3+
// Copyright EdgeDB Inc. and the EdgeDB authors.
4+
//
5+
// Licensed under the Apache License, Version 2.0 (the "License");
6+
// you may not use this file except in compliance with the License.
7+
// You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing, software
12+
// distributed under the License is distributed on an "AS IS" BASIS,
13+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
// See the License for the specific language governing permissions and
15+
// limitations under the License.
16+
17+
package edgedb
18+
19+
import "context"
20+
21+
// Executor is a common interface between *Client and *Tx,
22+
// that can run queries on an EdgeDB database.
23+
type Executor interface {
24+
Execute(context.Context, string, ...any) error
25+
Query(context.Context, string, any, ...any) error
26+
QueryJSON(context.Context, string, *[]byte, ...any) error
27+
QuerySingle(context.Context, string, any, ...any) error
28+
QuerySingleJSON(context.Context, string, any, ...any) error
29+
}

rstdocs/api.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,18 @@ ErrorTag is the argument type to Error.HasTag().
4747
type ErrorTag = edgedb.ErrorTag
4848
4949
50+
*type* Executor
51+
---------------
52+
53+
Executor is a common interface between Client and Tx,
54+
that can run queries on an EdgeDB database.
55+
56+
57+
.. code-block:: go
58+
59+
type Executor = edgedb.Executor
60+
61+
5062
*type* IsolationLevel
5163
---------------------
5264

0 commit comments

Comments
 (0)