dm

package
v1.3.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2025 License: Apache-2.0 Imports: 38 Imported by: 0

README

dm

介绍
go get gitee.com/chunanyong/dm 

达梦数据库官方Go驱动,本项目和官方驱动版本同步,方便go mod 使用.
安装达梦数据库(版本>=8.1.1.126),安装目录下 drivers/go/dm-go-driver.zip
达梦官方文档:https://eco.dameng.com/docs/zh-cn/app-dev/go-go.html
资源下载:https://eco.dameng.com/download/
达梦官方Go驱动包:https://package.dameng.com/eco/adapter/resource/go/dm-go-driver.zip
达梦官方论坛(提交bug):https://eco.dameng.com/community/question

zorm

Go轻量ORM https://gitee.com/chunanyong/zorm 原生支持达梦数据库

DSN

dm://userName:password@127.0.0.1:5236?schema=DBName
用户名(userName)默认就是数据库的名称,达梦用户模式和数据库名称是对应的,也可以通过schema参数指定数据库
建议达梦使用UTF-8字符编码,不区分大小写,建表语句的字段名不要带""双引号
密码中包含特殊字符时,密码使用url.PathEscape进行Escape处理,并在DSN中加入&escapeProcess=true 参见:https://eco.dameng.com/community/question/d152258b30bd0fc030d15e6a4afd5fc2

bug
  • 达梦开启等保参数 COMM_ENCRYPT_NAME = AES128_ECB,导致连接异常
版本号

Go三段位版本号和达梦四段位版本号不兼容,统一使用1.达梦主版本号.发布的小版本号,具体查看标签的备注

  • v1.8.18 来自 达梦8.1.4.6
  • v1.8.17 来自 达梦8.1.4.6
  • v1.8.16 来自 达梦8.1.3.162
  • v1.8.15 来自 达梦8.1.3.140
  • v1.8.14 来自 达梦8.1.3.100
  • v1.8.13 来自 达梦8.1.3.62
  • v1.8.12 来自 达梦8.1.3.12
  • v1.8.11 来自 达梦8.1.2.192
  • v1.8.10 来自 达梦8.1.2.174
  • v1.8.9 来自 达梦8.1.2.162
  • v1.8.8 来自 达梦8.1.2.138
  • v1.8.7 来自 达梦8.1.2.128
  • v1.8.6 来自 达梦8.1.2.114
  • v1.8.5 来自 达梦8.1.2.94
  • v1.8.4 来自 达梦8.1.2.84
  • v1.8.3 来自 达梦8.1.2.38
  • v1.8.2 来自 达梦8.1.2.18
  • v1.8.1 来自 达梦8.1.1.190
  • v1.8.0 来自 达梦8.1.1.126

Documentation

Overview

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

* Copyright (c) 2000-2018, 达梦数据库有限公司. * All rights reserved.

Index

Constants

