mirror of
https://github.com/containers/podman.git
synced 2026-07-10 15:25:00 -04:00
This was implemented by containers/netavark #1369; this commit completes the process by wiring it into Podman. We now respect the CLI order for configured networks - if a user passes `--net net1,net2` we guarantee that net1 will be configured before net2. For containers created before this patch, we don't retain enough information to configure networks in CLI order, so we use alphabetical order instead to still guarantee consistency. No breaking API changes have been made, but we do add a new field to supplement the existing map to (optionally) provide ordering information. The Podman CLI will always pass this. Existing applications that do not will, again, receive] deterministic ordering based on an alphabetical sort of network names. This requires the latest version of Netavark to work properly. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
// Copyright (C) 2019 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
|
|
//
|
|
// Use of this source code is governed by an MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build cgo
|
|
// +build cgo
|
|
|
|
package sqlite3
|
|
|
|
import (
|
|
"context"
|
|
"database/sql/driver"
|
|
)
|
|
|
|
// Ping implement Pinger.
|
|
func (c *SQLiteConn) Ping(ctx context.Context) error {
|
|
if c.db == nil {
|
|
// must be ErrBadConn for sql to close the database
|
|
return driver.ErrBadConn
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// QueryContext implement QueryerContext.
|
|
func (c *SQLiteConn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) {
|
|
return c.query(ctx, query, args)
|
|
}
|
|
|
|
// ExecContext implement ExecerContext.
|
|
func (c *SQLiteConn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) {
|
|
return c.exec(ctx, query, args)
|
|
}
|
|
|
|
// PrepareContext implement ConnPrepareContext.
|
|
func (c *SQLiteConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) {
|
|
return c.prepare(ctx, query)
|
|
}
|
|
|
|
// BeginTx implement ConnBeginTx.
|
|
func (c *SQLiteConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) {
|
|
return c.begin(ctx)
|
|
}
|
|
|
|
// QueryContext implement QueryerContext.
|
|
func (s *SQLiteStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) {
|
|
return s.query(ctx, args)
|
|
}
|
|
|
|
// ExecContext implement ExecerContext.
|
|
func (s *SQLiteStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error) {
|
|
return s.exec(ctx, args)
|
|
}
|