Documentation ¶
Index ¶
- Constants
- func AddSessionParam(db *sql.DB, key, value string) error
- func BuildJDBC(user, password, connStr string, options map[string]string) string
- func BuildUrl(server string, port int, service, user, password string, ...) string
- func DelSessionParam(db *sql.DB, key string)
- func NewConnector(connString string) driver.Connector
- func ParseConfig(dsn string) (*configurations.ConnectionConfig, error)
- func RegisterConnConfig(config *configurations.ConnectionConfig)
- func RegisterType(conn *sql.DB, typeName, arrayTypeName string, typeObj interface{}) error
- func RegisterTypeWithOwner(conn *sql.DB, owner, typeName, arrayTypeName string, typeObj interface{}) error
- func SetNTSAuth(newNTSManager advanced_nego.NTSAuthInterface)
- func SetStringConverter(db GetDriverInterface, charset, nCharset converters.IStringConverter)
- func TZBytes() []byte
- func WrapRefCursor(ctx context.Context, q Querier, cursor *RefCursor) (*sql.Rows, error)
- type AuthObject
- type BFile
- func (file *BFile) Close() error
- func (file *BFile) Exists() (bool, error)
- func (file *BFile) GetDirName() string
- func (file *BFile) GetFileName() string
- func (file *BFile) GetLength() (int64, error)
- func (file *BFile) IsOpen() bool
- func (file *BFile) Open() error
- func (file *BFile) Read() ([]byte, error)
- func (file *BFile) ReadBytesFromPos(pos, count int64) ([]byte, error)
- func (file *BFile) ReadFromPos(pos int64) ([]byte, error)
- func (file *BFile) Scan(value interface{}) error
- type Blob
- type BulkCopy
- type Clob
- type Connection
- func (conn *Connection) Begin() (driver.Tx, error)
- func (conn *Connection) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error)
- func (conn *Connection) BulkInsert(sqlText string, rowNum int, columns ...[]driver.Value) (*QueryResult, error)
- func (conn *Connection) CheckNamedValue(_ *driver.NamedValue) error
- func (conn *Connection) Close() (err error)
- func (conn *Connection) Exec(text string, args ...driver.Value) (driver.Result, error)
- func (conn *Connection) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)
- func (conn *Connection) GetNLS() (*NLSData, error)
- func (conn *Connection) Logoff() error
- func (conn *Connection) Open() error
- func (conn *Connection) OpenWithContext(ctx context.Context) error
- func (conn *Connection) Ping(ctx context.Context) error
- func (conn *Connection) Prepare(query string) (driver.Stmt, error)
- func (conn *Connection) PrepareContext(ctx context.Context, query string) (driver.Stmt, error)
- func (conn *Connection) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)
- func (conn *Connection) QueryRowContext(ctx context.Context, query string, args []driver.NamedValue) *DataSet
- func (conn *Connection) ResetSession(_ context.Context) error
- func (conn *Connection) StructsInsert(sqlText string, values []interface{}) (*QueryResult, error)
- type ConnectionState
- type DBVersion
- type DataSet
- func (dataSet *DataSet) Close() error
- func (dataSet *DataSet) ColumnTypeDatabaseTypeName(index int) string
- func (dataSet *DataSet) ColumnTypeLength(index int) (int64, bool)
- func (dataSet *DataSet) ColumnTypeNullable(index int) (nullable, ok bool)
- func (dataSet *DataSet) ColumnTypePrecisionScale(index int) (int64, int64, bool)
- func (dataSet *DataSet) ColumnTypeScanType(index int) reflect.Type
- func (dataSet *DataSet) Columns() []string
- func (dataSet *DataSet) Err() error
- func (dataSet *DataSet) Next(dest []driver.Value) error
- func (dataSet *DataSet) Next_() bool
- func (dataSet *DataSet) Scan(dest ...interface{}) error
- func (dataSet *DataSet) Trace(t trace.Tracer)
- type DataTypeNego
- type GetDriverInterface
- type Lob
- type LogonMode
- type NClob
- type NLSData
- type NVarChar
- type NullNVarChar
- type NullTimeStamp
- type NullTimeStampTZ
- type Number
- type Object
- type OracleConnector
- type OracleDriver
- type Out
- type PLBool
- type ParameterDirection
- type ParameterInfo
- type Querier
- type QueryResult
- type RefCursor
- type Row
- type Stmt
- func (stmt *Stmt) CanAutoClose() bool
- func (stmt *Stmt) CheckNamedValue(_ *driver.NamedValue) error
- func (stmt *Stmt) Close() error
- func (stmt *Stmt) Exec(args []driver.Value) (driver.Result, error)
- func (stmt *Stmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)
- func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) (*ParameterInfo, error)
- func (stmt *Stmt) NumInput() int
- func (stmt *Stmt) Query(args []driver.Value) (driver.Rows, error)
- func (stmt *Stmt) QueryContext(ctx context.Context, namedArgs []driver.NamedValue) (driver.Rows, error)
- func (stmt *Stmt) Query_(namedArgs []driver.NamedValue) (*DataSet, error)
- type StmtInterface
- type StmtType
- type TCPNego
- type TNSType
- type TimeStamp
- type TimeStampTZ
- type Transaction
- type ValueEncoder
Constants ¶
const ( TNS_TYPE_REP_NATIVE int16 = 0 TNS_TYPE_REP_UNIVERSAL int16 = 1 TNS_TYPE_REP_ORACLE int16 = 10 TNS_DATA_TYPE_UB2 int16 = 25 TNS_DATA_TYPE_UB4 int16 = 26 TNS_DATA_TYPE_SB1 int16 = 27 TNS_DATA_TYPE_SB2 int16 = 28 TNS_DATA_TYPE_SB4 int16 = 29 TNS_DATA_TYPE_SWORD int16 = 30 TNS_DATA_TYPE_UWORD int16 = 31 TNS_DATA_TYPE_PTRB int16 = 32 TNS_DATA_TYPE_PTRW int16 = 33 TNS_DATA_TYPE_TIDDEF int16 = 10 )
Variables ¶
This section is empty.
Functions ¶
func BuildUrl ¶
func BuildUrl(server string, port int, service, user, password string, options map[string]string) string
BuildUrl create databaseURL from server, port, service, user, password, urlOptions this function help build a will formed databaseURL and accept any character as it convert special charters to corresponding values in URL
func DelSessionParam ¶
func NewConnector ¶
func ParseConfig ¶
func ParseConfig(dsn string) (*configurations.ConnectionConfig, error)
func RegisterConnConfig ¶
func RegisterConnConfig(config *configurations.ConnectionConfig)
func RegisterType ¶
func RegisterTypeWithOwner ¶
func SetNTSAuth ¶
func SetNTSAuth(newNTSManager advanced_nego.NTSAuthInterface)
func SetStringConverter ¶
func SetStringConverter(db GetDriverInterface, charset, nCharset converters.IStringConverter)
SetStringConverter this function is used to set a custom string converter interface that will be used to encode and decode strings and bytearrays passing nil will use driver string converter for supported langs
Types ¶
type AuthObject ¶
type AuthObject struct { EServerSessKey string EClientSessKey string EPassword string ESpeedyKey string ServerSessKey []byte ClientSessKey []byte KeyHash []byte Salt string VerifierType int // contains filtered or unexported fields }
E infront of the variable means encrypted
func (*AuthObject) Write ¶
func (obj *AuthObject) Write(connOption *configurations.ConnectionConfig, mode LogonMode, session *network.Session) error
write authentication data to network
type BFile ¶
type BFile struct { Valid bool // contains filtered or unexported fields }
func CreateBFile2 ¶
func CreateBFile2(connection *Connection, dirName, fileName string) (*BFile, error)
func CreateNullBFile ¶
func CreateNullBFile() *BFile
func (*BFile) GetDirName ¶
func (*BFile) GetFileName ¶
func (*BFile) ReadBytesFromPos ¶
type BulkCopy ¶
type BulkCopy struct { TableName string SchemaName string PartitionName string ColumnNames []string // contains filtered or unexported fields }
func NewBulkCopy ¶
func NewBulkCopy(conn *Connection, tableName string) *BulkCopy
func (*BulkCopy) StartStream ¶
type Connection ¶
type Connection struct { State ConnectionState LogonMode LogonMode SessionProperties map[string]string NLSData NLSData // contains filtered or unexported fields }
func NewConnection ¶
func NewConnection(databaseUrl string, config *configurations.ConnectionConfig) (*Connection, error)
NewConnection create a new connection from databaseURL string or configuration
func (*Connection) BulkInsert ¶
func (conn *Connection) BulkInsert(sqlText string, rowNum int, columns ...[]driver.Value) (*QueryResult, error)
BulkInsert mass insert column values into a table all columns should pass as an array of values
func (*Connection) CheckNamedValue ¶
func (conn *Connection) CheckNamedValue(_ *driver.NamedValue) error
func (*Connection) Close ¶
func (conn *Connection) Close() (err error)
Close the connection by disconnect network session
func (*Connection) ExecContext ¶
func (conn *Connection) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)
func (*Connection) GetNLS ¶
func (conn *Connection) GetNLS() (*NLSData, error)
GetNLS return NLS properties of the connection. this function is left from v1. but v2 is using another method
func (*Connection) Logoff ¶
func (conn *Connection) Logoff() error
func (*Connection) Open ¶
func (conn *Connection) Open() error
Open the connection = bring it online
func (*Connection) OpenWithContext ¶
func (conn *Connection) OpenWithContext(ctx context.Context) error
OpenWithContext open the connection with timeout context
func (*Connection) Ping ¶
func (conn *Connection) Ping(ctx context.Context) error
Ping test if connection is online
func (*Connection) Prepare ¶
func (conn *Connection) Prepare(query string) (driver.Stmt, error)
Prepare take a query string and create a stmt object
func (*Connection) PrepareContext ¶
func (*Connection) QueryContext ¶
func (conn *Connection) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)
func (*Connection) QueryRowContext ¶
func (conn *Connection) QueryRowContext(ctx context.Context, query string, args []driver.NamedValue) *DataSet
func (*Connection) ResetSession ¶
func (conn *Connection) ResetSession(_ context.Context) error
func (*Connection) StructsInsert ¶
func (conn *Connection) StructsInsert(sqlText string, values []interface{}) (*QueryResult, error)
StructsInsert support interface{} array
type ConnectionState ¶
type ConnectionState int
const ( Closed ConnectionState = 0 Opened ConnectionState = 1 )
type DBVersion ¶
type DataSet ¶
type DataSet struct {
// contains filtered or unexported fields
}
func (*DataSet) ColumnTypeDatabaseTypeName ¶
ColumnTypeDatabaseTypeName return Col DataType name
func (*DataSet) ColumnTypeLength ¶
ColumnTypeLength return length of column type
func (*DataSet) ColumnTypeNullable ¶
ColumnTypeNullable return if column allow null or not
func (*DataSet) ColumnTypePrecisionScale ¶
ColumnTypePrecisionScale return the precision and scale for numeric types
func (*DataSet) ColumnTypeScanType ¶
type DataTypeNego ¶
type GetDriverInterface ¶
type NLSData ¶
type NLSData struct { Calender string `db:"p_nls_calendar,,40,out"` Comp string `db:"p_nls_comp,,40,out"` Language string LengthSemantics string `db:"p_nls_length_semantics,,40,out"` NCharConvExcep string `db:"p_nls_nchar_conv_excep,,40,out"` NCharConvImp string DateLang string `db:"p_nls_date_lang,,40,out"` Sort string `db:"p_nls_sort,,40,out"` Currency string `db:"p_nls_currency,,40,out"` DateFormat string `db:"p_nls_date_format,,40,out"` TimeFormat string IsoCurrency string `db:"p_nls_iso_currency,,40,out"` NumericChars string `db:"p_nls_numeric_chars,,40,out"` DualCurrency string `db:"p_nls_dual_currency,,40,out"` UnionCurrency string Timestamp string `db:"p_nls_timestamp,,48,out"` TimestampTZ string `db:"p_nls_timestamp_tz,,56,out"` TTimezoneFormat string NTimezoneFormat string Territory string Charset string }
func (*NLSData) SaveNLSValue ¶
SaveNLSValue a helper function that convert between nls key and code
type NullNVarChar ¶
func (NullNVarChar) MarshalJSON ¶
func (val NullNVarChar) MarshalJSON() ([]byte, error)
func (*NullNVarChar) Scan ¶
func (val *NullNVarChar) Scan(value interface{}) error
func (*NullNVarChar) UnmarshalJSON ¶
func (val *NullNVarChar) UnmarshalJSON(data []byte) error
type NullTimeStamp ¶
func (NullTimeStamp) MarshalJSON ¶
func (val NullTimeStamp) MarshalJSON() ([]byte, error)
func (*NullTimeStamp) Scan ¶
func (val *NullTimeStamp) Scan(value interface{}) error
func (*NullTimeStamp) UnmarshalJSON ¶
func (val *NullTimeStamp) UnmarshalJSON(data []byte) error
type NullTimeStampTZ ¶
type NullTimeStampTZ struct { TimeStampTZ TimeStampTZ Valid bool }
func (NullTimeStampTZ) MarshalJSON ¶
func (val NullTimeStampTZ) MarshalJSON() ([]byte, error)
func (*NullTimeStampTZ) Scan ¶
func (val *NullTimeStampTZ) Scan(value interface{}) error
func (*NullTimeStampTZ) UnmarshalJSON ¶
func (val *NullTimeStampTZ) UnmarshalJSON(data []byte) error
type Number ¶
type Number struct {
// contains filtered or unexported fields
}
func NewNumberFromFloat ¶
func NewNumberFromInt64 ¶
func NewNumberFromString ¶
func NewNumberFromUint64 ¶
type Object ¶
type OracleConnector ¶
type OracleConnector struct {
// contains filtered or unexported fields
}
func (*OracleConnector) Dialer ¶
func (connector *OracleConnector) Dialer(dialer configurations.DialerContext)
func (*OracleConnector) Driver ¶
func (connector *OracleConnector) Driver() driver.Driver
type OracleDriver ¶
type OracleDriver struct { UserId string // contains filtered or unexported fields }
func GetDefaultDriver ¶
func GetDefaultDriver() *OracleDriver
func NewDriver ¶
func NewDriver() *OracleDriver
func (*OracleDriver) Open ¶
func (driver *OracleDriver) Open(name string) (driver.Conn, error)
Open return a new open connection
func (*OracleDriver) OpenConnector ¶
func (driver *OracleDriver) OpenConnector(connString string) (driver.Connector, error)
type ParameterDirection ¶
type ParameterDirection int
const ( Input ParameterDirection = 1 Output ParameterDirection = 2 InOut ParameterDirection = 3 )
type ParameterInfo ¶
type ParameterInfo struct { Name string TypeName string SchemaName string DomainSchema string DomainName string Direction ParameterDirection IsNull bool AllowNull bool IsJson bool ColAlias string DataType TNSType IsXmlType bool Flag uint8 Precision uint8 Scale uint8 MaxLen int MaxCharLen int MaxNoOfArrayElements int ContFlag int ToID []byte Version int CharsetID int CharsetForm int BValue []byte Value driver.Value OutputVarPtr interface{} Annotations map[string]string // contains filtered or unexported fields }
type QueryResult ¶
type QueryResult struct {
// contains filtered or unexported fields
}
func (*QueryResult) LastInsertId ¶
func (rs *QueryResult) LastInsertId() (int64, error)
func (*QueryResult) RowsAffected ¶
func (rs *QueryResult) RowsAffected() (int64, error)
type RefCursor ¶
type RefCursor struct { MaxRowSize int // contains filtered or unexported fields }
func (*RefCursor) CanAutoClose ¶
func (stmt *RefCursor) CanAutoClose() bool
type Stmt ¶
type Stmt struct {
// contains filtered or unexported fields
}
func NewStmt ¶
func NewStmt(text string, conn *Connection) *Stmt
NewStmt create new stmt and set its connection properties
func (*Stmt) CanAutoClose ¶
func (stmt *Stmt) CanAutoClose() bool
func (*Stmt) CheckNamedValue ¶
func (stmt *Stmt) CheckNamedValue(_ *driver.NamedValue) error
func (*Stmt) Exec ¶
Exec execute stmt (INSERT, UPDATE, DELETE, DML, PLSQL) and return driver.Result object
func (*Stmt) ExecContext ¶
func (*Stmt) NewParam ¶
func (stmt *Stmt) NewParam(name string, val driver.Value, size int, direction ParameterDirection) (*ParameterInfo, error)
func (*Stmt) Query ¶
Query execute a query command and return dataset object in form of driver.Rows interface
args is an array of values that corresponding to parameters in sql
func (*Stmt) QueryContext ¶
type StmtInterface ¶
type TNSType ¶
type TNSType int
const ( NCHAR TNSType = 1 NUMBER TNSType = 2 BInteger TNSType = 3 FLOAT TNSType = 4 NullStr TNSType = 5 VarNum TNSType = 6 PDN TNSType = 7 LONG TNSType = 8 VARCHAR TNSType = 9 ROWID TNSType = 11 DATE TNSType = 12 VarRaw TNSType = 15 BFloat TNSType = 21 BDouble TNSType = 22 RAW TNSType = 23 LongRaw TNSType = 24 TNS_JSON_TYPE_DATE TNSType = 60 TNS_JSON_TYPE_INTERVAL_YM TNSType = 61 TNS_JSON_TYPE_INTERVAL_DS TNSType = 62 UINT TNSType = 68 LongVarChar TNSType = 94 LongVarRaw TNSType = 95 CHAR TNSType = 96 CHARZ TNSType = 97 IBFloat TNSType = 100 IBDouble TNSType = 101 REFCURSOR TNSType = 102 OCIXMLType TNSType = 108 XMLType TNSType = 109 OCIRef TNSType = 110 OCIClobLocator TNSType = 112 OCIBlobLocator TNSType = 113 OCIFileLocator TNSType = 114 ResultSet TNSType = 116 JSON TNSType = 119 TNS_DATA_TYPE_OAC122 TNSType = 120 OCIString TNSType = 155 OCIDate TNSType = 156 TimeStampDTY TNSType = 180 TimeStampTZ_DTY TNSType = 181 IntervalYM_DTY TNSType = 182 IntervalDS_DTY TNSType = 183 TimeTZ TNSType = 186 TIMESTAMP TNSType = 187 TIMESTAMPTZ TNSType = 188 IntervalYM TNSType = 189 IntervalDS TNSType = 190 UROWID TNSType = 208 TimeStampLTZ_DTY TNSType = 231 TimeStampeLTZ TNSType = 232 Boolean TNSType = 0xFC )
type TimeStampTZ ¶
func (TimeStampTZ) MarshalJSON ¶
func (val TimeStampTZ) MarshalJSON() ([]byte, error)
func (*TimeStampTZ) Scan ¶
func (val *TimeStampTZ) Scan(value interface{}) error
func (*TimeStampTZ) UnmarshalJSON ¶
func (val *TimeStampTZ) UnmarshalJSON(data []byte) error
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func (*Transaction) Commit ¶
func (tx *Transaction) Commit() error
func (*Transaction) Rollback ¶
func (tx *Transaction) Rollback() error
type ValueEncoder ¶
type ValueEncoder interface {
EncodeValue(param *ParameterInfo, connection *Connection) error
}
Source Files ¶
- auth_object.go
- bfile.go
- bulk_copy.go
- command.go
- connection.go
- connection_string.go
- custom_types.go
- data_set.go
- data_type_nego.go
- db_version.go
- driver.go
- lob.go
- number.go
- oracletype_string.go
- parameter.go
- parameter_encode.go
- ref_cursor.go
- rowid.go
- simple_object.go
- tcp_protocol_nego.go
- timestamp.go
- timestampTZ.go
- transaction.go
- udt.go
- urowid.go
- utils.go
Directories ¶
Path | Synopsis |
---|---|
ntlmssp
Package ntlmssp provides NTLM/Negotiate authentication over HTTP
|
Package ntlmssp provides NTLM/Negotiate authentication over HTTP |
security/md4
Package md4 implements the MD4 hash algorithm as defined in RFC 1320.
|
Package md4 implements the MD4 hash algorithm as defined in RFC 1320. |