View Source
const (
	Dm_build_334 = 8192
	Dm_build_335 = 2 * time.Second
)
View Source
const (
	PROP_NAME_SORT            = "sort"
	PROP_NAME_SORT_FIELD      = "field"
	PROP_NAME_SORT_TYPE       = "direction"
	PROP_NAME_SEARCH          = "search"
	PROP_NAME_PAGE_NUM        = "pageNum"
	PROP_NAME_PAGE_SIZE       = "pageSize"
	PROP_NAME_PAGE_COUNT      = "pageCount"
	PROP_NAME_TOTAL_ROW_COUNT = "totalRowCount"
	PROP_NAME_FLUSH_FREQ      = "flushFreq"
	PROP_NAME_DATASOURCE_ID   = "dataSourceId"
	PROP_NAME_SQL_ID          = "sqlId"

	URL_SQL               = "sql"
	URL_SQL_DETAIL        = "sqlDetail"
	URL_DATASOURCE        = "dataSource"
	URL_DATASOURCE_DETAIL = "dataSourceDetail"

	RESULT_CODE_SUCCESS = 1
	RESULT_CODE_ERROR   = -1
	DEFAULT_PAGE_NUM    = 1
	DEFAULT_PAGE_SIZE   = int(INT32_MAX)
	DEFAULT_ORDER_TYPE  = "asc"
	DEFAULT_ORDERBY     = "DataSourceId"
)
View Source
const (
	TimeZoneKey              = "timeZone"
	EnRsCacheKey             = "enRsCache"
	RsCacheSizeKey           = "rsCacheSize"
	RsRefreshFreqKey         = "rsRefreshFreq"
	LoginPrimary             = "loginPrimary"
	LoginModeKey             = "loginMode"
	LoginStatusKey           = "loginStatus"
	LoginDscCtrlKey          = "loginDscCtrl"
	SwitchTimesKey           = "switchTimes"
	SwitchIntervalKey        = "switchInterval"
	EpSelectorKey            = "epSelector"
	PrimaryKey               = "primaryKey"
	KeywordsKey              = "keywords"
	CompressKey              = "compress"
	CompressIdKey            = "compressId"
	LoginEncryptKey          = "loginEncrypt"
	CommunicationEncryptKey  = "communicationEncrypt"
	DirectKey                = "direct"
	Dec2DoubleKey            = "dec2double"
	RwSeparateKey            = "rwSeparate"
	RwPercentKey             = "rwPercent"
	RwAutoDistributeKey      = "rwAutoDistribute"
	CompatibleModeKey        = "compatibleMode"
	CompatibleOraKey         = "comOra"
	CipherPathKey            = "cipherPath"
	DoSwitchKey              = "doSwitch"
	DriverReconnectKey       = "driverReconnect"
	ClusterKey               = "cluster"
	LanguageKey              = "language"
	DbAliveCheckFreqKey      = "dbAliveCheckFreq"
	RwStandbyRecoverTimeKey  = "rwStandbyRecoverTime"
	LogLevelKey              = "logLevel"
	LogDirKey                = "logDir"
	LogBufferPoolSizeKey     = "logBufferPoolSize"
	LogBufferSizeKey         = "logBufferSize"
	LogFlusherQueueSizeKey   = "logFlusherQueueSize"
	LogFlushFreqKey          = "logFlushFreq"
	StatEnableKey            = "statEnable"
	StatDirKey               = "statDir"
	StatFlushFreqKey         = "statFlushFreq"
	StatHighFreqSqlCountKey  = "statHighFreqSqlCount"
	StatSlowSqlCountKey      = "statSlowSqlCount"
	StatSqlMaxCountKey       = "statSqlMaxCount"
	StatSqlRemoveModeKey     = "statSqlRemoveMode"
	AddressRemapKey          = "addressRemap"
	UserRemapKey             = "userRemap"
	ConnectTimeoutKey        = "connectTimeout"
	LoginCertificateKey      = "loginCertificate"
	UrlKey                   = "url"
	HostKey                  = "host"
	PortKey                  = "port"
	UserKey                  = "user"
	PasswordKey              = "password"
	DialNameKey              = "dialName"
	RwStandbyKey             = "rwStandby"
	IsCompressKey            = "isCompress"
	RwHAKey                  = "rwHA"
	RwIgnoreSqlKey           = "rwIgnoreSql"
	AppNameKey               = "appName"
	OsNameKey                = "osName"
	MppLocalKey              = "mppLocal"
	SocketTimeoutKey         = "socketTimeout"
	SessionTimeoutKey        = "sessionTimeout"
	ContinueBatchOnErrorKey  = "continueBatchOnError"
	BatchAllowMaxErrorsKey   = "batchAllowMaxErrors"
	EscapeProcessKey         = "escapeProcess"
	AutoCommitKey            = "autoCommit"
	MaxRowsKey               = "maxRows"
	RowPrefetchKey           = "rowPrefetch"
	BufPrefetchKey           = "bufPrefetch"
	LobModeKey               = "LobMode"
	StmtPoolSizeKey          = "StmtPoolSize"
	IgnoreCaseKey            = "ignoreCase"
	AlwayseAllowCommitKey    = "AlwayseAllowCommit"
	BatchTypeKey             = "batchType"
	BatchNotOnCallKey        = "batchNotOnCall"
	IsBdtaRSKey              = "isBdtaRS"
	ClobAsStringKey          = "clobAsString"
	SslCertPathKey           = "sslCertPath"
	SslKeyPathKey            = "sslKeyPath"
	SslFilesPathKey          = "sslFilesPath"
	KerberosLoginConfPathKey = "kerberosLoginConfPath"
	UKeyNameKey              = "uKeyName"
	UKeyPinKey               = "uKeyPin"
	ColumnNameUpperCaseKey   = "columnNameUpperCase"
	ColumnNameCaseKey        = "columnNameCase"
	DatabaseProductNameKey   = "databaseProductName"
	OsAuthTypeKey            = "osAuthType"
	SchemaKey                = "schema"
	CatalogKey               = "catalog"

	DO_SWITCH_OFF             int32 = 0
	DO_SWITCH_WHEN_CONN_ERROR int32 = 1
	DO_SWITCH_WHEN_EP_RECOVER int32 = 2

	CLUSTER_TYPE_NORMAL int32 = 0
	CLUSTER_TYPE_RW     int32 = 1
	CLUSTER_TYPE_DW     int32 = 2
	CLUSTER_TYPE_DSC    int32 = 3
	CLUSTER_TYPE_MPP    int32 = 4

	EP_STATUS_OK    int32 = 1
	EP_STATUS_ERROR int32 = 2

	LOGIN_MODE_PRIMARY_FIRST int32 = 0

	LOGIN_MODE_PRIMARY_ONLY int32 = 1

	LOGIN_MODE_STANDBY_ONLY int32 = 2

	LOGIN_MODE_STANDBY_FIRST int32 = 3

	LOGIN_MODE_NORMAL_FIRST int32 = 4

	SERVER_MODE_NORMAL int32 = 0

	SERVER_MODE_PRIMARY int32 = 1

	SERVER_MODE_STANDBY int32 = 2

	SERVER_STATUS_MOUNT int32 = 3

	SERVER_STATUS_OPEN int32 = 4

	SERVER_STATUS_SUSPEND int32 = 5

	COMPATIBLE_MODE_ORACLE int = 1

	COMPATIBLE_MODE_MYSQL int = 2

	LANGUAGE_CN int = 0

	LANGUAGE_EN int = 1

	LANGUAGE_CNT_HK = 2

	COLUMN_NAME_NATURAL_CASE = 0

	COLUMN_NAME_UPPER_CASE = 1

	COLUMN_NAME_LOWER_CASE = 2
)
View Source
const (
	XDEC_MAX_PREC int = 38
	XDEC_SIZE         = 21

	FLAG_ZERO     int = 0x80
	FLAG_POSITIVE int = 0xC1
	FLAG_NEGTIVE  int = 0x3E
	EXP_MAX       int = 0xFF - 1 - FLAG_POSITIVE
	EXP_MIN       int = FLAG_NEGTIVE + 1 - 0x7F

	NUM_POSITIVE int = 1
	NUM_NEGTIVE  int = 101
)
View Source
const (
	LOADPREC_DEFAULT = 2

	LOADPREC_MAX = 9

	SECDPREC_DEFAULT = 6

	SECDPREC_MAX = 6

	QUA_D byte = 3

	QUA_DH byte = 4

	QUA_DHM byte = 5

	QUA_DHMS byte = 6

	QUA_H byte = 7

	QUA_HM byte = 8

	QUA_HMS byte = 9

	QUA_M byte = 10

	QUA_MS byte = 11

	QUA_S byte = 12
)
View Source
const (
	QUA_Y  = 0
	QUA_YM = 1
	QUA_MO = 2
)
View Source
const (
	Seconds_1900_1970 = 2209017600

	OFFSET_YEAR = 0

	OFFSET_MONTH = 1

	OFFSET_DAY = 2

	OFFSET_HOUR = 3

	OFFSET_MINUTE = 4

	OFFSET_SECOND = 5

	OFFSET_NANOSECOND = 6

	OFFSET_TIMEZONE = 7

	DT_LEN = 8

	INVALID_VALUE = int(INT32_MIN)

	NANOSECOND_DIGITS = 9

	NANOSECOND_POW = 1000000000
)
View Source
const (
	STATUS_VALID_TIME = 20 * time.Second // ms

	// sort 值
	SORT_SERVER_MODE_INVALID = -1 // 不允许连接的模式

	SORT_SERVER_NOT_ALIVE = -2 // 站点无法连接

	SORT_UNKNOWN = INT32_MAX // 站点还未连接过,模式未知

	SORT_NORMAL = 30

	SORT_PRIMARY = 20

	SORT_STANDBY = 10

	// OPEN>MOUNT>SUSPEND
	SORT_OPEN = 3

	SORT_MOUNT = 2

	SORT_SUSPEND = 1
)
View Source
const (
	TYPE_WELL_DISTRIBUTE = 0
	TYPE_HEAD_FIRST      = 1
)
View Source
const (
	PARAM_COUNT_LIMIT int32 = 65536

	IGNORE_TARGET_LENGTH int32 = -1

	IGNORE_TARGET_SCALE int32 = -1

	IGNORE_TARGET_TYPE = INT32_MIN

	TYPE_FLAG_UNKNOWN byte = 0 // 未知类型

	TYPE_FLAG_EXACT byte = 1 // 精确类型

	TYPE_FLAG_RECOMMEND byte = 2 // 推荐类型

	IO_TYPE_UNKNOWN int8 = -1

	IO_TYPE_IN int8 = 0

	IO_TYPE_OUT int8 = 1

	IO_TYPE_INOUT int8 = 2

	MASK_ORACLE_DATE int32 = 1

	MASK_ORACLE_FLOAT int32 = 2

	MASK_BFILE int32 = 3

	MASK_LOCAL_DATETIME int32 = 4
)
View Source
const (
	LOB_FLAG_BYTE = 0
	LOB_FLAG_CHAR = 1

	LOB_IN_ROW  = 0x1
	LOB_OFF_ROW = 0x2

	NBLOB_HEAD_IN_ROW_FLAG = 0
	NBLOB_HEAD_BLOBID      = NBLOB_HEAD_IN_ROW_FLAG + BYTE_SIZE
	NBLOB_HEAD_BLOB_LEN    = NBLOB_HEAD_BLOBID + DDWORD_SIZE

	NBLOB_HEAD_OUTROW_GROUPID = NBLOB_HEAD_BLOB_LEN + ULINT_SIZE
	NBLOB_HEAD_OUTROW_FILEID  = NBLOB_HEAD_OUTROW_GROUPID + USINT_SIZE
	NBLOB_HEAD_OUTROW_PAGENO  = NBLOB_HEAD_OUTROW_FILEID + USINT_SIZE

	NBLOB_EX_HEAD_TABLE_ID   = NBLOB_HEAD_OUTROW_PAGENO + ULINT_SIZE
	NBLOB_EX_HEAD_COL_ID     = NBLOB_EX_HEAD_TABLE_ID + ULINT_SIZE
	NBLOB_EX_HEAD_ROW_ID     = NBLOB_EX_HEAD_COL_ID + USINT_SIZE
	NBLOB_EX_HEAD_FPA_GRPID  = NBLOB_EX_HEAD_ROW_ID + LINT64_SIZE
	NBLOB_EX_HEAD_FPA_FILEID = NBLOB_EX_HEAD_FPA_GRPID + USINT_SIZE
	NBLOB_EX_HEAD_FPA_PAGENO = NBLOB_EX_HEAD_FPA_FILEID + USINT_SIZE
	NBLOB_EX_HEAD_SIZE       = NBLOB_EX_HEAD_FPA_PAGENO + ULINT_SIZE

	NBLOB_OUTROW_HEAD_SIZE = NBLOB_HEAD_OUTROW_PAGENO + ULINT_SIZE

	NBLOB_INROW_HEAD_SIZE = NBLOB_HEAD_BLOB_LEN + ULINT_SIZE
)
View Source
const (
	ParamDataEnum_Null = 0
	/**
	 * 只有大字段才有行内数据、行外数据的概念
	 */
	ParamDataEnum_OFF_ROW = 1
)
View Source
const (
	MAX_FILE_SIZE = 100 * 1024 * 1024
	FLUSH_SIZE    = 32 * 1024
)
View Source
const (
	Dm_build_615 = "7.6.0.0"

	Dm_build_616 = "7.0.0.9"

	Dm_build_617 = "8.0.0.73"

	Dm_build_618 = "7.1.2.128"

	Dm_build_619 = "7.1.5.144"

	Dm_build_620 = "7.1.6.123"

	Dm_build_621 = 1

	Dm_build_622 = 2

	Dm_build_623 = 3

	Dm_build_624 = 4

	Dm_build_625 = 5

	Dm_build_626 = 6

	Dm_build_627 = 8

	Dm_build_628 = Dm_build_627

	Dm_build_629 = 32768 - 128

	Dm_build_630 = 0x20000000

	Dm_build_631 int16 = 1

	Dm_build_632 int16 = 2

	Dm_build_633 int16 = 3

	Dm_build_634 int16 = 4

	Dm_build_635 int16 = 5

	Dm_build_636 int16 = 6

	Dm_build_637 int16 = 7

	Dm_build_638 int16 = 8

	Dm_build_639 int16 = 9

	Dm_build_640 int16 = 13

	Dm_build_641 int16 = 14

	Dm_build_642 int16 = 15

	Dm_build_643 int16 = 17

	Dm_build_644 int16 = 21

	Dm_build_645 int16 = 24

	Dm_build_646 int16 = 27

	Dm_build_647 int16 = 29

	Dm_build_648 int16 = 30

	Dm_build_649 int16 = 31

	Dm_build_650 int16 = 32

	Dm_build_651 int16 = 44

	Dm_build_652 int16 = 52

	Dm_build_653 int16 = 60

	Dm_build_654 int16 = 71

	Dm_build_655 int16 = 90

	Dm_build_656 int16 = 91

	Dm_build_657 int16 = 200

	Dm_build_658 = 64

	Dm_build_659 = 20

	Dm_build_660 = 0

	Dm_build_661 = 4

	Dm_build_662 = 6

	Dm_build_663 = 10

	Dm_build_664 = 14

	Dm_build_665 = 18

	Dm_build_666 = 19

	Dm_build_667 = 128

	Dm_build_668 = 256

	Dm_build_669 int32 = 2

	Dm_build_670 int32 = 5

	Dm_build_671 = -1

	Dm_build_672 int32 = 0xFF00

	Dm_build_673 int32 = 0xFFFE - 3

	Dm_build_674 int32 = 0xFFFE - 4

	Dm_build_675 int32 = 0xFFFE

	Dm_build_676 int32 = 0xFFFF

	Dm_build_677 int32 = 0x80

	Dm_build_678 byte = 0x60

	Dm_build_679 uint16 = uint16(Dm_build_675)

	Dm_build_680 uint16 = uint16(Dm_build_676)

	Dm_build_681 int16 = 0x00

	Dm_build_682 int16 = 0x03

	Dm_build_683 int32 = 0x80

	Dm_build_684 byte = 0

	Dm_build_685 byte = 1

	Dm_build_686 byte = 2

	Dm_build_687 byte = 3

	Dm_build_688 byte = 4

	Dm_build_689 byte = Dm_build_684

	Dm_build_690 int = 10

	Dm_build_691 int32 = 32

	Dm_build_692 int32 = 65536

	Dm_build_693 byte = 0

	Dm_build_694 byte = 1

	Dm_build_695 int32 = 0x00000000

	Dm_build_696 int32 = 0x00000020

	Dm_build_697 int32 = 0x00000040

	Dm_build_698 int32 = 0x00000FFF

	Dm_build_699 int32 = 0

	Dm_build_700 int32 = 1

	Dm_build_701 int32 = 2

	Dm_build_702 int32 = 3

	Dm_build_703 = 8192

	Dm_build_704 = 1

	Dm_build_705 = 2

	Dm_build_706 = 0

	Dm_build_707 = 0

	Dm_build_708 = 1

	Dm_build_709 = -1

	Dm_build_710 int16 = 0

	Dm_build_711 int16 = 1

	Dm_build_712 int16 = 2

	Dm_build_713 int16 = 3

	Dm_build_714 int16 = 4

	Dm_build_715 int16 = 127

	Dm_build_716 int16 = Dm_build_715 + 20

	Dm_build_717 int16 = Dm_build_715 + 21

	Dm_build_718 int16 = Dm_build_715 + 22

	Dm_build_719 int16 = Dm_build_715 + 24

	Dm_build_720 int16 = Dm_build_715 + 25

	Dm_build_721 int16 = Dm_build_715 + 26

	Dm_build_722 int16 = Dm_build_715 + 30

	Dm_build_723 int16 = Dm_build_715 + 31

	Dm_build_724 int16 = Dm_build_715 + 32

	Dm_build_725 int16 = Dm_build_715 + 33

	Dm_build_726 int16 = Dm_build_715 + 35

	Dm_build_727 int16 = Dm_build_715 + 38

	Dm_build_728 int16 = Dm_build_715 + 39

	Dm_build_729 int16 = Dm_build_715 + 51

	Dm_build_730 int16 = Dm_build_715 + 71

	Dm_build_731 int16 = Dm_build_715 + 124

	Dm_build_732 int16 = Dm_build_715 + 125

	Dm_build_733 int16 = Dm_build_715 + 126

	Dm_build_734 int16 = Dm_build_715 + 127

	Dm_build_735 int16 = Dm_build_715 + 128

	Dm_build_736 int16 = Dm_build_715 + 129

	Dm_build_737 byte = 0

	Dm_build_738 byte = 2

	Dm_build_739 = 2048

	Dm_build_740 = -1

	Dm_build_741 = 0

	Dm_build_742 = 16000

	Dm_build_743 = 32000

	Dm_build_744 = 0x00000000

	Dm_build_745 = 0x00000020

	Dm_build_746 = 0x00000040

	Dm_build_747 = 0x00000FFF

	Dm_build_748 = 4
)
View Source
const (
	Dm_build_863 int = 0x01

	Dm_build_864 int = 0x02

	Dm_build_865 int = 0x04

	Dm_build_866 int = 0x08

	Dm_build_867 int = 0x0100

	Dm_build_868 int32 = 0x00

	Dm_build_869 int32 = 0x01

	Dm_build_870 int32 = 0x02

	Dm_build_871 int32 = 0x03

	Dm_build_872 = 48

	Dm_build_873 = 59
)
View Source
const (
	Dm_build_954 = 0

	Dm_build_955 = Dm_build_954 + ULINT_SIZE

	Dm_build_956 = Dm_build_955 + USINT_SIZE

	Dm_build_957 = Dm_build_956 + ULINT_SIZE

	Dm_build_958 = Dm_build_957 + ULINT_SIZE

	Dm_build_959 = Dm_build_958 + BYTE_SIZE

	Dm_build_960 = -2

	Dm_build_961 = -3
)
View Source
const (
	Dm_build_982 = Dm_build_659

	Dm_build_983 = Dm_build_982 + DDWORD_SIZE

	Dm_build_984 = Dm_build_983 + LINT64_SIZE

	Dm_build_985 = Dm_build_984 + USINT_SIZE

	Dm_build_986 = Dm_build_659

	Dm_build_987 = Dm_build_986 + DDWORD_SIZE
)
View Source
const (
	Dm_build_1046 = Dm_build_659

	Dm_build_1047 = Dm_build_1046 + ULINT_SIZE

	Dm_build_1048 = Dm_build_1047 + ULINT_SIZE

	Dm_build_1049 = Dm_build_1048 + ULINT_SIZE

	Dm_build_1050 = Dm_build_1049 + BYTE_SIZE

	Dm_build_1051 = Dm_build_1050 + USINT_SIZE

	Dm_build_1052 = Dm_build_1051 + ULINT_SIZE

	Dm_build_1053 = Dm_build_1052 + BYTE_SIZE

	Dm_build_1054 = Dm_build_1053 + BYTE_SIZE

	Dm_build_1055 = Dm_build_1054 + BYTE_SIZE

	Dm_build_1056 = Dm_build_659

	Dm_build_1057 = Dm_build_1056 + ULINT_SIZE

	Dm_build_1058 = Dm_build_1057 + ULINT_SIZE

	Dm_build_1059 = Dm_build_1058 + BYTE_SIZE

	Dm_build_1060 = Dm_build_1059 + ULINT_SIZE

	Dm_build_1061 = Dm_build_1060 + BYTE_SIZE

	Dm_build_1062 = Dm_build_1061 + BYTE_SIZE

	Dm_build_1063 = Dm_build_1062 + USINT_SIZE

	Dm_build_1064 = Dm_build_1063 + USINT_SIZE

	Dm_build_1065 = Dm_build_1064 + BYTE_SIZE

	Dm_build_1066 = Dm_build_1065 + USINT_SIZE

	Dm_build_1067 = Dm_build_1066 + BYTE_SIZE

	Dm_build_1068 = Dm_build_1067 + BYTE_SIZE

	Dm_build_1069 = Dm_build_1068 + ULINT_SIZE

	Dm_build_1070 = Dm_build_1069 + USINT_SIZE
)
View Source
const (
	Dm_build_1098 = Dm_build_659
	Dm_build_1099 = Dm_build_1098 + USINT_SIZE
)
View Source
const (
	Dm_build_1184 = Dm_build_659

	Dm_build_1185 = Dm_build_1184 + ULINT_SIZE

	Dm_build_1186 = Dm_build_1185 + ULINT_SIZE

	Dm_build_1187 = Dm_build_1186 + BYTE_SIZE

	Dm_build_1188 = Dm_build_1187 + BYTE_SIZE

	Dm_build_1189 = Dm_build_1188 + BYTE_SIZE

	Dm_build_1190 = Dm_build_1189 + BYTE_SIZE

	Dm_build_1191 = Dm_build_1190 + BYTE_SIZE

	Dm_build_1192 = Dm_build_1191 + BYTE_SIZE

	Dm_build_1193 = Dm_build_1192 + BYTE_SIZE

	Dm_build_1194 = Dm_build_659

	Dm_build_1195 = Dm_build_1194 + ULINT_SIZE

	Dm_build_1196 = Dm_build_1195 + ULINT_SIZE

	Dm_build_1197 = Dm_build_1196 + ULINT_SIZE

	Dm_build_1198 = Dm_build_1197 + ULINT_SIZE

	Dm_build_1199 = Dm_build_1198 + ULINT_SIZE

	Dm_build_1200 = Dm_build_1199 + BYTE_SIZE

	Dm_build_1201 = Dm_build_1200 + BYTE_SIZE

	Dm_build_1202 = Dm_build_1201 + BYTE_SIZE

	Dm_build_1203 = Dm_build_1202 + BYTE_SIZE

	Dm_build_1204 = Dm_build_1203 + BYTE_SIZE

	Dm_build_1205 = Dm_build_1204 + USINT_SIZE

	Dm_build_1206 = Dm_build_1205 + BYTE_SIZE
)
View Source
const (
	SQL_SELECT_STANDBY = "select distinct mailIni.inst_name, mailIni.INST_IP, mailIni.INST_PORT, archIni.arch_status " +
		"from  v$arch_status archIni " +
		"left join (select * from V$DM_MAL_INI) mailIni on archIni.arch_dest = mailIni.inst_name " +
		"left join V$MAL_LINK_STATUS on CTL_LINK_STATUS  = 'CONNECTED' AND DATA_LINK_STATUS = 'CONNECTED' " +
		"where archIni.arch_type in ('TIMELY', 'REALTIME') AND  archIni.arch_status = 'VALID'"

	SQL_SELECT_STANDBY2 = "select distinct " +
		"mailIni.mal_inst_name, mailIni.mal_INST_HOST, mailIni.mal_INST_PORT, archIni.arch_status " +
		"from v$arch_status archIni " + "left join (select * from V$DM_MAL_INI) mailIni " +
		"on archIni.arch_dest = mailIni.mal_inst_name " + "left join V$MAL_LINK_STATUS " +
		"on CTL_LINK_STATUS  = 'CONNECTED' AND DATA_LINK_STATUS = 'CONNECTED' " +
		"where archIni.arch_type in ('TIMELY', 'REALTIME') AND  archIni.arch_status = 'VALID'"
)
View Source
const (
	DEFAULT_PORT int32 = 5236

	//log level
	LOG_OFF int = 0

	LOG_ERROR int = 1

	LOG_WARN int = 2

	LOG_SQL int = 3

	LOG_INFO int = 4

	LOG_DEBUG int = 5

	LOG_ALL int = 9

	//stat
	STAT_SQL_REMOVE_LATEST int = 0

	STAT_SQL_REMOVE_OLDEST int = 1

	// 编码字符集
	ENCODING_UTF8 string = "UTF-8"

	ENCODING_EUCKR string = "EUC-KR"

	ENCODING_GB18030 string = "GB18030"

	ENCODING_BIG5 string = "BIG5"

	DbAliveCheckFreqDef = 0

	LocaleDef = LANGUAGE_CN

	// log
	LogLevelDef = LOG_OFF // 日志级别:off, error, warn, sql, info, all

	LogFlushFreqDef = 10 // 日志刷盘时间s (>=0)

	LogFlushQueueSizeDef = 100 //日志队列大小

	LogBufferSizeDef = 32 * 1024 // 日志缓冲区大小 (>0)

	// stat
	StatEnableDef = false //

	StatFlushFreqDef = 3 // 日志刷盘时间s (>=0)

	StatSlowSqlCountDef = 100 // 慢sql top行数,(0-1000)

	StatHighFreqSqlCountDef = 100 // 高频sql top行数, (0-1000)

	StatSqlMaxCountDef = 100000 // sql 统计最大值(0-100000)

	StatSqlRemoveModeDef = STAT_SQL_REMOVE_LATEST // 记录sql数超过最大值时,sql淘汰方式
)
View Source
const (
	INT8_MAX int8 = math.MaxInt8

	INT8_MIN int8 = math.MinInt8

	BYTE_MAX byte = math.MaxUint8

	BYTE_MIN byte = 0

	INT16_MAX int16 = math.MaxInt16

	INT16_MIN int16 = math.MinInt16

	UINT16_MAX uint16 = math.MaxUint16

	UINT16_MIN uint16 = 0

	INT32_MAX int32 = math.MaxInt32

	INT32_MIN int32 = math.MinInt32

	UINT32_MAX uint32 = math.MaxUint32

	UINT32_MIN uint32 = 0

	INT64_MAX int64 = math.MaxInt64

	INT64_MIN int64 = math.MinInt64

	UINT64_MAX uint64 = math.MaxUint64

	UINT64_MIN uint64 = 0

	FLOAT32_MAX float32 = 3.4e+38

	FLOAT32_MIN float32 = -3.4e+38

	BYTE_SIZE = 1

	USINT_SIZE = 2

	ULINT_SIZE = 4

	DDWORD_SIZE = 8

	LINT64_SIZE = 8

	CHAR = 0

	VARCHAR2 = 1

	VARCHAR = 2

	BIT = 3

	TINYINT = 5

	SMALLINT = 6

	INT = 7

	BIGINT = 8

	DECIMAL = 9

	REAL = 10

	DOUBLE = 11

	BLOB = 12

	BOOLEAN = 13

	DATE = 14

	TIME = 15

	DATETIME = 16

	BINARY = 17

	VARBINARY = 18

	CLOB = 19

	INTERVAL_YM = 20

	INTERVAL_DT = 21

	TIME_TZ = 22

	DATETIME_TZ = 23

	XDEC_INT32 = 24

	XDEC_INT64 = 25

	DATETIME2 = 26

	DATETIME2_TZ = 27

	NULL = 28

	ANY = 31

	STAR_ALL = 32

	STAR = 33

	RECORD = 40

	TYPE = 41

	TYPE_REF = 42

	UNKNOWN = 54

	ARRAY = 117

	CLASS = 119

	CURSOR = 120

	PLTYPE_RECORD = 121

	SARRAY = 122

	CURSOR_ORACLE = -10

	BIT_PREC = BYTE_SIZE

	TINYINT_PREC = BYTE_SIZE

	SMALLINT_PREC = USINT_SIZE

	INT_PREC = ULINT_SIZE

	BIGINT_PREC = LINT64_SIZE

	REAL_PREC = 4

	DOUBLE_PREC = 8

	DATE_PREC = 3

	TIME_PREC = 5

	DATETIME_PREC = 8

	DATETIME2_PREC = 9

	TIME_TZ_PREC = TIME_PREC + 2

	DATETIME_TZ_PREC = DATETIME_PREC + 2

	DATETIME2_TZ_PREC = DATETIME2_PREC + 2

	INTERVAL_YM_PREC = 3 * ULINT_SIZE

	INTERVAL_DT_PREC = 6 * ULINT_SIZE

	VARCHAR_PREC = 8188

	VARBINARY_PREC = 8188

	BLOB_PREC int32 = INT32_MAX

	CLOB_PREC int32 = INT32_MAX

	NULL_PREC = 0

	LOCAL_TIME_ZONE_SCALE_MASK = 0x00001000

	BFILE_PREC = 512

	BFILE_SCALE = 6

	COMPLEX_SCALE = 5

	CURRENCY_PREC = 19

	CURRENCY_SCALE = 4

	LOCAL_DATETIME_SCALE_MASK int32 = 0x00001000

	ORACLE_FLOAT_SCALE_MASK int32 = 0x81

	ORACLE_DATE_SCALE_MASK int32 = 0x00002000
)
View Source
const (
	ARRAY_TYPE_SHORT = 1

	ARRAY_TYPE_INTEGER = 2

	ARRAY_TYPE_LONG = 3

	ARRAY_TYPE_FLOAT = 4

	ARRAY_TYPE_DOUBLE = 5
)
View Source
const (
	OBJ_BLOB_MAGIC = 78111999

	CLTN_TYPE_IND_TABLE = 3

	CLTN_TYPE_NST_TABLE = 2

	CLTN_TYPE_VARRAY = 1
)
View Source
const COL_MAX_LEN = 32
View Source
const (
	Dm_build_1086 = Dm_build_659
)
View Source
const Dm_build_1109 = 38
View Source
const (
	Dm_build_1136 = Dm_build_659
)
View Source
const Dm_build_850 = 62
View Source
const (
	READ_LEN = Dm_build_742
)
View Source
const (
	READ_MAX_SIZE = 100
)
View Source
const SQL_GET_DSC_EP_SITE = "SELECT " +
	"dsc.ep_seqno, " +
	"(CASE mal.MAL_INST_HOST WHEN '' THEN mal.MAL_HOST ELSE mal.MAL_INST_HOST END) as ep_host, " +
	"dcr.EP_PORT, " +
	"dsc.EP_STATUS " +
	"FROM V$DSC_EP_INFO dsc " +
	"LEFT join V$DM_MAL_INI mal " +
	"on dsc.EP_NAME = mal.MAL_INST_NAME " +
	"LEFT join (SELECT grp.GROUP_TYPE GROUP_TYPE, ep.* FROM SYS.\"V$DCR_GROUP\" grp, SYS.\"V$DCR_EP\" ep where grp.GROUP_NAME = ep.GROUP_NAME) dcr " +
	"on dsc.EP_NAME = dcr.EP_NAME and GROUP_TYPE = 'DB' order by  dsc.ep_seqno asc;"

