Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrUnknownCommand is the unknown command error. ErrUnknownCommand = errors.New("unknown command") // ErrMissingRequiredArgument is the missing required argument error. ErrMissingRequiredArgument = errors.New("missing required argument") )
View Source
var SectionOrder = []Section{ SectionGeneral, SectionHelp, SectionQueryBuffer, SectionInputOutput, SectionConnection, SectionOperatingSystem, }
SectionOrder is the order of sections to display via Listing.
Functions ¶
Types ¶
type Cmd ¶
type Cmd struct {
Section Section
Name string
Desc string
Min int
Aliases map[string]string
Process func(Handler, string, []string) (Res, error)
}
Cmd is a command implementation.
type ExecType ¶
type ExecType int
ExecType represents the type of execution requested.
const ( // ExecNone indicates no execution. ExecNone ExecType = iota // Exec indicates only plain execution (\g). ExecOnly // ExecPipe indicates execution and piping results (\g |file) ExecPipe // ExecExec indicates execution and executing the resulting rows (\gexec). ExecExec // ExecSet indicates execution and setting the resulting columns as // variables (\gset). ExecSet )
type Handler ¶
type Handler interface {
// IO handles the handler's IO.
IO() rline.IO
// User returns the current user.
User() *user.User
// URL returns the current database URL.
URL() *dburl.URL
// DB returns the current database connection.
DB() *sql.DB
// Last returns the last executed query.
Last() string
// Buf returns the current query buffer.
Buf() *stmt.Stmt
// Open opens a database connection.
Open(...string) error
// Close closes the current database connection.
Close() error
// Include includes a file.
Include(string, bool) error
}
Handler is the shared interface for a command handler.
type Metacmd ¶
type Metacmd uint
Metacmd represents a command and associated meta information about it.
const ( // None is an empty command. None Metacmd = iota // Question is question meta command (\?) Question // Quit is the quit meta command (\?). Quit // Copyright is the copyright meta command (\copyright). Copyright // Connect is the connect meta command (\c). Connect // Disconnect is the disconnect meta command (\Z). Disconnect // ConnInfo is the connection info meta command (\conninfo). ConnInfo // Drivers is the driver info meta command (\drivers). Drivers // Describe is the describe meta command (\d and variants). Describe // Exec is the execute meta command (\g and variants). Exec // Edit is the edit query buffer meta command (\e). Edit // Print is the print query buffer meta command (\p). Print // Reset is the reset query buffer meta command (\r). Reset // Echo is the echo meta command (\echo). Echo // Write is the write meta command (\w). Write // ChangeDir is the system change directory meta command (\cd). ChangeDir // SetEnv is the system set environment variable meta command (\setenv). SetEnv // Include is the system include file meta command (\i and variants). Include )
Command types.
type Res ¶
type Res struct {
// Quit instructs the handling code to quit.
Quit bool
// Exec informs the handling code of the type of execution.
Exec ExecType
// ExecParam is an accompanying parameter for execution. For ExecPipe, it
// will be the name of a file. For ExecSet it will be the variable prefix.
ExecParam string
// Processed informs the handling code how many parameters went
// unprocessed. A value of 0 means that no parameters were processed.
Processed int
}
Res is the result of a meta command execution.
type RunnerFunc ¶
RunnerFunc is a type wrapper for a single func satisfying Runner.Run.
type Section ¶
type Section string
Section is a meta command section.
const ( SectionGeneral Section = "General" SectionHelp Section = "Help" SectionQueryBuffer Section = "Query Buffer" SectionInputOutput Section = "Input/Output" SectionInformational Section = "Informational" SectionFormatting Section = "Formatting" SectionConnection Section = "Connection" SectionOperatingSystem Section = "Operating System" SectionVariables Section = "Variables" SectionLargeObjects Section = "Large Objects" )
Meta command section types.
Click to show internal directories.
Click to hide internal directories.