chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
// Copyright 2024 Dolthub, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/dolthub/go-mysql-server/sql"
|
||||
"github.com/dolthub/vitess/go/mysql"
|
||||
"github.com/dolthub/vitess/go/vt/sqlparser"
|
||||
"github.com/jackc/pgx/v5/pgproto3"
|
||||
)
|
||||
|
||||
type Handler interface {
|
||||
// ComBind is called when a connection receives a request to bind a prepared statement to a set of values.
|
||||
ComBind(ctx context.Context, c *mysql.Conn, query string, parsedQuery mysql.ParsedQuery, bindVars BindVariables, formatCodes []int16) (mysql.BoundQuery, []pgproto3.FieldDescription, error)
|
||||
// ComExecuteBound is called when a connection receives a request to execute a prepared statement that has already bound to a set of values.
|
||||
ComExecuteBound(ctx context.Context, conn *mysql.Conn, query string, boundQuery mysql.BoundQuery, formatCodes []int16, callback func(*sql.Context, *Result) error) error
|
||||
// ComPrepareParsed is called when a connection receives a prepared statement query that has already been parsed.
|
||||
ComPrepareParsed(ctx context.Context, c *mysql.Conn, query string, parsed sqlparser.Statement) (mysql.ParsedQuery, []pgproto3.FieldDescription, error)
|
||||
// ComQuery is called when a connection receives a query. Note the contents of the query slice may change
|
||||
// after the first call to callback. So the DoltgresHandler should not hang on to the byte slice.
|
||||
ComQuery(ctx context.Context, c *mysql.Conn, query string, parsed sqlparser.Statement, callback func(*sql.Context, *Result) error) error
|
||||
// ComResetConnection resets the connection's session, clearing out any cached prepared statements, locks, user and
|
||||
// session variables. The currently selected database is preserved.
|
||||
ComResetConnection(c *mysql.Conn) error
|
||||
// ConnectionClosed reports that a connection has been closed.
|
||||
ConnectionClosed(c *mysql.Conn)
|
||||
// NewConnection reports that a new connection has been established.
|
||||
NewConnection(c *mysql.Conn)
|
||||
// NewContext creates a new sql.Context instance for the connection |c|. The
|
||||
// optional |query| can be specified to populate the sql.Context's query field.
|
||||
NewContext(ctx context.Context, c *mysql.Conn, query string) (*sql.Context, error)
|
||||
}
|
||||
Reference in New Issue
Block a user