Variables

View Source
var (
	DSN_INVALID_SCHEMA             = newDmError(9001, "error.dsn.invalidSchema")
	UNSUPPORTED_SCAN               = newDmError(9002, "error.unsupported.scan")
	INVALID_PARAMETER_NUMBER       = newDmError(9003, "error.invalidParameterNumber")
	THIRD_PART_CIPHER_INIT_FAILED  = newDmError(9004, "error.initThirdPartCipherFailed")
	ECGO_NOT_QUERY_SQL             = newDmError(9005, "error.notQuerySQL")
	ECGO_NOT_EXEC_SQL              = newDmError(9006, "error.notExecSQL")
	ECGO_UNKOWN_NETWORK            = newDmError(9007, "error.unkownNetWork")
	ECGO_INVALID_CONN              = newDmError(9008, "error.invalidConn")
	ECGO_UNSUPPORTED_INPARAM_TYPE  = newDmError(9009, "error.unsupportedInparamType")
	ECGO_UNSUPPORTED_OUTPARAM_TYPE = newDmError(9010, "error.unsupportedOutparamType")
	ECGO_STORE_IN_NIL_POINTER      = newDmError(9011, "error.storeInNilPointer")
	ECGO_IS_NULL                   = newDmError(9012, "error.isNull")
)

驱动级错误

View Source
var (
	ECGO_CONNECTION_SWITCH_FAILED    = newDmError(20001, "error.connectionSwitchFailed")
	ECGO_CONNECTION_SWITCHED         = newDmError(20000, "error.connectionSwitched")
	ECGO_COMMUNITION_ERROR           = newDmError(6001, "error.communicationError")
	ECGO_MSG_CHECK_ERROR             = newDmError(6002, "error.msgCheckError")
	ECGO_INVALID_TIME_INTERVAL       = newDmError(6005, "error.invalidTimeInterval")
	ECGO_UNSUPPORTED_TYPE            = newDmError(6006, "error.unsupportedType")
	ECGO_DATA_CONVERTION_ERROR       = newDmError(6007, "error.dataConvertionError")
	ECGO_INVALID_SQL_TYPE            = newDmError(6009, "error.invalidSqlType")
	ECGO_INVALID_DATETIME_FORMAT     = newDmError(6015, "error.invalidDateTimeFormat")
	ECGO_INVALID_COLUMN_TYPE         = newDmError(6016, "error.invalidColumnType")
	ECGO_RESULTSET_IS_READ_ONLY      = newDmError(6029, "error.resultsetInReadOnlyStatus")
	ECGO_INVALID_SEQUENCE_NUMBER     = newDmError(6032, "error.invalidSequenceNumber")
	ECGO_RESULTSET_CLOSED            = newDmError(6034, "errorResultSetColsed")
	ECGO_STATEMENT_HANDLE_CLOSED     = newDmError(6035, "errorStatementHandleClosed")
	ECGO_INVALID_PARAMETER_VALUE     = newDmError(6036, "error.invalidParamterValue")
	ECGO_INVALID_TRAN_ISOLATION      = newDmError(6038, "error.invalidTranIsolation")
	ECGO_COMMIT_IN_AUTOCOMMIT_MODE   = newDmError(6039, "errorCommitInAutoCommitMode")
	ECGO_ROLLBACK_IN_AUTOCOMMIT_MODE = newDmError(6040, "errorRollbackInAutoCommitMode")
	ECGO_UNBINDED_PARAMETER          = newDmError(6054, "error.unbindedParameter")
	ECGO_PARAM_COUNT_LIMIT           = newDmError(6056, "error.ParamCountLimit")
	ECGO_INVALID_LENGTH_OR_OFFSET    = newDmError(6057, "error.invalidLenOrOffset")
	ECGO_CONNECTION_CLOSED           = newDmError(6060, "error.error.connectionClosedOrNotBuild")
	ECGO_INTERVAL_OVERFLOW           = newDmError(6066, "error.intervalValueOverflow")
	ECGO_STRING_CUT                  = newDmError(6067, "error.stringCut")
	ECGO_INVALID_HEX                 = newDmError(6068, "error.invalidHex")
	ECGO_INVALID_CIPHER              = newDmError(6069, "error.invalidCipher")
	ECGO_INVALID_BFILE_STR           = newDmError(6070, "error.invalidBFile")
	ECGO_OSAUTH_ERROR                = newDmError(6073, "error.osauthError")
	ECGO_ERROR_SERVER_VERSION        = newDmError(6074, "error.serverVersion")
	ECGO_USERNAME_TOO_LONG           = newDmError(6075, "error.usernameTooLong")
	ECGO_PASSWORD_TOO_LONG           = newDmError(6076, "error.passwordTooLong")
	ECGO_INVALID_COMPLEX_TYPE_NAME   = newDmError(6079, "error.invalidComplexTypeName")
	ECGO_STRUCT_MEM_NOT_MATCH        = newDmError(6080, "error.structMemNotMatch")
	ECGO_INVALID_OBJ_BLOB            = newDmError(6081, "error.invalidObjBlob")
	ECGO_INVALID_ARRAY_LEN           = newDmError(6082, "error.invalidArrayLen")
	ECGO_INVALID_SERVER_MODE         = newDmError(6091, "error.invalidServerMode")
	ECGO_DATA_TOO_LONG               = newDmError(6092, "error.dataTooLong")
	ECGO_BATCH_ERROR                 = newDmError(6093, "error.batchError")
	ECGO_MSG_TOO_LONG                = newDmError(6101, "error.msgTooLong")
	ECGO_INVALID_DATETIME_VALUE      = newDmError(6103, "error.invalidDateTimeValue")

	ECGO_INIT_SSL_FAILED = newDmError(20002, "error.SSLInitFailed")
	ECGO_LOB_FREED       = newDmError(20003, "error.LobDataHasFreed")
	ECGO_FATAL_ERROR     = newDmError(20004, "error.fatalError")
)
View Source
var (
	ECGO_DATA_OVERFLOW       = newDmError(-6102, "error.dataOverflow")
	ECGO_DATETIME_OVERFLOW   = newDmError(-6112, "error.datetimeOverflow")
	EC_RN_EXCEED_ROWSET_SIZE = newDmError(-7036, "")
	EC_BP_WITH_ERROR         = newDmError(121, "warning.bpWithErr")
)

Svr Msg Err

View Source
var (
	DbAliveCheckFreq = DbAliveCheckFreqDef

	Locale = LocaleDef // 0:简体中文 1:英文 2:繁体中文

	// log
	LogLevel = LogLevelDef // 日志级别:off, error, warn, sql, info, all

	LogDir = LogDirDef

	LogFlushFreq = LogFlushFreqDef // 日志刷盘时间s (>=0)

	LogFlushQueueSize = LogFlushQueueSizeDef

	LogBufferSize = LogBufferSizeDef // 日志缓冲区大小 (>0)

	// stat
	StatEnable = StatEnableDef //

	StatDir = StatDirDef // jdbc工作目录,所有生成的文件都在该目录下

	StatFlushFreq = StatFlushFreqDef // 日志刷盘时间s (>=0)

	StatSlowSqlCount = StatSlowSqlCountDef // 慢sql top行数,(0-1000)

	StatHighFreqSqlCount = StatHighFreqSqlCountDef // 高频sql top行数, (0-1000)

	StatSqlMaxCount = StatSqlMaxCountDef // sql 统计最大值(0-100000)

	StatSqlRemoveMode = StatSqlRemoveModeDef // 记录sql数超过最大值时,sql淘汰方式

	/*---------------------------------------------------------------*/
	ServerGroupMap sync.Map

	GlobalProperties = NewProperties()
)
View Source
var AccessLogger = &Logger{}
View Source
var ConnLogger = &Logger{}
View Source
var DB2G db2g
View Source
var Dm_build_1265 = &dm_build_1264{}
View Source
var Dm_build_749 = [8][256]uint32{

	{0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535,
		0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b,
		0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148,
		0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
		0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63,
		0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1,
		0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6,
		0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac,
		0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
		0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87,
		0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc,
		0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2,
		0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97,
		0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
		0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea,
		0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158,
		0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d,
		0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73,
		0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
		0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e,
		0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b,
		0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739,
		0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e,
		0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
		0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671,
		0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f,
		0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4,
		0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda,
		0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
		0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795,
		0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92,
		0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0,
		0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785,
		0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
		0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8,
		0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6,
		0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3,
		0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661,
		0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
		0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c,
		0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729,
		0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37,
		0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d},

	{0x00000000, 0x191b3141, 0x32366282, 0x2b2d53c3, 0x646cc504, 0x7d77f445, 0x565aa786,
		0x4f4196c7, 0xc8d98a08, 0xd1c2bb49, 0xfaefe88a, 0xe3f4d9cb, 0xacb54f0c,
		0xb5ae7e4d, 0x9e832d8e, 0x87981ccf, 0x4ac21251, 0x53d92310, 0x78f470d3,
		0x61ef4192, 0x2eaed755, 0x37b5e614, 0x1c98b5d7, 0x05838496, 0x821b9859,
		0x9b00a918, 0xb02dfadb, 0xa936cb9a, 0xe6775d5d, 0xff6c6c1c, 0xd4413fdf,
		0xcd5a0e9e, 0x958424a2, 0x8c9f15e3, 0xa7b24620, 0xbea97761, 0xf1e8e1a6,
		0xe8f3d0e7, 0xc3de8324, 0xdac5b265, 0x5d5daeaa, 0x44469feb, 0x6f6bcc28,
		0x7670fd69, 0x39316bae, 0x202a5aef, 0x0b07092c, 0x121c386d, 0xdf4636f3,
		0xc65d07b2, 0xed705471, 0xf46b6530, 0xbb2af3f7, 0xa231c2b6, 0x891c9175,
		0x9007a034, 0x179fbcfb, 0x0e848dba, 0x25a9de79, 0x3cb2ef38, 0x73f379ff,
		0x6ae848be, 0x41c51b7d, 0x58de2a3c, 0xf0794f05, 0xe9627e44, 0xc24f2d87,
		0xdb541cc6, 0x94158a01, 0x8d0ebb40, 0xa623e883, 0xbf38d9c2, 0x38a0c50d,
		0x21bbf44c, 0x0a96a78f, 0x138d96ce, 0x5ccc0009, 0x45d73148, 0x6efa628b,
		0x77e153ca, 0xbabb5d54, 0xa3a06c15, 0x888d3fd6, 0x91960e97, 0xded79850,
		0xc7cca911, 0xece1fad2, 0xf5facb93, 0x7262d75c, 0x6b79e61d, 0x4054b5de,
		0x594f849f, 0x160e1258, 0x0f152319, 0x243870da, 0x3d23419b, 0x65fd6ba7,
		0x7ce65ae6, 0x57cb0925, 0x4ed03864, 0x0191aea3, 0x188a9fe2, 0x33a7cc21,
		0x2abcfd60, 0xad24e1af, 0xb43fd0ee, 0x9f12832d, 0x8609b26c, 0xc94824ab,
		0xd05315ea, 0xfb7e4629, 0xe2657768, 0x2f3f79f6, 0x362448b7, 0x1d091b74,
		0x04122a35, 0x4b53bcf2, 0x52488db3, 0x7965de70, 0x607eef31, 0xe7e6f3fe,
		0xfefdc2bf, 0xd5d0917c, 0xcccba03d, 0x838a36fa, 0x9a9107bb, 0xb1bc5478,
		0xa8a76539, 0x3b83984b, 0x2298a90a, 0x09b5fac9, 0x10aecb88, 0x5fef5d4f,
		0x46f46c0e, 0x6dd93fcd, 0x74c20e8c, 0xf35a1243, 0xea412302, 0xc16c70c1,
		0xd8774180, 0x9736d747, 0x8e2de606, 0xa500b5c5, 0xbc1b8484, 0x71418a1a,
		0x685abb5b, 0x4377e898, 0x5a6cd9d9, 0x152d4f1e, 0x0c367e5f, 0x271b2d9c,
		0x3e001cdd, 0xb9980012, 0xa0833153, 0x8bae6290, 0x92b553d1, 0xddf4c516,
		0xc4eff457, 0xefc2a794, 0xf6d996d5, 0xae07bce9, 0xb71c8da8, 0x9c31de6b,
		0x852aef2a, 0xca6b79ed, 0xd37048ac, 0xf85d1b6f, 0xe1462a2e, 0x66de36e1,
		0x7fc507a0, 0x54e85463, 0x4df36522, 0x02b2f3e5, 0x1ba9c2a4, 0x30849167,
		0x299fa026, 0xe4c5aeb8, 0xfdde9ff9, 0xd6f3cc3a, 0xcfe8fd7b, 0x80a96bbc,
		0x99b25afd, 0xb29f093e, 0xab84387f, 0x2c1c24b0, 0x350715f1, 0x1e2a4632,
		0x07317773, 0x4870e1b4, 0x516bd0f5, 0x7a468336, 0x635db277, 0xcbfad74e,
		0xd2e1e60f, 0xf9ccb5cc, 0xe0d7848d, 0xaf96124a, 0xb68d230b, 0x9da070c8,
		0x84bb4189, 0x03235d46, 0x1a386c07, 0x31153fc4, 0x280e0e85, 0x674f9842,
		0x7e54a903, 0x5579fac0, 0x4c62cb81, 0x8138c51f, 0x9823f45e, 0xb30ea79d,
		0xaa1596dc, 0xe554001b, 0xfc4f315a, 0xd7626299, 0xce7953d8, 0x49e14f17,
		0x50fa7e56, 0x7bd72d95, 0x62cc1cd4, 0x2d8d8a13, 0x3496bb52, 0x1fbbe891,
		0x06a0d9d0, 0x5e7ef3ec, 0x4765c2ad, 0x6c48916e, 0x7553a02f, 0x3a1236e8,
		0x230907a9, 0x0824546a, 0x113f652b, 0x96a779e4, 0x8fbc48a5, 0xa4911b66,
		0xbd8a2a27, 0xf2cbbce0, 0xebd08da1, 0xc0fdde62, 0xd9e6ef23, 0x14bce1bd,
		0x0da7d0fc, 0x268a833f, 0x3f91b27e, 0x70d024b9, 0x69cb15f8, 0x42e6463b,
		0x5bfd777a, 0xdc656bb5, 0xc57e5af4, 0xee530937, 0xf7483876, 0xb809aeb1,
		0xa1129ff0, 0x8a3fcc33, 0x9324fd72},

	{0x00000000, 0x01c26a37, 0x0384d46e, 0x0246be59, 0x0709a8dc, 0x06cbc2eb, 0x048d7cb2,
		0x054f1685, 0x0e1351b8, 0x0fd13b8f, 0x0d9785d6, 0x0c55efe1, 0x091af964,
		0x08d89353, 0x0a9e2d0a, 0x0b5c473d, 0x1c26a370, 0x1de4c947, 0x1fa2771e,
		0x1e601d29, 0x1b2f0bac, 0x1aed619b, 0x18abdfc2, 0x1969b5f5, 0x1235f2c8,
		0x13f798ff, 0x11b126a6, 0x10734c91, 0x153c5a14, 0x14fe3023, 0x16b88e7a,
		0x177ae44d, 0x384d46e0, 0x398f2cd7, 0x3bc9928e, 0x3a0bf8b9, 0x3f44ee3c,
		0x3e86840b, 0x3cc03a52, 0x3d025065, 0x365e1758, 0x379c7d6f, 0x35dac336,
		0x3418a901, 0x3157bf84, 0x3095d5b3, 0x32d36bea, 0x331101dd, 0x246be590,
		0x25a98fa7, 0x27ef31fe, 0x262d5bc9, 0x23624d4c, 0x22a0277b, 0x20e69922,
		0x2124f315, 0x2a78b428, 0x2bbade1f, 0x29fc6046, 0x283e0a71, 0x2d711cf4,
		0x2cb376c3, 0x2ef5c89a, 0x2f37a2ad, 0x709a8dc0, 0x7158e7f7, 0x731e59ae,
		0x72dc3399, 0x7793251c, 0x76514f2b, 0x7417f172, 0x75d59b45, 0x7e89dc78,
		0x7f4bb64f, 0x7d0d0816, 0x7ccf6221, 0x798074a4, 0x78421e93, 0x7a04a0ca,
		0x7bc6cafd, 0x6cbc2eb0, 0x6d7e4487, 0x6f38fade, 0x6efa90e9, 0x6bb5866c,
		0x6a77ec5b, 0x68315202, 0x69f33835, 0x62af7f08, 0x636d153f, 0x612bab66,
		0x60e9c151, 0x65a6d7d4, 0x6464bde3, 0x662203ba, 0x67e0698d, 0x48d7cb20,
		0x4915a117, 0x4b531f4e, 0x4a917579, 0x4fde63fc, 0x4e1c09cb, 0x4c5ab792,
		0x4d98dda5, 0x46c49a98, 0x4706f0af, 0x45404ef6, 0x448224c1, 0x41cd3244,
		0x400f5873, 0x4249e62a, 0x438b8c1d, 0x54f16850, 0x55330267, 0x5775bc3e,
		0x56b7d609, 0x53f8c08c, 0x523aaabb, 0x507c14e2, 0x51be7ed5, 0x5ae239e8,
		0x5b2053df, 0x5966ed86, 0x58a487b1, 0x5deb9134, 0x5c29fb03, 0x5e6f455a,
		0x5fad2f6d, 0xe1351b80, 0xe0f771b7, 0xe2b1cfee, 0xe373a5d9, 0xe63cb35c,
		0xe7fed96b, 0xe5b86732, 0xe47a0d05, 0xef264a38, 0xeee4200f, 0xeca29e56,
		0xed60f461, 0xe82fe2e4, 0xe9ed88d3, 0xebab368a, 0xea695cbd, 0xfd13b8f0,
		0xfcd1d2c7, 0xfe976c9e, 0xff5506a9, 0xfa1a102c, 0xfbd87a1b, 0xf99ec442,
		0xf85cae75, 0xf300e948, 0xf2c2837f, 0xf0843d26, 0xf1465711, 0xf4094194,
		0xf5cb2ba3, 0xf78d95fa, 0xf64fffcd, 0xd9785d60, 0xd8ba3757, 0xdafc890e,
		0xdb3ee339, 0xde71f5bc, 0xdfb39f8b, 0xddf521d2, 0xdc374be5, 0xd76b0cd8,
		0xd6a966ef, 0xd4efd8b6, 0xd52db281, 0xd062a404, 0xd1a0ce33, 0xd3e6706a,
		0xd2241a5d, 0xc55efe10, 0xc49c9427, 0xc6da2a7e, 0xc7184049, 0xc25756cc,
		0xc3953cfb, 0xc1d382a2, 0xc011e895, 0xcb4dafa8, 0xca8fc59f, 0xc8c97bc6,
		0xc90b11f1, 0xcc440774, 0xcd866d43, 0xcfc0d31a, 0xce02b92d, 0x91af9640,
		0x906dfc77, 0x922b422e, 0x93e92819, 0x96a63e9c, 0x976454ab, 0x9522eaf2,
		0x94e080c5, 0x9fbcc7f8, 0x9e7eadcf, 0x9c381396, 0x9dfa79a1, 0x98b56f24,
		0x99770513, 0x9b31bb4a, 0x9af3d17d, 0x8d893530, 0x8c4b5f07, 0x8e0de15e,
		0x8fcf8b69, 0x8a809dec, 0x8b42f7db, 0x89044982, 0x88c623b5, 0x839a6488,
		0x82580ebf, 0x801eb0e6, 0x81dcdad1, 0x8493cc54, 0x8551a663, 0x8717183a,
		0x86d5720d, 0xa9e2d0a0, 0xa820ba97, 0xaa6604ce, 0xaba46ef9, 0xaeeb787c,
		0xaf29124b, 0xad6fac12, 0xacadc625, 0xa7f18118, 0xa633eb2f, 0xa4755576,
		0xa5b73f41, 0xa0f829c4, 0xa13a43f3, 0xa37cfdaa, 0xa2be979d, 0xb5c473d0,
		0xb40619e7, 0xb640a7be, 0xb782cd89, 0xb2cddb0c, 0xb30fb13b, 0xb1490f62,
		0xb08b6555, 0xbbd72268, 0xba15485f, 0xb853f606, 0xb9919c31, 0xbcde8ab4,
		0xbd1ce083, 0xbf5a5eda, 0xbe9834ed},

	{0x00000000, 0xb8bc6765, 0xaa09c88b, 0x12b5afee, 0x8f629757, 0x37def032, 0x256b5fdc,
		0x9dd738b9, 0xc5b428ef, 0x7d084f8a, 0x6fbde064, 0xd7018701, 0x4ad6bfb8,
		0xf26ad8dd, 0xe0df7733, 0x58631056, 0x5019579f, 0xe8a530fa, 0xfa109f14,
		0x42acf871, 0xdf7bc0c8, 0x67c7a7ad, 0x75720843, 0xcdce6f26, 0x95ad7f70,
		0x2d111815, 0x3fa4b7fb, 0x8718d09e, 0x1acfe827, 0xa2738f42, 0xb0c620ac,
		0x087a47c9, 0xa032af3e, 0x188ec85b, 0x0a3b67b5, 0xb28700d0, 0x2f503869,
		0x97ec5f0c, 0x8559f0e2, 0x3de59787, 0x658687d1, 0xdd3ae0b4, 0xcf8f4f5a,
		0x7733283f, 0xeae41086, 0x525877e3, 0x40edd80d, 0xf851bf68, 0xf02bf8a1,
		0x48979fc4, 0x5a22302a, 0xe29e574f, 0x7f496ff6, 0xc7f50893, 0xd540a77d,
		0x6dfcc018, 0x359fd04e, 0x8d23b72b, 0x9f9618c5, 0x272a7fa0, 0xbafd4719,
		0x0241207c, 0x10f48f92, 0xa848e8f7, 0x9b14583d, 0x23a83f58, 0x311d90b6,
		0x89a1f7d3, 0x1476cf6a, 0xaccaa80f, 0xbe7f07e1, 0x06c36084, 0x5ea070d2,
		0xe61c17b7, 0xf4a9b859, 0x4c15df3c, 0xd1c2e785, 0x697e80e0, 0x7bcb2f0e,
		0xc377486b, 0xcb0d0fa2, 0x73b168c7, 0x6104c729, 0xd9b8a04c, 0x446f98f5,
		0xfcd3ff90, 0xee66507e, 0x56da371b, 0x0eb9274d, 0xb6054028, 0xa4b0efc6,
		0x1c0c88a3, 0x81dbb01a, 0x3967d77f, 0x2bd27891, 0x936e1ff4, 0x3b26f703,
		0x839a9066, 0x912f3f88, 0x299358ed, 0xb4446054, 0x0cf80731, 0x1e4da8df,
		0xa6f1cfba, 0xfe92dfec, 0x462eb889, 0x549b1767, 0xec277002, 0x71f048bb,
		0xc94c2fde, 0xdbf98030, 0x6345e755, 0x6b3fa09c, 0xd383c7f9, 0xc1366817,
		0x798a0f72, 0xe45d37cb, 0x5ce150ae, 0x4e54ff40, 0xf6e89825, 0xae8b8873,
		0x1637ef16, 0x048240f8, 0xbc3e279d, 0x21e91f24, 0x99557841, 0x8be0d7af,
		0x335cb0ca, 0xed59b63b, 0x55e5d15e, 0x47507eb0, 0xffec19d5, 0x623b216c,
		0xda874609, 0xc832e9e7, 0x708e8e82, 0x28ed9ed4, 0x9051f9b1, 0x82e4565f,
		0x3a58313a, 0xa78f0983, 0x1f336ee6, 0x0d86c108, 0xb53aa66d, 0xbd40e1a4,
		0x05fc86c1, 0x1749292f, 0xaff54e4a, 0x322276f3, 0x8a9e1196, 0x982bbe78,
		0x2097d91d, 0x78f4c94b, 0xc048ae2e, 0xd2fd01c0, 0x6a4166a5, 0xf7965e1c,
		0x4f2a3979, 0x5d9f9697, 0xe523f1f2, 0x4d6b1905, 0xf5d77e60, 0xe762d18e,
		0x5fdeb6eb, 0xc2098e52, 0x7ab5e937, 0x680046d9, 0xd0bc21bc, 0x88df31ea,
		0x3063568f, 0x22d6f961, 0x9a6a9e04, 0x07bda6bd, 0xbf01c1d8, 0xadb46e36,
		0x15080953, 0x1d724e9a, 0xa5ce29ff, 0xb77b8611, 0x0fc7e174, 0x9210d9cd,
		0x2aacbea8, 0x38191146, 0x80a57623, 0xd8c66675, 0x607a0110, 0x72cfaefe,
		0xca73c99b, 0x57a4f122, 0xef189647, 0xfdad39a9, 0x45115ecc, 0x764dee06,
		0xcef18963, 0xdc44268d, 0x64f841e8, 0xf92f7951, 0x41931e34, 0x5326b1da,
		0xeb9ad6bf, 0xb3f9c6e9, 0x0b45a18c, 0x19f00e62, 0xa14c6907, 0x3c9b51be,
		0x842736db, 0x96929935, 0x2e2efe50, 0x2654b999, 0x9ee8defc, 0x8c5d7112,
		0x34e11677, 0xa9362ece, 0x118a49ab, 0x033fe645, 0xbb838120, 0xe3e09176,
		0x5b5cf613, 0x49e959fd, 0xf1553e98, 0x6c820621, 0xd43e6144, 0xc68bceaa,
		0x7e37a9cf, 0xd67f4138, 0x6ec3265d, 0x7c7689b3, 0xc4caeed6, 0x591dd66f,
		0xe1a1b10a, 0xf3141ee4, 0x4ba87981, 0x13cb69d7, 0xab770eb2, 0xb9c2a15c,
		0x017ec639, 0x9ca9fe80, 0x241599e5, 0x36a0360b, 0x8e1c516e, 0x866616a7,
		0x3eda71c2, 0x2c6fde2c, 0x94d3b949, 0x090481f0, 0xb1b8e695, 0xa30d497b,
		0x1bb12e1e, 0x43d23e48, 0xfb6e592d, 0xe9dbf6c3, 0x516791a6, 0xccb0a91f,
		0x740cce7a, 0x66b96194, 0xde0506f1},

	{0x00000000, 0x3d6029b0, 0x7ac05360, 0x47a07ad0, 0xf580a6c0, 0xc8e08f70, 0x8f40f5a0,
		0xb220dc10, 0x30704bc1, 0x0d106271, 0x4ab018a1, 0x77d03111, 0xc5f0ed01,
		0xf890c4b1, 0xbf30be61, 0x825097d1, 0x60e09782, 0x5d80be32, 0x1a20c4e2,
		0x2740ed52, 0x95603142, 0xa80018f2, 0xefa06222, 0xd2c04b92, 0x5090dc43,
		0x6df0f5f3, 0x2a508f23, 0x1730a693, 0xa5107a83, 0x98705333, 0xdfd029e3,
		0xe2b00053, 0xc1c12f04, 0xfca106b4, 0xbb017c64, 0x866155d4, 0x344189c4,
		0x0921a074, 0x4e81daa4, 0x73e1f314, 0xf1b164c5, 0xccd14d75, 0x8b7137a5,
		0xb6111e15, 0x0431c205, 0x3951ebb5, 0x7ef19165, 0x4391b8d5, 0xa121b886,
		0x9c419136, 0xdbe1ebe6, 0xe681c256, 0x54a11e46, 0x69c137f6, 0x2e614d26,
		0x13016496, 0x9151f347, 0xac31daf7, 0xeb91a027, 0xd6f18997, 0x64d15587,
		0x59b17c37, 0x1e1106e7, 0x23712f57, 0x58f35849, 0x659371f9, 0x22330b29,
		0x1f532299, 0xad73fe89, 0x9013d739, 0xd7b3ade9, 0xead38459, 0x68831388,
		0x55e33a38, 0x124340e8, 0x2f236958, 0x9d03b548, 0xa0639cf8, 0xe7c3e628,
		0xdaa3cf98, 0x3813cfcb, 0x0573e67b, 0x42d39cab, 0x7fb3b51b, 0xcd93690b,
		0xf0f340bb, 0xb7533a6b, 0x8a3313db, 0x0863840a, 0x3503adba, 0x72a3d76a,
		0x4fc3feda, 0xfde322ca, 0xc0830b7a, 0x872371aa, 0xba43581a, 0x9932774d,
		0xa4525efd, 0xe3f2242d, 0xde920d9d, 0x6cb2d18d, 0x51d2f83d, 0x167282ed,
		0x2b12ab5d, 0xa9423c8c, 0x9422153c, 0xd3826fec, 0xeee2465c, 0x5cc29a4c,
		0x61a2b3fc, 0x2602c92c, 0x1b62e09c, 0xf9d2e0cf, 0xc4b2c97f, 0x8312b3af,
		0xbe729a1f, 0x0c52460f, 0x31326fbf, 0x7692156f, 0x4bf23cdf, 0xc9a2ab0e,
		0xf4c282be, 0xb362f86e, 0x8e02d1de, 0x3c220dce, 0x0142247e, 0x46e25eae,
		0x7b82771e, 0xb1e6b092, 0x8c869922, 0xcb26e3f2, 0xf646ca42, 0x44661652,
		0x79063fe2, 0x3ea64532, 0x03c66c82, 0x8196fb53, 0xbcf6d2e3, 0xfb56a833,
		0xc6368183, 0x74165d93, 0x49767423, 0x0ed60ef3, 0x33b62743, 0xd1062710,
		0xec660ea0, 0xabc67470, 0x96a65dc0, 0x248681d0, 0x19e6a860, 0x5e46d2b0,
		0x6326fb00, 0xe1766cd1, 0xdc164561, 0x9bb63fb1, 0xa6d61601, 0x14f6ca11,
		0x2996e3a1, 0x6e369971, 0x5356b0c1, 0x70279f96, 0x4d47b626, 0x0ae7ccf6,
		0x3787e546, 0x85a73956, 0xb8c710e6, 0xff676a36, 0xc2074386, 0x4057d457,
		0x7d37fde7, 0x3a978737, 0x07f7ae87, 0xb5d77297, 0x88b75b27, 0xcf1721f7,
		0xf2770847, 0x10c70814, 0x2da721a4, 0x6a075b74, 0x576772c4, 0xe547aed4,
		0xd8278764, 0x9f87fdb4, 0xa2e7d404, 0x20b743d5, 0x1dd76a65, 0x5a7710b5,
		0x67173905, 0xd537e515, 0xe857cca5, 0xaff7b675, 0x92979fc5, 0xe915e8db,
		0xd475c16b, 0x93d5bbbb, 0xaeb5920b, 0x1c954e1b, 0x21f567ab, 0x66551d7b,
		0x5b3534cb, 0xd965a31a, 0xe4058aaa, 0xa3a5f07a, 0x9ec5d9ca, 0x2ce505da,
		0x11852c6a, 0x562556ba, 0x6b457f0a, 0x89f57f59, 0xb49556e9, 0xf3352c39,
		0xce550589, 0x7c75d999, 0x4115f029, 0x06b58af9, 0x3bd5a349, 0xb9853498,
		0x84e51d28, 0xc34567f8, 0xfe254e48, 0x4c059258, 0x7165bbe8, 0x36c5c138,
		0x0ba5e888, 0x28d4c7df, 0x15b4ee6f, 0x521494bf, 0x6f74bd0f, 0xdd54611f,
		0xe03448af, 0xa794327f, 0x9af41bcf, 0x18a48c1e, 0x25c4a5ae, 0x6264df7e,
		0x5f04f6ce, 0xed242ade, 0xd044036e, 0x97e479be, 0xaa84500e, 0x4834505d,
		0x755479ed, 0x32f4033d, 0x0f942a8d, 0xbdb4f69d, 0x80d4df2d, 0xc774a5fd,
		0xfa148c4d, 0x78441b9c, 0x4524322c, 0x028448fc, 0x3fe4614c, 0x8dc4bd5c,
		0xb0a494ec, 0xf704ee3c, 0xca64c78c},

	{0x00000000, 0xcb5cd3a5, 0x4dc8a10b, 0x869472ae, 0x9b914216, 0x50cd91b3, 0xd659e31d,
		0x1d0530b8, 0xec53826d, 0x270f51c8, 0xa19b2366, 0x6ac7f0c3, 0x77c2c07b,
		0xbc9e13de, 0x3a0a6170, 0xf156b2d5, 0x03d6029b, 0xc88ad13e, 0x4e1ea390,
		0x85427035, 0x9847408d, 0x531b9328, 0xd58fe186, 0x1ed33223, 0xef8580f6,
		0x24d95353, 0xa24d21fd, 0x6911f258, 0x7414c2e0, 0xbf481145, 0x39dc63eb,
		0xf280b04e, 0x07ac0536, 0xccf0d693, 0x4a64a43d, 0x81387798, 0x9c3d4720,
		0x57619485, 0xd1f5e62b, 0x1aa9358e, 0xebff875b, 0x20a354fe, 0xa6372650,
		0x6d6bf5f5, 0x706ec54d, 0xbb3216e8, 0x3da66446, 0xf6fab7e3, 0x047a07ad,
		0xcf26d408, 0x49b2a6a6, 0x82ee7503, 0x9feb45bb, 0x54b7961e, 0xd223e4b0,
		0x197f3715, 0xe82985c0, 0x23755665, 0xa5e124cb, 0x6ebdf76e, 0x73b8c7d6,
		0xb8e41473, 0x3e7066dd, 0xf52cb578, 0x0f580a6c, 0xc404d9c9, 0x4290ab67,
		0x89cc78c2, 0x94c9487a, 0x5f959bdf, 0xd901e971, 0x125d3ad4, 0xe30b8801,
		0x28575ba4, 0xaec3290a, 0x659ffaaf, 0x789aca17, 0xb3c619b2, 0x35526b1c,
		0xfe0eb8b9, 0x0c8e08f7, 0xc7d2db52, 0x4146a9fc, 0x8a1a7a59, 0x971f4ae1,
		0x5c439944, 0xdad7ebea, 0x118b384f, 0xe0dd8a9a, 0x2b81593f, 0xad152b91,
		0x6649f834, 0x7b4cc88c, 0xb0101b29, 0x36846987, 0xfdd8ba22, 0x08f40f5a,
		0xc3a8dcff, 0x453cae51, 0x8e607df4, 0x93654d4c, 0x58399ee9, 0xdeadec47,
		0x15f13fe2, 0xe4a78d37, 0x2ffb5e92, 0xa96f2c3c, 0x6233ff99, 0x7f36cf21,
		0xb46a1c84, 0x32fe6e2a, 0xf9a2bd8f, 0x0b220dc1, 0xc07ede64, 0x46eaacca,
		0x8db67f6f, 0x90b34fd7, 0x5bef9c72, 0xdd7beedc, 0x16273d79, 0xe7718fac,
		0x2c2d5c09, 0xaab92ea7, 0x61e5fd02, 0x7ce0cdba, 0xb7bc1e1f, 0x31286cb1,
		0xfa74bf14, 0x1eb014d8, 0xd5ecc77d, 0x5378b5d3, 0x98246676, 0x852156ce,
		0x4e7d856b, 0xc8e9f7c5, 0x03b52460, 0xf2e396b5, 0x39bf4510, 0xbf2b37be,
		0x7477e41b, 0x6972d4a3, 0xa22e0706, 0x24ba75a8, 0xefe6a60d, 0x1d661643,
		0xd63ac5e6, 0x50aeb748, 0x9bf264ed, 0x86f75455, 0x4dab87f0, 0xcb3ff55e,
		0x006326fb, 0xf135942e, 0x3a69478b, 0xbcfd3525, 0x77a1e680, 0x6aa4d638,
		0xa1f8059d, 0x276c7733, 0xec30a496, 0x191c11ee, 0xd240c24b, 0x54d4b0e5,
		0x9f886340, 0x828d53f8, 0x49d1805d, 0xcf45f2f3, 0x04192156, 0xf54f9383,
		0x3e134026, 0xb8873288, 0x73dbe12d, 0x6eded195, 0xa5820230, 0x2316709e,
		0xe84aa33b, 0x1aca1375, 0xd196c0d0, 0x5702b27e, 0x9c5e61db, 0x815b5163,
		0x4a0782c6, 0xcc93f068, 0x07cf23cd, 0xf6999118, 0x3dc542bd, 0xbb513013,
		0x700de3b6, 0x6d08d30e, 0xa65400ab, 0x20c07205, 0xeb9ca1a0, 0x11e81eb4,
		0xdab4cd11, 0x5c20bfbf, 0x977c6c1a, 0x8a795ca2, 0x41258f07, 0xc7b1fda9,
		0x0ced2e0c, 0xfdbb9cd9, 0x36e74f7c, 0xb0733dd2, 0x7b2fee77, 0x662adecf,
		0xad760d6a, 0x2be27fc4, 0xe0beac61, 0x123e1c2f, 0xd962cf8a, 0x5ff6bd24,
		0x94aa6e81, 0x89af5e39, 0x42f38d9c, 0xc467ff32, 0x0f3b2c97, 0xfe6d9e42,
		0x35314de7, 0xb3a53f49, 0x78f9ecec, 0x65fcdc54, 0xaea00ff1, 0x28347d5f,
		0xe368aefa, 0x16441b82, 0xdd18c827, 0x5b8cba89, 0x90d0692c, 0x8dd55994,
		0x46898a31, 0xc01df89f, 0x0b412b3a, 0xfa1799ef, 0x314b4a4a, 0xb7df38e4,
		0x7c83eb41, 0x6186dbf9, 0xaada085c, 0x2c4e7af2, 0xe712a957, 0x15921919,
		0xdececabc, 0x585ab812, 0x93066bb7, 0x8e035b0f, 0x455f88aa, 0xc3cbfa04,
		0x089729a1, 0xf9c19b74, 0x329d48d1, 0xb4093a7f, 0x7f55e9da, 0x6250d962,
		0xa90c0ac7, 0x2f987869, 0xe4c4abcc},

	{0x00000000, 0xa6770bb4, 0x979f1129, 0x31e81a9d, 0xf44f2413, 0x52382fa7, 0x63d0353a,
		0xc5a73e8e, 0x33ef4e67, 0x959845d3, 0xa4705f4e, 0x020754fa, 0xc7a06a74,
		0x61d761c0, 0x503f7b5d, 0xf64870e9, 0x67de9cce, 0xc1a9977a, 0xf0418de7,
		0x56368653, 0x9391b8dd, 0x35e6b369, 0x040ea9f4, 0xa279a240, 0x5431d2a9,
		0xf246d91d, 0xc3aec380, 0x65d9c834, 0xa07ef6ba, 0x0609fd0e, 0x37e1e793,
		0x9196ec27, 0xcfbd399c, 0x69ca3228, 0x582228b5, 0xfe552301, 0x3bf21d8f,
		0x9d85163b, 0xac6d0ca6, 0x0a1a0712, 0xfc5277fb, 0x5a257c4f, 0x6bcd66d2,
		0xcdba6d66, 0x081d53e8, 0xae6a585c, 0x9f8242c1, 0x39f54975, 0xa863a552,
		0x0e14aee6, 0x3ffcb47b, 0x998bbfcf, 0x5c2c8141, 0xfa5b8af5, 0xcbb39068,
		0x6dc49bdc, 0x9b8ceb35, 0x3dfbe081, 0x0c13fa1c, 0xaa64f1a8, 0x6fc3cf26,
		0xc9b4c492, 0xf85cde0f, 0x5e2bd5bb, 0x440b7579, 0xe27c7ecd, 0xd3946450,
		0x75e36fe4, 0xb044516a, 0x16335ade, 0x27db4043, 0x81ac4bf7, 0x77e43b1e,
		0xd19330aa, 0xe07b2a37, 0x460c2183, 0x83ab1f0d, 0x25dc14b9, 0x14340e24,
		0xb2430590, 0x23d5e9b7, 0x85a2e203, 0xb44af89e, 0x123df32a, 0xd79acda4,
		0x71edc610, 0x4005dc8d, 0xe672d739, 0x103aa7d0, 0xb64dac64, 0x87a5b6f9,
		0x21d2bd4d, 0xe47583c3, 0x42028877, 0x73ea92ea, 0xd59d995e, 0x8bb64ce5,
		0x2dc14751, 0x1c295dcc, 0xba5e5678, 0x7ff968f6, 0xd98e6342, 0xe86679df,
		0x4e11726b, 0xb8590282, 0x1e2e0936, 0x2fc613ab, 0x89b1181f, 0x4c162691,
		0xea612d25, 0xdb8937b8, 0x7dfe3c0c, 0xec68d02b, 0x4a1fdb9f, 0x7bf7c102,
		0xdd80cab6, 0x1827f438, 0xbe50ff8c, 0x8fb8e511, 0x29cfeea5, 0xdf879e4c,
		0x79f095f8, 0x48188f65, 0xee6f84d1, 0x2bc8ba5f, 0x8dbfb1eb, 0xbc57ab76,
		0x1a20a0c2, 0x8816eaf2, 0x2e61e146, 0x1f89fbdb, 0xb9fef06f, 0x7c59cee1,
		0xda2ec555, 0xebc6dfc8, 0x4db1d47c, 0xbbf9a495, 0x1d8eaf21, 0x2c66b5bc,
		0x8a11be08, 0x4fb68086, 0xe9c18b32, 0xd82991af, 0x7e5e9a1b, 0xefc8763c,
		0x49bf7d88, 0x78576715, 0xde206ca1, 0x1b87522f, 0xbdf0599b, 0x8c184306,
		0x2a6f48b2, 0xdc27385b, 0x7a5033ef, 0x4bb82972, 0xedcf22c6, 0x28681c48,
		0x8e1f17fc, 0xbff70d61, 0x198006d5, 0x47abd36e, 0xe1dcd8da, 0xd034c247,
		0x7643c9f3, 0xb3e4f77d, 0x1593fcc9, 0x247be654, 0x820cede0, 0x74449d09,
		0xd23396bd, 0xe3db8c20, 0x45ac8794, 0x800bb91a, 0x267cb2ae, 0x1794a833,
		0xb1e3a387, 0x20754fa0, 0x86024414, 0xb7ea5e89, 0x119d553d, 0xd43a6bb3,
		0x724d6007, 0x43a57a9a, 0xe5d2712e, 0x139a01c7, 0xb5ed0a73, 0x840510ee,
		0x22721b5a, 0xe7d525d4, 0x41a22e60, 0x704a34fd, 0xd63d3f49, 0xcc1d9f8b,
		0x6a6a943f, 0x5b828ea2, 0xfdf58516, 0x3852bb98, 0x9e25b02c, 0xafcdaab1,
		0x09baa105, 0xfff2d1ec, 0x5985da58, 0x686dc0c5, 0xce1acb71, 0x0bbdf5ff,
		0xadcafe4b, 0x9c22e4d6, 0x3a55ef62, 0xabc30345, 0x0db408f1, 0x3c5c126c,
		0x9a2b19d8, 0x5f8c2756, 0xf9fb2ce2, 0xc813367f, 0x6e643dcb, 0x982c4d22,
		0x3e5b4696, 0x0fb35c0b, 0xa9c457bf, 0x6c636931, 0xca146285, 0xfbfc7818,
		0x5d8b73ac, 0x03a0a617, 0xa5d7ada3, 0x943fb73e, 0x3248bc8a, 0xf7ef8204,
		0x519889b0, 0x6070932d, 0xc6079899, 0x304fe870, 0x9638e3c4, 0xa7d0f959,
		0x01a7f2ed, 0xc400cc63, 0x6277c7d7, 0x539fdd4a, 0xf5e8d6fe, 0x647e3ad9,
		0xc209316d, 0xf3e12bf0, 0x55962044, 0x90311eca, 0x3646157e, 0x07ae0fe3,
		0xa1d90457, 0x579174be, 0xf1e67f0a, 0xc00e6597, 0x66796e23, 0xa3de50ad,
		0x05a95b19, 0x34414184, 0x92364a30},

	{0x00000000, 0xccaa009e, 0x4225077d, 0x8e8f07e3, 0x844a0efa, 0x48e00e64, 0xc66f0987,
		0x0ac50919, 0xd3e51bb5, 0x1f4f1b2b, 0x91c01cc8, 0x5d6a1c56, 0x57af154f,
		0x9b0515d1, 0x158a1232, 0xd92012ac, 0x7cbb312b, 0xb01131b5, 0x3e9e3656,
		0xf23436c8, 0xf8f13fd1, 0x345b3f4f, 0xbad438ac, 0x767e3832, 0xaf5e2a9e,
		0x63f42a00, 0xed7b2de3, 0x21d12d7d, 0x2b142464, 0xe7be24fa, 0x69312319,
		0xa59b2387, 0xf9766256, 0x35dc62c8, 0xbb53652b, 0x77f965b5, 0x7d3c6cac,
		0xb1966c32, 0x3f196bd1, 0xf3b36b4f, 0x2a9379e3, 0xe639797d, 0x68b67e9e,
		0xa41c7e00, 0xaed97719, 0x62737787, 0xecfc7064, 0x205670fa, 0x85cd537d,
		0x496753e3, 0xc7e85400, 0x0b42549e, 0x01875d87, 0xcd2d5d19, 0x43a25afa,
		0x8f085a64, 0x562848c8, 0x9a824856, 0x140d4fb5, 0xd8a74f2b, 0xd2624632,
		0x1ec846ac, 0x9047414f, 0x5ced41d1, 0x299dc2ed, 0xe537c273, 0x6bb8c590,
		0xa712c50e, 0xadd7cc17, 0x617dcc89, 0xeff2cb6a, 0x2358cbf4, 0xfa78d958,
		0x36d2d9c6, 0xb85dde25, 0x74f7debb, 0x7e32d7a2, 0xb298d73c, 0x3c17d0df,
		0xf0bdd041, 0x5526f3c6, 0x998cf358, 0x1703f4bb, 0xdba9f425, 0xd16cfd3c,
		0x1dc6fda2, 0x9349fa41, 0x5fe3fadf, 0x86c3e873, 0x4a69e8ed, 0xc4e6ef0e,
		0x084cef90, 0x0289e689, 0xce23e617, 0x40ace1f4, 0x8c06e16a, 0xd0eba0bb,
		0x1c41a025, 0x92cea7c6, 0x5e64a758, 0x54a1ae41, 0x980baedf, 0x1684a93c,
		0xda2ea9a2, 0x030ebb0e, 0xcfa4bb90, 0x412bbc73, 0x8d81bced, 0x8744b5f4,
		0x4beeb56a, 0xc561b289, 0x09cbb217, 0xac509190, 0x60fa910e, 0xee7596ed,
		0x22df9673, 0x281a9f6a, 0xe4b09ff4, 0x6a3f9817, 0xa6959889, 0x7fb58a25,
		0xb31f8abb, 0x3d908d58, 0xf13a8dc6, 0xfbff84df, 0x37558441, 0xb9da83a2,
		0x7570833c, 0x533b85da, 0x9f918544, 0x111e82a7, 0xddb48239, 0xd7718b20,
		0x1bdb8bbe, 0x95548c5d, 0x59fe8cc3, 0x80de9e6f, 0x4c749ef1, 0xc2fb9912,
		0x0e51998c, 0x04949095, 0xc83e900b, 0x46b197e8, 0x8a1b9776, 0x2f80b4f1,
		0xe32ab46f, 0x6da5b38c, 0xa10fb312, 0xabcaba0b, 0x6760ba95, 0xe9efbd76,
		0x2545bde8, 0xfc65af44, 0x30cfafda, 0xbe40a839, 0x72eaa8a7, 0x782fa1be,
		0xb485a120, 0x3a0aa6c3, 0xf6a0a65d, 0xaa4de78c, 0x66e7e712, 0xe868e0f1,
		0x24c2e06f, 0x2e07e976, 0xe2ade9e8, 0x6c22ee0b, 0xa088ee95, 0x79a8fc39,
		0xb502fca7, 0x3b8dfb44, 0xf727fbda, 0xfde2f2c3, 0x3148f25d, 0xbfc7f5be,
		0x736df520, 0xd6f6d6a7, 0x1a5cd639, 0x94d3d1da, 0x5879d144, 0x52bcd85d,
		0x9e16d8c3, 0x1099df20, 0xdc33dfbe, 0x0513cd12, 0xc9b9cd8c, 0x4736ca6f,
		0x8b9ccaf1, 0x8159c3e8, 0x4df3c376, 0xc37cc495, 0x0fd6c40b, 0x7aa64737,
		0xb60c47a9, 0x3883404a, 0xf42940d4, 0xfeec49cd, 0x32464953, 0xbcc94eb0,
		0x70634e2e, 0xa9435c82, 0x65e95c1c, 0xeb665bff, 0x27cc5b61, 0x2d095278,
		0xe1a352e6, 0x6f2c5505, 0xa386559b, 0x061d761c, 0xcab77682, 0x44387161,
		0x889271ff, 0x825778e6, 0x4efd7878, 0xc0727f9b, 0x0cd87f05, 0xd5f86da9,
		0x19526d37, 0x97dd6ad4, 0x5b776a4a, 0x51b26353, 0x9d1863cd, 0x1397642e,
		0xdf3d64b0, 0x83d02561, 0x4f7a25ff, 0xc1f5221c, 0x0d5f2282, 0x079a2b9b,
		0xcb302b05, 0x45bf2ce6, 0x89152c78, 0x50353ed4, 0x9c9f3e4a, 0x121039a9,
		0xdeba3937, 0xd47f302e, 0x18d530b0, 0x965a3753, 0x5af037cd, 0xff6b144a,
		0x33c114d4, 0xbd4e1337, 0x71e413a9, 0x7b211ab0, 0xb78b1a2e, 0x39041dcd,
		0xf5ae1d53, 0x2c8e0fff, 0xe0240f61, 0x6eab0882, 0xa201081c, 0xa8c40105,
		0x646e019b, 0xeae10678, 0x264b06e6}}
View Source
var G2DB g2db
View Source
var LogDirDef, _ = os.Getwd()
View Source
var LogFilterLogger = &Logger{}
View Source
var RWUtil = rwUtil{}
View Source
var SQLName sqlName
View Source
var StatDirDef, _ = os.Getwd()

Functions

func Compress

func Compress(srcBuffer *Dm_build_0, offset int, length int, compressID int) ([]byte, error)

func GzlibCompress

func GzlibCompress(srcBuffer *Dm_build_0, offset int, length int) ([]byte, error)

func GzlibUncompress

func GzlibUncompress(srcBytes []byte) ([]byte, error)

func IsSupportedCharset

func IsSupportedCharset(charset string) bool

func NewExceInfo

func NewExceInfo() *execRetInfo

func NewSqlStat

func NewSqlStat(sql string) *sqlStat

func ParseLogLevel

func ParseLogLevel(props *Properties) int

func RegisterDial added in v1.3.6

func RegisterDial(dialName string, dial DialFunc)

注册自定义连接方法

func RegisterDialContext added in v1.3.6

func RegisterDialContext(dialName string, dial DialContextFunc)

注册自定义连接方法

func SetServerGroupProperties

func SetServerGroupProperties(props *Properties, key string, value string) bool

func UnCompress

func UnCompress(srcBytes []byte, compressID int) ([]byte, error)

Types

type ArrayDescriptor

type ArrayDescriptor struct {
	// contains filtered or unexported fields
}

type DialContextFunc added in v1.3.6

type DialContextFunc func(ctx context.Context, addr string) (net.Conn, error)

支持自定义连接网络地址,返回标准net.Conn对象,相关数据库操作的消息包都将发送到该对象

type DialFunc added in v1.3.6

type DialFunc func(addr string) (net.Conn, error)

支持自定义连接网络地址,返回标准net.Conn对象,相关数据库操作的消息包都将发送到该对象

type DmArray

type DmArray struct {
	TypeData

	// Valid为false代表DmArray数据在数据库中为NULL
	Valid bool
	// contains filtered or unexported fields
}

func NewDmArray

func NewDmArray(typeName string, elements []interface{}) *DmArray

数据库自定义数组Array构造函数,typeName为库中定义的数组类型名称,elements为该数组类型的每个值

例如,自定义数组类型语句为:create or replace type myArray is array int[];

则绑入绑出的go对象为: val := dm.NewDmArray("myArray", []interface{} {123, 456})

func (*DmArray) GetArray

func (da *DmArray) GetArray() (interface{}, error)

获取Array对象的go数组对象

func (*DmArray) GetBaseTypeName

func (da *DmArray) GetBaseTypeName() (string, error)

获取Array对象在数据库中的类型名称

func (*DmArray) GetDoubleArray

func (da *DmArray) GetDoubleArray(index int64, count int) ([]float64, error)

func (*DmArray) GetFloatArray

func (da *DmArray) GetFloatArray(index int64, count int) ([]float32, error)

func (*DmArray) GetInt16Array

func (da *DmArray) GetInt16Array(index int64, count int) ([]int16, error)

func (*DmArray) GetInt64Array

func (da *DmArray) GetInt64Array(index int64, count int) ([]int64, error)

func (*DmArray) GetIntArray

func (da *DmArray) GetIntArray(index int64, count int) ([]int, error)

func (*DmArray) GetObjArray

func (da *DmArray) GetObjArray(index int64, count int) (interface{}, error)

获取Array对象的指定偏移和执行长度go数据对象 index从0开始

func (*DmArray) Scan

func (dest *DmArray) Scan(src interface{}) error

func (DmArray) Value

func (array DmArray) Value() (driver.Value, error)

type DmBlob

type DmBlob struct {
	// contains filtered or unexported fields
}

func NewBlob

func NewBlob(value []byte) *DmBlob

func (*DmBlob) GetLength

func (lob *DmBlob) GetLength() (int64, error)

func (*DmBlob) GormDataType

func (d *DmBlob) GormDataType() string

func (*DmBlob) Read

func (blob *DmBlob) Read(dest []byte) (n int, err error)

func (*DmBlob) ReadAt

func (blob *DmBlob) ReadAt(pos int, dest []byte) (n int, err error)

func (*DmBlob) Scan

func (dest *DmBlob) Scan(src interface{}) error

func (*DmBlob) Truncate

func (blob *DmBlob) Truncate(length int64) error

func (DmBlob) Value

func (blob DmBlob) Value() (driver.Value, error)

func (*DmBlob) Write

func (blob *DmBlob) Write(pos int, src []byte) (n int, err error)

type DmClob

type DmClob struct {
	// contains filtered or unexported fields
}

func NewClob

func NewClob(value string) *DmClob

func (*DmClob) GetLength

func (lob *DmClob) GetLength() (int64, error)

func (*DmClob) GormDataType

func (d *DmClob) GormDataType() string

func (*DmClob) ReadString

func (clob *DmClob) ReadString(pos int, length int) (result string, err error)

func (*DmClob) Scan

func (dest *DmClob) Scan(src interface{}) error

func (*DmClob) Truncate

func (clob *DmClob) Truncate(length int64) error

func (DmClob) Value

func (clob DmClob) Value() (driver.Value, error)

func (*DmClob) WriteString

func (clob *DmClob) WriteString(pos int, s string) (n int, err error)

type DmConnection

type DmConnection struct {
	Access *dm_build_336

	GlobalServerSeries int
	ServerVersion      string
	Malini2            bool
	Execute2           bool
	LobEmptyCompOrcl   bool
	IsoLevel           int32
	ReadOnly           bool
	NewLobFlag         bool

	MaxRowSize         int32
	DDLAutoCommit      bool
	BackSlashFlag      bool
	SvrStat            int32
	SvrMode            int32
	ConstParaOpt       bool
	DbTimezone         int16
	LifeTimeRemainder  int16
	InstanceName       string
	Schema             string
	LastLoginIP        string
	LastLoginTime      string
	FailedAttempts     int32
	LoginWarningID     int32
	GraceTimeRemainder int32
	Guid               string
	DbName             string
	StandbyHost        string
	StandbyPort        int32
	StandbyCount       int32
	SessionID          int64
	OracleDateLanguage byte
	FormatDate         string
	FormatTimestamp    string
	FormatTimestampTZ  string
	FormatTime         string
	FormatTimeTZ       string
	Local              bool
	MsgVersion         int32
	TrxStatus          int32
	// contains filtered or unexported fields
}

func (*DmConnection) Begin

func (dc *DmConnection) Begin() (driver.Tx, error)

func (*DmConnection) BeginTx

func (dc *DmConnection) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error)

func (*DmConnection) CheckNamedValue

func (dc *DmConnection) CheckNamedValue(nv *driver.NamedValue) error

func (*DmConnection) Close

func (dc *DmConnection) Close() error

func (*DmConnection) Commit

func (dc *DmConnection) Commit() error

func (*DmConnection) CompatibleMysql

func (conn *DmConnection) CompatibleMysql() bool

func (*DmConnection) CompatibleOracle

func (conn *DmConnection) CompatibleOracle() bool

func (*DmConnection) Exec

func (dc *DmConnection) Exec(query string, args []driver.Value) (driver.Result, error)

func (*DmConnection) ExecContext

func (dc *DmConnection) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error)

func (*DmConnection) Ping

func (dc *DmConnection) Ping(ctx context.Context) error

func (*DmConnection) Prepare

func (dc *DmConnection) Prepare(query string) (driver.Stmt, error)

func (*DmConnection) PrepareContext

func (dc *DmConnection) PrepareContext(ctx context.Context, query string) (driver.Stmt, error)

func (*DmConnection) Query

func (dc *DmConnection) Query(query string, args []driver.Value) (driver.Rows, error)

func (*DmConnection) QueryContext

func (dc *DmConnection) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error)

func (*DmConnection) ResetSession

func (dc *DmConnection) ResetSession(ctx context.Context) error

func (*DmConnection) Rollback

func (dc *DmConnection) Rollback() error

type DmConnector

type DmConnector struct {
	// contains filtered or unexported fields
}

func (*DmConnector) BuildDSN

func (c *DmConnector) BuildDSN() string

func (*DmConnector) Connect

func (c *DmConnector) Connect(ctx context.Context) (driver.Conn, error)

func (*DmConnector) Driver

func (c *DmConnector) Driver() driver.Driver

type DmDecimal

type DmDecimal struct {
	Valid bool
	// contains filtered or unexported fields
}

func NewDecimalFromBigFloat

func NewDecimalFromBigFloat(bigFloat *big.Float) (*DmDecimal, error)

func NewDecimalFromBigInt

func NewDecimalFromBigInt(bigInt *big.Int) (*DmDecimal, error)

func NewDecimalFromFloat64

func NewDecimalFromFloat64(x float64) (*DmDecimal, error)

func NewDecimalFromInt64

func NewDecimalFromInt64(x int64) (*DmDecimal, error)

func NewDecimalFromString

func NewDecimalFromString(s string) (*DmDecimal, error)

func (*DmDecimal) GormDataType

func (d *DmDecimal) GormDataType() string

func (*DmDecimal) Scan

func (dest *DmDecimal) Scan(src interface{}) error

func (DmDecimal) Sign

func (d DmDecimal) Sign() int

func (DmDecimal) String

func (d DmDecimal) String() string

func (DmDecimal) ToBigFloat

func (d DmDecimal) ToBigFloat() *big.Float

func (DmDecimal) ToBigInt

func (d DmDecimal) ToBigInt() *big.Int

func (DmDecimal) ToFloat64

func (d DmDecimal) ToFloat64() float64

func (DmDecimal) ToInt64

func (d DmDecimal) ToInt64() int64

func (DmDecimal) Value

func (d DmDecimal) Value() (driver.Value, error)

type DmDriver

type DmDriver struct {
	// contains filtered or unexported fields
}

func (*DmDriver) Open

func (d *DmDriver) Open(dsn string) (driver.Conn, error)

************************************************************

** PUBLIC METHODS AND FUNCTIONS
************************************************************

func (*DmDriver) OpenConnector

func (d *DmDriver) OpenConnector(dsn string) (driver.Connector, error)

type DmError

type DmError struct {
	ErrCode int32
	ErrText string
	// contains filtered or unexported fields
}

func (*DmError) Error

func (dmError *DmError) Error() string

func (*DmError) Stack added in v1.3.6

func (dmError *DmError) Stack() string

type DmIntervalDT

type DmIntervalDT struct {
	Valid bool
	// contains filtered or unexported fields
}

func NewDmIntervalDTByString

func NewDmIntervalDTByString(str string) (dt *DmIntervalDT, err error)

func (*DmIntervalDT) GetDTType

func (dt *DmIntervalDT) GetDTType() byte

func (*DmIntervalDT) GetDay

func (dt *DmIntervalDT) GetDay() int

func (*DmIntervalDT) GetHour

func (dt *DmIntervalDT) GetHour() int

func (*DmIntervalDT) GetMinute

func (dt *DmIntervalDT) GetMinute() int

func (*DmIntervalDT) GetMsec

func (dt *DmIntervalDT) GetMsec() int

func (*DmIntervalDT) GetSecond

func (dt *DmIntervalDT) GetSecond() int

func (*DmIntervalDT) GormDataType

func (d *DmIntervalDT) GormDataType() string

func (*DmIntervalDT) Scan

func (dest *DmIntervalDT) Scan(src interface{}) error

func (*DmIntervalDT) String

func (dt *DmIntervalDT) String() string

func (DmIntervalDT) Value

func (dt DmIntervalDT) Value() (driver.Value, error)

type DmIntervalYM

type DmIntervalYM struct {
	Valid bool
	// contains filtered or unexported fields
}

func NewDmIntervalYMByString

func NewDmIntervalYMByString(str string) (ym *DmIntervalYM, err error)

func (*DmIntervalYM) GetMonth

func (ym *DmIntervalYM) GetMonth() int

func (*DmIntervalYM) GetYMType

func (ym *DmIntervalYM) GetYMType() byte

func (*DmIntervalYM) GetYear

func (ym *DmIntervalYM) GetYear() int

func (*DmIntervalYM) GormDataType

func (d *DmIntervalYM) GormDataType() string

func (*DmIntervalYM) Scan

func (dest *DmIntervalYM) Scan(src interface{}) error

func (*DmIntervalYM) String

func (ym *DmIntervalYM) String() string

func (DmIntervalYM) Value

func (ym DmIntervalYM) Value() (driver.Value, error)

type DmResult

type DmResult struct {
	// contains filtered or unexported fields
}

func (*DmResult) LastInsertId

func (r *DmResult) LastInsertId() (int64, error)

************************************************************

** PUBLIC METHODS AND FUNCTIONS
************************************************************

func (*DmResult) RowsAffected

func (r *DmResult) RowsAffected() (int64, error)

type DmRows

type DmRows struct {
	CurrentRows *innerRows
	// contains filtered or unexported fields
}

func (*DmRows) Close

func (r *DmRows) Close() error

func (*DmRows) ColumnTypeDatabaseTypeName

func (r *DmRows) ColumnTypeDatabaseTypeName(index int) string

func (*DmRows) ColumnTypeLength

func (r *DmRows) ColumnTypeLength(index int) (length int64, ok bool)

func (*DmRows) ColumnTypeNullable

func (r *DmRows) ColumnTypeNullable(index int) (nullable, ok bool)

func (*DmRows) ColumnTypePrecisionScale

func (r *DmRows) ColumnTypePrecisionScale(index int) (precision, scale int64, ok bool)

func (*DmRows) ColumnTypeScanType

func (r *DmRows) ColumnTypeScanType(index int) reflect.Type

func (*DmRows) Columns

func (r *DmRows) Columns() []string

func (*DmRows) HasNextResultSet

func (r *DmRows) HasNextResultSet() bool

func (*DmRows) Next

func (r *DmRows) Next(dest []driver.Value) error

func (*DmRows) NextResultSet

func (r *DmRows) NextResultSet() error

func (*DmRows) Scan

func (dest *DmRows) Scan(src interface{}) error

type DmStatement

type DmStatement struct {
	// contains filtered or unexported fields
}

func NewDmStmt

func NewDmStmt(conn *DmConnection, sql string) (*DmStatement, error)

func (*DmStatement) CheckNamedValue

func (s *DmStatement) CheckNamedValue(nv *driver.NamedValue) error

func (*DmStatement) Close

func (s *DmStatement) Close() error

func (*DmStatement) Exec

func (s *DmStatement) Exec(args []driver.Value) (driver.Result, error)

func (*DmStatement) ExecContext

func (s *DmStatement) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error)

func (*DmStatement) NumInput

func (s *DmStatement) NumInput() int

func (*DmStatement) Query

func (s *DmStatement) Query(args []driver.Value) (driver.Rows, error)

func (*DmStatement) QueryContext

func (s *DmStatement) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error)

type DmStruct

type DmStruct struct {
	TypeData

	// Valid为false代表DmArray数据在数据库中为NULL
	Valid bool
	// contains filtered or unexported fields
}

func NewDmStruct

func NewDmStruct(typeName string, elements []interface{}) *DmStruct

数据库自定义类型Struct构造函数,typeName为库中定义的类型名称,elements为该类型每个字段的值

例如,自定义类型语句为:create or replace type myType as object (a1 int, a2 varchar);

则绑入绑出的go对象为: val := dm.NewDmStruct("myType", []interface{} {123, "abc"})

func (*DmStruct) GetAttributes

func (ds *DmStruct) GetAttributes() ([]interface{}, error)

获取Struct对象中的各个字段的值

func (*DmStruct) GetSQLTypeName

func (ds *DmStruct) GetSQLTypeName() (string, error)

获取Struct对象在数据库中的类型名称

func (*DmStruct) Scan

func (dest *DmStruct) Scan(src interface{}) error

func (DmStruct) Value

func (dt DmStruct) Value() (driver.Value, error)

type DmTimestamp

type DmTimestamp struct {

	// Valid为false代表DmArray数据在数据库中为NULL
	Valid bool
	// contains filtered or unexported fields
}

func NewDmTimestampFromString

func NewDmTimestampFromString(str string) (*DmTimestamp, error)

func NewDmTimestampFromTime

func NewDmTimestampFromTime(time time.Time) *DmTimestamp

func (*DmTimestamp) CompareTo

func (dmTimestamp *DmTimestamp) CompareTo(ts DmTimestamp) int

func (*DmTimestamp) GetDt

func (dmTimestamp *DmTimestamp) GetDt() []int

获取年月日时分秒毫秒时区

func (*DmTimestamp) GormDataType

func (d *DmTimestamp) GormDataType() string

for gorm v2

func (*DmTimestamp) Scan

func (dest *DmTimestamp) Scan(src interface{}) error

func (*DmTimestamp) String

func (dmTimestamp *DmTimestamp) String() string

func (*DmTimestamp) ToTime

func (dmTimestamp *DmTimestamp) ToTime() time.Time

func (DmTimestamp) Value

func (dmTimestamp DmTimestamp) Value() (driver.Value, error)

type Dm_build_0

type Dm_build_0 struct {
	// contains filtered or unexported fields
}

func Dm_build_3 added in v1.3.6

func Dm_build_3(dm_build_4 int) *Dm_build_0

func Dm_build_5 added in v1.3.6

func Dm_build_5(dm_build_6 []byte) *Dm_build_0

func (*Dm_build_0) Dm_build_105 added in v1.3.6

func (dm_build_106 *Dm_build_0) Dm_build_105(dm_build_107 string, dm_build_108 string, dm_build_109 *DmConnection) int

func (*Dm_build_0) Dm_build_111 added in v1.3.6

func (dm_build_112 *Dm_build_0) Dm_build_111(dm_build_113 string, dm_build_114 string, dm_build_115 *DmConnection) int

func (*Dm_build_0) Dm_build_117 added in v1.3.6

func (dm_build_118 *Dm_build_0) Dm_build_117(dm_build_119 string, dm_build_120 string, dm_build_121 *DmConnection) int

func (*Dm_build_0) Dm_build_12 added in v1.3.6

func (dm_build_13 *Dm_build_0) Dm_build_12() int

func (*Dm_build_0) Dm_build_123 added in v1.3.6

func (dm_build_124 *Dm_build_0) Dm_build_123() byte

func (*Dm_build_0) Dm_build_126 added in v1.3.6

func (dm_build_127 *Dm_build_0) Dm_build_126() int16

func (*Dm_build_0) Dm_build_129 added in v1.3.6

func (dm_build_130 *Dm_build_0) Dm_build_129() int32

func (*Dm_build_0) Dm_build_132 added in v1.3.6

func (dm_build_133 *Dm_build_0) Dm_build_132() int64

func (*Dm_build_0) Dm_build_135 added in v1.3.6

func (dm_build_136 *Dm_build_0) Dm_build_135() float32

func (*Dm_build_0) Dm_build_138 added in v1.3.6

func (dm_build_139 *Dm_build_0) Dm_build_138() float64

func (*Dm_build_0) Dm_build_14 added in v1.3.6

func (dm_build_15 *Dm_build_0) Dm_build_14(dm_build_16 int) *Dm_build_0

func (*Dm_build_0) Dm_build_141 added in v1.3.6

func (dm_build_142 *Dm_build_0) Dm_build_141() uint8

func (*Dm_build_0) Dm_build_144 added in v1.3.6

func (dm_build_145 *Dm_build_0) Dm_build_144() uint16

func (*Dm_build_0) Dm_build_147 added in v1.3.6

func (dm_build_148 *Dm_build_0) Dm_build_147() uint32

func (*Dm_build_0) Dm_build_150 added in v1.3.6

func (dm_build_151 *Dm_build_0) Dm_build_150(dm_build_152 int) []byte

func (*Dm_build_0) Dm_build_154 added in v1.3.6

func (dm_build_155 *Dm_build_0) Dm_build_154() []byte

func (*Dm_build_0) Dm_build_156 added in v1.3.6

func (dm_build_157 *Dm_build_0) Dm_build_156() []byte

func (*Dm_build_0) Dm_build_158 added in v1.3.6

func (dm_build_159 *Dm_build_0) Dm_build_158() []byte

func (*Dm_build_0) Dm_build_160 added in v1.3.6

func (dm_build_161 *Dm_build_0) Dm_build_160(dm_build_162 int) []byte

func (*Dm_build_0) Dm_build_163 added in v1.3.6

func (dm_build_164 *Dm_build_0) Dm_build_163() []byte

func (*Dm_build_0) Dm_build_166 added in v1.3.6

func (dm_build_167 *Dm_build_0) Dm_build_166(dm_build_168 int, dm_build_169 string, dm_build_170 *DmConnection) string

func (*Dm_build_0) Dm_build_17 added in v1.3.6

func (dm_build_18 *Dm_build_0) Dm_build_17(dm_build_19 int) *Dm_build_0

func (*Dm_build_0) Dm_build_171 added in v1.3.6

func (dm_build_172 *Dm_build_0) Dm_build_171(dm_build_173 string, dm_build_174 *DmConnection) string

func (*Dm_build_0) Dm_build_175 added in v1.3.6

func (dm_build_176 *Dm_build_0) Dm_build_175(dm_build_177 string, dm_build_178 *DmConnection) string

func (*Dm_build_0) Dm_build_179 added in v1.3.6

func (dm_build_180 *Dm_build_0) Dm_build_179(dm_build_181 string, dm_build_182 *DmConnection) string

func (*Dm_build_0) Dm_build_183 added in v1.3.6

func (dm_build_184 *Dm_build_0) Dm_build_183(dm_build_185 string, dm_build_186 *DmConnection) string

func (*Dm_build_0) Dm_build_187 added in v1.3.6

func (dm_build_188 *Dm_build_0) Dm_build_187(dm_build_189 int, dm_build_190 byte) int

func (*Dm_build_0) Dm_build_191 added in v1.3.6

func (dm_build_192 *Dm_build_0) Dm_build_191(dm_build_193 int, dm_build_194 int16) int

func (*Dm_build_0) Dm_build_195 added in v1.3.6

func (dm_build_196 *Dm_build_0) Dm_build_195(dm_build_197 int, dm_build_198 int32) int

func (*Dm_build_0) Dm_build_199 added in v1.3.6

func (dm_build_200 *Dm_build_0) Dm_build_199(dm_build_201 int, dm_build_202 int64) int

func (*Dm_build_0) Dm_build_20

func (dm_build_21 *Dm_build_0) Dm_build_20() int

func (*Dm_build_0) Dm_build_203 added in v1.3.6

func (dm_build_204 *Dm_build_0) Dm_build_203(dm_build_205 int, dm_build_206 float32) int

func (*Dm_build_0) Dm_build_207 added in v1.3.6

func (dm_build_208 *Dm_build_0) Dm_build_207(dm_build_209 int, dm_build_210 float64) int

func (*Dm_build_0) Dm_build_211 added in v1.3.6

func (dm_build_212 *Dm_build_0) Dm_build_211(dm_build_213 int, dm_build_214 uint8) int

func (*Dm_build_0) Dm_build_215 added in v1.3.6

func (dm_build_216 *Dm_build_0) Dm_build_215(dm_build_217 int, dm_build_218 uint16) int

func (*Dm_build_0) Dm_build_219 added in v1.3.6

func (dm_build_220 *Dm_build_0) Dm_build_219(dm_build_221 int, dm_build_222 uint32) int

func (*Dm_build_0) Dm_build_22 added in v1.3.6

func (dm_build_23 *Dm_build_0) Dm_build_22(dm_build_24 bool) int

func (*Dm_build_0) Dm_build_223 added in v1.3.6

func (dm_build_224 *Dm_build_0) Dm_build_223(dm_build_225 int, dm_build_226 []byte) int

func (*Dm_build_0) Dm_build_227 added in v1.3.6

func (dm_build_228 *Dm_build_0) Dm_build_227(dm_build_229 int, dm_build_230 []byte) int

func (*Dm_build_0) Dm_build_231 added in v1.3.6

func (dm_build_232 *Dm_build_0) Dm_build_231(dm_build_233 int, dm_build_234 []byte) int

func (*Dm_build_0) Dm_build_235 added in v1.3.6

func (dm_build_236 *Dm_build_0) Dm_build_235(dm_build_237 int, dm_build_238 []byte) int

func (*Dm_build_0) Dm_build_239 added in v1.3.6

func (dm_build_240 *Dm_build_0) Dm_build_239(dm_build_241 int, dm_build_242 []byte) int

func (*Dm_build_0) Dm_build_243 added in v1.3.6

func (dm_build_244 *Dm_build_0) Dm_build_243(dm_build_245 int, dm_build_246 string, dm_build_247 string, dm_build_248 *DmConnection) int

func (*Dm_build_0) Dm_build_249 added in v1.3.6

func (dm_build_250 *Dm_build_0) Dm_build_249(dm_build_251 int, dm_build_252 string, dm_build_253 string, dm_build_254 *DmConnection) int

func (*Dm_build_0) Dm_build_25 added in v1.3.6

func (dm_build_26 *Dm_build_0) Dm_build_25(dm_build_27 int, dm_build_28 bool, dm_build_29 bool) *Dm_build_0

func (*Dm_build_0) Dm_build_255 added in v1.3.6

func (dm_build_256 *Dm_build_0) Dm_build_255(dm_build_257 int, dm_build_258 string, dm_build_259 string, dm_build_260 *DmConnection) int

func (*Dm_build_0) Dm_build_261 added in v1.3.6

func (dm_build_262 *Dm_build_0) Dm_build_261(dm_build_263 int, dm_build_264 string, dm_build_265 string, dm_build_266 *DmConnection) int

func (*Dm_build_0) Dm_build_267 added in v1.3.6

func (dm_build_268 *Dm_build_0) Dm_build_267(dm_build_269 int) byte

func (*Dm_build_0) Dm_build_270 added in v1.3.6

func (dm_build_271 *Dm_build_0) Dm_build_270(dm_build_272 int) int16

func (*Dm_build_0) Dm_build_273 added in v1.3.6

func (dm_build_274 *Dm_build_0) Dm_build_273(dm_build_275 int) int32

func (*Dm_build_0) Dm_build_276 added in v1.3.6

func (dm_build_277 *Dm_build_0) Dm_build_276(dm_build_278 int) int64

func (*Dm_build_0) Dm_build_279 added in v1.3.6

func (dm_build_280 *Dm_build_0) Dm_build_279(dm_build_281 int) float32

func (*Dm_build_0) Dm_build_282 added in v1.3.6

func (dm_build_283 *Dm_build_0) Dm_build_282(dm_build_284 int) float64

func (*Dm_build_0) Dm_build_285 added in v1.3.6

func (dm_build_286 *Dm_build_0) Dm_build_285(dm_build_287 int) uint8

func (*Dm_build_0) Dm_build_288 added in v1.3.6

func (dm_build_289 *Dm_build_0) Dm_build_288(dm_build_290 int) uint16

func (*Dm_build_0) Dm_build_291 added in v1.3.6

func (dm_build_292 *Dm_build_0) Dm_build_291(dm_build_293 int) uint32

func (*Dm_build_0) Dm_build_294 added in v1.3.6

func (dm_build_295 *Dm_build_0) Dm_build_294(dm_build_296 int, dm_build_297 int) []byte

func (*Dm_build_0) Dm_build_298 added in v1.3.6

func (dm_build_299 *Dm_build_0) Dm_build_298(dm_build_300 int) []byte

func (*Dm_build_0) Dm_build_30 added in v1.3.6

func (dm_build_31 *Dm_build_0) Dm_build_30(dm_build_32 io.Reader, dm_build_33 int) (int, error)

func (*Dm_build_0) Dm_build_302 added in v1.3.6

func (dm_build_303 *Dm_build_0) Dm_build_302(dm_build_304 int) []byte

func (*Dm_build_0) Dm_build_306 added in v1.3.6

func (dm_build_307 *Dm_build_0) Dm_build_306(dm_build_308 int) []byte

func (*Dm_build_0) Dm_build_310 added in v1.3.6

func (dm_build_311 *Dm_build_0) Dm_build_310(dm_build_312 int) []byte

func (*Dm_build_0) Dm_build_314 added in v1.3.6

func (dm_build_315 *Dm_build_0) Dm_build_314(dm_build_316 int, dm_build_317 string, dm_build_318 *DmConnection) string

func (*Dm_build_0) Dm_build_319 added in v1.3.6

func (dm_build_320 *Dm_build_0) Dm_build_319(dm_build_321 int, dm_build_322 string, dm_build_323 *DmConnection) string

func (*Dm_build_0) Dm_build_324 added in v1.3.6

func (dm_build_325 *Dm_build_0) Dm_build_324(dm_build_326 int, dm_build_327 string, dm_build_328 *DmConnection) string

func (*Dm_build_0) Dm_build_329 added in v1.3.6

func (dm_build_330 *Dm_build_0) Dm_build_329(dm_build_331 int, dm_build_332 string, dm_build_333 *DmConnection) string

func (*Dm_build_0) Dm_build_36 added in v1.3.6

func (dm_build_37 *Dm_build_0) Dm_build_36(dm_build_38 io.Writer) (*Dm_build_0, error)

func (*Dm_build_0) Dm_build_39 added in v1.3.6

func (dm_build_40 *Dm_build_0) Dm_build_39(dm_build_41 bool) int

func (*Dm_build_0) Dm_build_43 added in v1.3.6

func (dm_build_44 *Dm_build_0) Dm_build_43(dm_build_45 byte) int

func (*Dm_build_0) Dm_build_47

func (dm_build_48 *Dm_build_0) Dm_build_47(dm_build_49 int8) int

func (*Dm_build_0) Dm_build_51 added in v1.3.6

func (dm_build_52 *Dm_build_0) Dm_build_51(dm_build_53 int16) int

func (*Dm_build_0) Dm_build_55 added in v1.3.6

func (dm_build_56 *Dm_build_0) Dm_build_55(dm_build_57 int32) int

func (*Dm_build_0) Dm_build_59 added in v1.3.6

func (dm_build_60 *Dm_build_0) Dm_build_59(dm_build_61 uint8) int

func (*Dm_build_0) Dm_build_63 added in v1.3.6

func (dm_build_64 *Dm_build_0) Dm_build_63(dm_build_65 uint16) int

func (*Dm_build_0) Dm_build_67 added in v1.3.6

func (dm_build_68 *Dm_build_0) Dm_build_67(dm_build_69 uint32) int

func (*Dm_build_0) Dm_build_71 added in v1.3.6

func (dm_build_72 *Dm_build_0) Dm_build_71(dm_build_73 uint64) int

func (*Dm_build_0) Dm_build_75 added in v1.3.6

func (dm_build_76 *Dm_build_0) Dm_build_75(dm_build_77 float32) int

func (*Dm_build_0) Dm_build_79 added in v1.3.6

func (dm_build_80 *Dm_build_0) Dm_build_79(dm_build_81 float64) int

func (*Dm_build_0) Dm_build_83 added in v1.3.6

func (dm_build_84 *Dm_build_0) Dm_build_83(dm_build_85 []byte) int

func (*Dm_build_0) Dm_build_87 added in v1.3.6

func (dm_build_88 *Dm_build_0) Dm_build_87(dm_build_89 []byte) int

func (*Dm_build_0) Dm_build_90 added in v1.3.6

func (dm_build_91 *Dm_build_0) Dm_build_90(dm_build_92 []byte) int

func (*Dm_build_0) Dm_build_93 added in v1.3.6

func (dm_build_94 *Dm_build_0) Dm_build_93(dm_build_95 []byte) int

func (*Dm_build_0) Dm_build_96 added in v1.3.6

func (dm_build_97 *Dm_build_0) Dm_build_96(dm_build_98 []byte) int

func (*Dm_build_0) Dm_build_99 added in v1.3.6

func (dm_build_100 *Dm_build_0) Dm_build_99(dm_build_101 string, dm_build_102 string, dm_build_103 *DmConnection) int

type Dm_build_1524 added in v1.3.6

type Dm_build_1524 struct {
	// contains filtered or unexported fields
}

func Dm_build_1536 added in v1.3.6

func Dm_build_1536(dm_build_1537 io.Reader, dm_build_1538 transform.Transformer, dm_build_1539 []byte, dm_build_1540 []byte) *Dm_build_1524

func (*Dm_build_1524) Read added in v1.3.6

func (dm_build_1542 *Dm_build_1524) Read(dm_build_1543 []byte) (int, error)

type Dm_build_1546 added in v1.3.6

type Dm_build_1546 struct {
	// contains filtered or unexported fields
}

func Dm_build_1550 added in v1.3.6

func Dm_build_1550() *Dm_build_1546

func (*Dm_build_1546) Dm_build_1551 added in v1.3.6

func (dm_build_1552 *Dm_build_1546) Dm_build_1551() int

func (*Dm_build_1546) Dm_build_1553 added in v1.3.6

func (dm_build_1554 *Dm_build_1546) Dm_build_1553(dm_build_1555 *Dm_build_0, dm_build_1556 int) int

func (*Dm_build_1546) Dm_build_1559 added in v1.3.6

func (dm_build_1560 *Dm_build_1546) Dm_build_1559(dm_build_1561 []byte, dm_build_1562 int, dm_build_1563 int) int

func (*Dm_build_1546) Dm_build_1566 added in v1.3.6

func (dm_build_1567 *Dm_build_1546) Dm_build_1566(dm_build_1568 io.Writer, dm_build_1569 int) int

func (*Dm_build_1546) Dm_build_1572 added in v1.3.6

func (dm_build_1573 *Dm_build_1546) Dm_build_1572(dm_build_1574 []byte, dm_build_1575 int, dm_build_1576 int)

func (*Dm_build_1546) Dm_build_1583 added in v1.3.6

func (dm_build_1584 *Dm_build_1546) Dm_build_1583(dm_build_1585 *Dm_build_1546)

func (*Dm_build_1546) Dm_build_1593 added in v1.3.6

func (dm_build_1594 *Dm_build_1546) Dm_build_1593() []byte

type Dm_build_851 added in v1.3.6

type Dm_build_851 struct {
	// contains filtered or unexported fields
}

type ExecuteTypeEnum

type ExecuteTypeEnum int
const (
	Execute ExecuteTypeEnum = iota
	ExecuteQuery
	ExecuteUpdate
)

type GoStat

type GoStat struct {
	// contains filtered or unexported fields
}

type IDGenerator

type IDGenerator int64

type InterfaceTypeData

type InterfaceTypeData interface {
	// contains filtered or unexported methods
}

type LogRecord

type LogRecord struct {
	// contains filtered or unexported fields
}

func (*LogRecord) GetError

func (record *LogRecord) GetError() error

func (*LogRecord) GetReturnValue

func (record *LogRecord) GetReturnValue() interface{}

func (*LogRecord) GetSql

func (record *LogRecord) GetSql() string

func (*LogRecord) GetUsedTime

func (record *LogRecord) GetUsedTime() time.Duration

func (*LogRecord) Reset

func (record *LogRecord) Reset() *LogRecord

func (*LogRecord) Set

func (record *LogRecord) Set(source interface{}, method string, params ...interface{})

func (*LogRecord) SetError

func (record *LogRecord) SetError(err error)

func (*LogRecord) SetReturnValue

func (record *LogRecord) SetReturnValue(retValue interface{})

func (*LogRecord) SetSql

func (record *LogRecord) SetSql(sql string, logSql bool)

func (*LogRecord) SetUsedTime

func (record *LogRecord) SetUsedTime(usedTime time.Duration)

func (*LogRecord) ToString

func (record *LogRecord) ToString() string

type Logger

type Logger struct {
}

**********************************************************************************************************

func (Logger) Debug

func (logger Logger) Debug(msg string)

func (Logger) DebugWithErr

func (logger Logger) DebugWithErr(msg string, err error)

func (Logger) ErrorWithErr

func (logger Logger) ErrorWithErr(msg string, err error)

func (Logger) Info

func (logger Logger) Info(msg string)

func (Logger) IsDebugEnabled

func (logger Logger) IsDebugEnabled() bool

func (Logger) IsErrorEnabled

func (logger Logger) IsErrorEnabled() bool

func (Logger) IsInfoEnabled

func (logger Logger) IsInfoEnabled() bool

func (Logger) IsSqlEnabled

func (logger Logger) IsSqlEnabled() bool

func (Logger) IsWarnEnabled

func (logger Logger) IsWarnEnabled() bool

func (Logger) Sql

func (logger Logger) Sql(msg string)

func (Logger) Warn

func (logger Logger) Warn(msg string)

type OptParameter

type OptParameter struct {
	// contains filtered or unexported fields
}

func (*OptParameter) String

func (parameter *OptParameter) String() string

type Properties

type Properties struct {
	// contains filtered or unexported fields
}

func NewProperties

func NewProperties() *Properties

func (*Properties) GetBool

func (g *Properties) GetBool(key string, def bool) bool

func (*Properties) GetInt

func (g *Properties) GetInt(key string, def int, min int, max int) int

func (*Properties) GetString

func (g *Properties) GetString(key, def string) string

func (*Properties) GetStringArray

func (g *Properties) GetStringArray(key string, def []string) []string

func (*Properties) GetTrimString

func (g *Properties) GetTrimString(key string, def string) string

func (*Properties) IsNil

func (g *Properties) IsNil() bool

func (*Properties) Len

func (g *Properties) Len() int

func (*Properties) Set

func (g *Properties) Set(key, value string)

func (*Properties) SetDiffProperties

func (g *Properties) SetDiffProperties(p *Properties)

如果p有g没有的键值对,添加进g中

func (*Properties) SetIfNotExist

func (g *Properties) SetIfNotExist(key, value string)

func (*Properties) SetProperties

func (g *Properties) SetProperties(p *Properties)

type RWSiteEnum

type RWSiteEnum int
const (
	PRIMARY RWSiteEnum = iota
	STANDBY
	ANYSITE
)

type SqlStatValue

type SqlStatValue struct {
	// contains filtered or unexported fields
}

type StatReader

type StatReader struct {
	// contains filtered or unexported fields
}

type StructDescriptor

type StructDescriptor struct {
	// contains filtered or unexported fields
}

type TypeData

type TypeData struct {
	// contains filtered or unexported fields
}
var TypeDataSV TypeData

type TypeDescriptor

type TypeDescriptor struct {
	// contains filtered or unexported fields
}

Directories

Path Synopsis
* Copyright (c) 2000-2018, 达梦数据库有限公司.
* Copyright (c) 2000-2018, 达梦数据库有限公司.
This is a mirror of golang.org/x/crypto/internal/subtle.
This is a mirror of golang.org/x/crypto/internal/subtle.
* Copyright (c) 2000-2018, 达梦数据库有限公司.
* Copyright (c) 2000-2018, 达梦数据库有限公司.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL