yottadb

package module
v1.2.6 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: AGPL-3.0, AGPL-3.0 Imports: 14 Imported by: 5

README

YottaDB Go Wrapper

Build Status Go Report Card Go Doc Coverage report

Usage (Writing a YDBGo Client application)

YottaDB must be installed. See Get Started for instructions for installing YottaDB. YDBGo supports versions YottaDB r1.24 or later. If you wish to use an earlier version, see the section on Pkg-config Set-up below.

  1. A YottaDB database must be set-up and the environment variables configured. This can be easily done by sourcing /path/to/yottadb/ydb_env_set, e.g.:
source $(pkg-config --variable=prefix yottadb)/ydb_env_set
  1. Create an empty directory anywhere on your file system and go there.
mkdir ydb-example
cd ydb-example
  1. Use go mod init to create a package for your code in a unique namespace:
go mod init example.com/yottadb-example
  1. Create a Go program (e.g. ydb.go) containing your main program with an import of lang.yottadb.com/go/yottadb. E.g.:
package main

import (
	"lang.yottadb.com/go/yottadb"
)

func main() {
	// Set global node ^hello("world")="Sawadee (hello in Thai)"
	err := yottadb.SetValE(yottadb.NOTTP, nil, "สวัสดี", "^hello", []string{"world"})
	if err != nil {
		panic(err)
	}
}
  1. Download the YottaDB module by using go get .

  2. Run the code using go run .

  3. You can verify that the data got saved by running mupip extract -sel=^hello -stdout

  4. go build will create an exe for you (yottadb-example in this case). You can run that directly (e.g. ./yottadb-example).

  5. go install will install the exe for you in $GOPATH/bin or ~/go by default.

Setting up for development using this repository

To work on developing YottaDB Go wrapper, you still need all the previous steps for a "client" application; but you also need to clone this repository in a separate directory, and use go mod edit in the client application directory to make the "client" application point to the YDBGo repository on the file system. In the previous set-up, the "client" application actually points to the published version of the module on the Internet cached locally.

For the purpose of this discussion, let's assume that the YDBGo repository is located at /YDBGo. In our client application directory then:

go mod edit -replace=lang.yottadb.com/go/yottadb=/YDBGo/
go get .

Modify yottadb.SetValE function in /YDBGo/easy_api.go to add a fmt.Println("foo"). The back in the client application, run the code again:

go run .
foo

You will see that we actually now are using the code we modified rather than the code on the Internet.

Here are a few other interesting commands to run inside the YDBGo repo:

  • go build only does a test compilation; it does not produce any files; go install has no effect.
  • To run tests, run go get -t, then go test -v.

Last, if you plan to commit, you should set-up pre-commit hooks.

ln -s ../../pre-commit .git/hooks

Advanced Configuration

Pkg-config Set-up

This package uses pkg-config to find libyottadb.so. The appropriate file is generated by YottaDB r1.24 and greater via ydbinstall (any other installation methods do not install the yottadb.pc file).

If you need to manually generate the yottadb.pc file the contents should look something similar to:

prefix=/usr/local/lib/yottadb/r124

exec_prefix=${prefix}
includedir=${prefix}
libdir=${exec_prefix}

Name: YottaDB
Description: YottaDB database library
Version: r1.24
Cflags: -I${includedir}
Libs: -L${libdir} -lyottadb -Wl,-rpath,${libdir}

Change the prefix to the correct path for your environment.

NOTE: you cannot use environment variables for the prefix path (e.g. $ydb_dist) it must be a fully qualified path.

You can also override the path used by pkg-config to find yottadb.pc with the environment variable PKG_CONFIG_PATH and a path to where the yottadb.pc file resides.

Docker Container

The Dockerfile/container included in this repo pre-installs YottaDB and the Go language and runs on an Ubuntu image. Some basic development tools are also pre-installed (git, gcc, make, vim, etc).

Building the Container

To build the container run:

docker build . -t ydbgo
Using the container to develop YDBGo
docker run --rm -it -v ~/goprojects:/goprojects -v ~/work/gitlab/YDBGo:/YDBGo -v ${PWD}/data:/data -w /goprojects ydbgo bash
. /opt/yottadb/current/ydb_env_set

Then follow the instructions for usage and setting up for development above.

Documentation

Overview

Package yottadb provides a Go wrapper for YottaDB - a mature, high performance, transactional NoSQL engine with proven speed and stability.

YottaDB Quick Start

Before starting, consider reading the introduction to YottaDB's data model at https://docs.yottadb.com/MultiLangProgGuide/MultiLangProgGuide.html#concepts

The YottaDB Go wrapper requires a minimum YottaDB version of r1.34 and is tested with a minimum Go version of 1.18. If the Go packages on your operating system are older, and the Go wrapper does not work, please obtain and install a newer Go implementation.

This quickstart assumes that YottaDB has already been installed as described at https://yottadb.com/product/get-started/.

After installing YottaDB, install the Go wrapper:

go get lang.yottadb.com/go/yottadb

Easy API

The Easy API provides a set of functions that are very easy to use at the expense of some additional copies for each operation. These functions all end with the letter 'E', and are available in the yottadb package. They include:

  • DataE
  • DeleteE
  • DeleteExclE
  • IncrE
  • LockDecrE
  • LockIncrE
  • LockE
  • NodeNextE
  • NodePrevE
  • SetValE
  • SubNextE
  • SubPrevE
  • TpE
  • ValE

Please see the Easy API example below for usage.

Simple API

The simple API provides a better one-to-one mapping to the underlying C API, and provides better performance at the cost of convenience. These functions are mostly encapsulated in the BufferT, BufferTArray, and KeyT data structures, with the only function belonging to this API existing outside of these data types, being LockST.

The structures in the Simple API include anchors for C allocated memory that need to be freed when the structures go out of scope. There are automated "Finalizers" that will perform these frees when the structures are garbage collected but if any really large buffers (or many little ones) are allocated, an application may have better memory performance (i.e. smaller working set) if the structures are intentionally freed by using the struct.Free() methods. These structure frees can be setup in advance using defer statements when the structures are allocated. For example, the Easy API creates these structures and buffers for most calls and specifically releases them at the end of each call for exactly this reason. If the creation of these blocks is infrequent, they can be left to be handled in an automated fashion. Note - freeing a never allocated or already freed structure does NOT cause an error - it is ignored.

Please see the Simple API example below for usage.

Transactions in YottaDB

YottaDB implements strong ACID transactions see https://en.wikipedia.org/wiki/ACID_(computer_science). Please review the documentation related to transactions in YottaDB at https://docs.yottadb.com/MultiLangProgGuide/MultiLangProgGuide.html#transaction-processing

To use YottaDB transactions in Go, please see the Transaction Example below for further information.

Go Error Interface

YottaDB has a comprehensive set of error return codes. Each has a unique number and a mnemonic. Thus, for example, to return an error that a buffer allocated for a return value is not large enough, YottaDB uses the INVSTRLEN error code, which has the value yottadb.YDB_ERR_INVSTRLEN. YottaDB attempts to maintain the stability of the numeric values and mnemonics from release to release, to ensure applications remain compatible when the underlying YottaDB releases are upgraded. The Go "error" interface provides for a call to return an error as a string (with "nil" for a successful return).

Example (EasyAPI)

Example_basic demonstrates the most basic features of YottaDB: setting a value, getting a value, iterating through values, and deleting a value.

It does this using methods from the easy API; if performance is a concern, considering using methods from the simple API (those methods on KeyT, BufferT, and BufferArrayT).

package main

import (
	"fmt"
	"lang.yottadb.com/go/yottadb"
)

func main() {
	// Set global node ["^hello", "world"] to "Go World"
	err := yottadb.SetValE(yottadb.NOTTP, nil, "Go World", "^hello", []string{"world"})
	if err != nil {
		panic(err)
	}

	// Retrieve the value that was set
	r, err := yottadb.ValE(yottadb.NOTTP, nil, "^hello", []string{"world"})
	if err != nil {
		panic(err)
	}
	if r != "Go World" {
		panic("Value not what was expected; did someone else set something?")
	}

	// Set a few more nodes so we can iterate through them
	err = yottadb.SetValE(yottadb.NOTTP, nil, "Go Middle Earth", "^hello", []string{"shire"})
	if err != nil {
		panic(err)
	}
	err = yottadb.SetValE(yottadb.NOTTP, nil, "Go Westeros", "^hello", []string{"Winterfell"})
	if err != nil {
		panic(err)
	}

	var cur_sub = ""
	for true {
		cur_sub, err = yottadb.SubNextE(yottadb.NOTTP, nil, "^hello", []string{cur_sub})
		if err != nil {
			error_code := yottadb.ErrorCode(err)
			if error_code == yottadb.YDB_ERR_NODEEND {
				break
			} else {
				panic(err)
			}
		}
		fmt.Printf("%s ", cur_sub)
	}
}
Output:

Winterfell shire world
Example (SimpleAPI)

Example demonstrating the most basic features of YottaDB using the simple API; setting a value, getting a value, iterating through values, and deleting a value.

The SimpleAPI is somewhat more difficult to use than the EasyAPI, but is more performant. It is recommended to use the SimpleAPI if you are building a performance critical application.

package main

import (
	"fmt"
	"lang.yottadb.com/go/yottadb"
)

func main() {
	// Allocate a key to set our value equal too
	var key1 yottadb.KeyT
	var buff1, cur_sub yottadb.BufferT
	var tptoken uint64
	var err error

	// The tptoken argument to many functions is either a value passed into the
	// callback routine for TP, or yottadb.NOTTP if not in a transaction
	tptoken = yottadb.NOTTP

	// Set global node ["^hello", "world"] to "Go World"
	key1.Alloc(64, 10, 64)
	err = key1.Varnm.SetValStr(tptoken, nil, "^hello")
	if err != nil {
		panic(err)
	}
	err = key1.Subary.SetElemUsed(tptoken, nil, 1)
	if err != nil {
		panic(err)
	}
	err = key1.Subary.SetValStr(tptoken, nil, 0, "world")
	if err != nil {
		panic(err)
	}

	// Create a buffer which is used to specify the value we will be setting the global to
	buff1.Alloc(64)
	err = buff1.SetValStr(tptoken, nil, "Go world")
	if err != nil {
		panic(err)
	}

	// Set the value
	err = key1.SetValST(tptoken, nil, &buff1)
	if err != nil {
		panic(err)
	}

	// Retrieve the value that was set
	// We can reuse the KeyT we already made for setting the value; hence part
	// of the performance gain
	// For the sake of demonstration, we will first clear the buffer we used to set the
	// value
	buff1.Alloc(64)
	val1, err := buff1.ValStr(tptoken, nil)
	if err != nil {
		panic(err)
	}
	if (val1) != "" {
		panic("Buffer not empty when it should be!")
	}
	err = key1.ValST(tptoken, nil, &buff1)
	if err != nil {
		panic(err)
	}
	val1, err = buff1.ValStr(tptoken, nil)
	if (val1) != "Go world" {
		panic("Value not what was expected; did someone else set something?")
	}

	// Set a few more nodes so we can iterate through them
	err = key1.Subary.SetValStr(tptoken, nil, 0, "shire")
	if err != nil {
		panic(err)
	}
	err = buff1.SetValStr(tptoken, nil, "Go Middle Earth")
	if err != nil {
		panic(err)
	}
	err = key1.SetValST(tptoken, nil, &buff1)
	if err != nil {
		panic(err)
	}

	err = key1.Subary.SetValStr(tptoken, nil, 0, "Winterfell")
	if err != nil {
		panic(err)
	}
	err = buff1.SetValStr(tptoken, nil, "Go Westeros")
	if err != nil {
		panic(err)
	}
	err = key1.SetValST(tptoken, nil, &buff1)
	if err != nil {
		panic(err)
	}

	// Allocate a BufferT for return values
	cur_sub.Alloc(64)

	// Start iterating through the list at the start by setting the last subscript
	//  to ""; stop when we get the error code meaning end
	err = key1.Subary.SetValStr(tptoken, nil, 0, "")
	for true {
		err = key1.SubNextST(tptoken, nil, &cur_sub)
		if err != nil {
			error_code := yottadb.ErrorCode(err)
			if error_code == yottadb.YDB_ERR_NODEEND {
				break
			} else {
				panic(err)
			}
		}
		val1, err = cur_sub.ValStr(tptoken, nil)
		if err != nil {
			panic(err)
		}
		fmt.Printf("%s ", val1)
		// Move to that key by setting the next node in the key
		key1.Subary.SetValStr(tptoken, nil, 0, val1)
	}
}
Output:

Winterfell shire world
Example (TransactionProcessing)

Example demonstrating how to do transactions in Go

package main

import (
	"fmt"
	"lang.yottadb.com/go/yottadb"
)

func main() {
	// Allocate a key to set our value equal too
	var buffertary1 yottadb.BufferTArray
	var errstr yottadb.BufferT
	var tptoken uint64
	var err error

	// The tptoken argument to many functions is either a value passed into the
	//  callback routine for TP, or yottadb.NOTTP if not in a transaction
	tptoken = yottadb.NOTTP

	// Restore all YDB local buffers on a TP-restart
	buffertary1.Alloc(1, 32)
	errstr.Alloc(1024)
	err = buffertary1.SetValStr(tptoken, &errstr, 0, "*")
	if err != nil {
		panic(err)
	}
	err = buffertary1.TpST(tptoken, &errstr, func(tptoken uint64, errstr *yottadb.BufferT) int32 {
		fmt.Printf("Hello from MyGoCallBack!\n")
		return 0
	}, "TEST")
	if err != nil {
		panic(err)
	}

}
Output:

Hello from MyGoCallBack!

Index

Examples

Constants

View Source
const (
	YDB_INT_MAX                   = 0x7fffffff
	YDB_ERR_ACK                   = -150372361
	YDB_ERR_BREAKZST              = -150372371
	YDB_ERR_BADACCMTHD            = -150372379
	YDB_ERR_BADJPIPARAM           = -150372386
	YDB_ERR_BADSYIPARAM           = -150372394
	YDB_ERR_BITMAPSBAD            = -150372402
	YDB_ERR_BREAK                 = -150372411
	YDB_ERR_BREAKDEA              = -150372419
	YDB_ERR_BREAKZBA              = -150372427
	YDB_ERR_STATCNT               = -150372435
	YDB_ERR_BTFAIL                = -150372442
	YDB_ERR_MUPRECFLLCK           = -150372450
	YDB_ERR_CMD                   = -150372458
	YDB_ERR_COLON                 = -150372466
	YDB_ERR_COMMA                 = -150372474
	YDB_ERR_COMMAORRPAREXP        = -150372482
	YDB_ERR_COMMENT               = -150372491
	YDB_ERR_CTRAP                 = -150372498
	YDB_ERR_CTRLC                 = -150372507
	YDB_ERR_CTRLY                 = -150372515
	YDB_ERR_DBCCERR               = -150372522
	YDB_ERR_DUPTOKEN              = -150372530
	YDB_ERR_DBJNLNOTMATCH         = -150372538
	YDB_ERR_DBFILERR              = -150372546
	YDB_ERR_DBNOTGDS              = -150372554
	YDB_ERR_DBOPNERR              = -418808018
	YDB_ERR_DBRDERR               = -418808026
	YDB_ERR_UNUSEDMSG211          = -150372580
	YDB_ERR_DEVPARINAP            = -150372586
	YDB_ERR_RECORDSTAT            = -150372595
	YDB_ERR_NOTGBL                = -150372602
	YDB_ERR_DEVPARPROT            = -150372610
	YDB_ERR_PREMATEOF             = -150372618
	YDB_ERR_GVINVALID             = -150372626
	YDB_ERR_DEVPARTOOBIG          = -150372634
	YDB_ERR_DEVPARUNK             = -150372642
	YDB_ERR_DEVPARVALREQ          = -150372650
	YDB_ERR_DEVPARMNEG            = -150372658
	YDB_ERR_DSEBLKRDFAIL          = -150372666
	YDB_ERR_DSEFAIL               = -150372674
	YDB_ERR_NOTALLREPLON          = -150372680
	YDB_ERR_BADLKIPARAM           = -150372690
	YDB_ERR_JNLREADBOF            = -150372698
	YDB_ERR_DVIKEYBAD             = -150372706
	YDB_ERR_ENQ                   = -150372713
	YDB_ERR_EQUAL                 = -150372722
	YDB_ERR_ERRORSUMMARY          = -150372730
	YDB_ERR_ERRWEXC               = -150372738
	YDB_ERR_ERRWIOEXC             = -150372746
	YDB_ERR_ERRWZBRK              = -150372754
	YDB_ERR_ERRWZTRAP             = -150372762
	YDB_ERR_NUMUNXEOR             = -150372770
	YDB_ERR_EXPR                  = -150372778
	YDB_ERR_STRUNXEOR             = -150372786
	YDB_ERR_JNLEXTEND             = -150372794
	YDB_ERR_FCHARMAXARGS          = -150372802
	YDB_ERR_FCNSVNEXPECTED        = -150372810
	YDB_ERR_FNARGINC              = -150372818
	YDB_ERR_JNLACCESS             = -418808282
	YDB_ERR_TRANSNOSTART          = -150372834
	YDB_ERR_FNUMARG               = -150372842
	YDB_ERR_FOROFLOW              = -150372850
	YDB_ERR_YDIRTSZ               = -150372858
	YDB_ERR_JNLSUCCESS            = -150372865
	YDB_ERR_GBLNAME               = -150372874
	YDB_ERR_GBLOFLOW              = -150372882
	YDB_ERR_CORRUPT               = -150372890
	YDB_ERR_GTMCHECK              = -150372900
	YDB_ERR_GVDATAFAIL            = -150372906
	YDB_ERR_EORNOTFND             = -150372914
	YDB_ERR_GVGETFAIL             = -150372922
	YDB_ERR_GVIS                  = -150372931
	YDB_ERR_GVKILLFAIL            = -150372938
	YDB_ERR_GVNAKED               = -150372946
	YDB_ERR_BACKUPDBFILE          = -150372955
	YDB_ERR_GVORDERFAIL           = -150372962
	YDB_ERR_GVPUTFAIL             = -150372970
	YDB_ERR_PATTABSYNTAX          = -150372978
	YDB_ERR_GVSUBOFLOW            = -150372986
	YDB_ERR_GVUNDEF               = -150372994
	YDB_ERR_TRANSNEST             = -150373002
	YDB_ERR_INDEXTRACHARS         = -150373010
	YDB_ERR_CORRUPTNODE           = -150373018
	YDB_ERR_INDRMAXLEN            = -150373026
	YDB_ERR_UNUSEDMSG268          = -150373034
	YDB_ERR_INTEGERRS             = -150373042
	YDB_ERR_INVCMD                = -150373048
	YDB_ERR_INVFCN                = -150373058
	YDB_ERR_INVOBJ                = -150373066
	YDB_ERR_INVSVN                = -150373074
	YDB_ERR_IOEOF                 = -150373082
	YDB_ERR_IONOTOPEN             = -150373090
	YDB_ERR_MUPIPINFO             = -150373099
	YDB_ERR_UNUSEDMSG277          = -150373106
	YDB_ERR_JOBFAIL               = -150373114
	YDB_ERR_JOBLABOFF             = -150373122
	YDB_ERR_JOBPARNOVAL           = -150373130
	YDB_ERR_JOBPARNUM             = -150373138
	YDB_ERR_JOBPARSTR             = -150373146
	YDB_ERR_JOBPARUNK             = -150373154
	YDB_ERR_JOBPARVALREQ          = -150373162
	YDB_ERR_JUSTFRACT             = -150373170
	YDB_ERR_KEY2BIG               = -150373178
	YDB_ERR_LABELEXPECTED         = -150373186
	YDB_ERR_LABELMISSING          = -150373194
	YDB_ERR_LABELUNKNOWN          = -150373202
	YDB_ERR_DIVZERO               = -150373210
	YDB_ERR_LKNAMEXPECTED         = -150373218
	YDB_ERR_JNLRDERR              = -418808682
	YDB_ERR_LOADRUNNING           = -150373234
	YDB_ERR_LPARENMISSING         = -150373242
	YDB_ERR_LSEXPECTED            = -150373250
	YDB_ERR_LVORDERARG            = -150373258
	YDB_ERR_MAXFORARGS            = -150373266
	YDB_ERR_TRANSMINUS            = -150373274
	YDB_ERR_MAXNRSUBSCRIPTS       = -150373282
	YDB_ERR_MAXSTRLEN             = -150373290
	YDB_ERR_ENCRYPTCONFLT2        = -150373296
	YDB_ERR_JNLFILOPN             = -150373306
	YDB_ERR_MBXRDONLY             = -418808770
	YDB_ERR_JNLINVALID            = -150373322
	YDB_ERR_MBXWRTONLY            = -418808786
	YDB_ERR_MEMORY                = -150373340
	YDB_ERR_DONOBLOCK             = -150373344
	YDB_ERR_ZATRANSCOL            = -150373354
	YDB_ERR_VIEWREGLIST           = -150373360
	YDB_ERR_NUMERR                = -150373370
	YDB_ERR_NUM64ERR              = -150373378
	YDB_ERR_UNUM64ERR             = -150373386
	YDB_ERR_HEXERR                = -150373394
	YDB_ERR_HEX64ERR              = -150373402
	YDB_ERR_CMDERR                = -150373410
	YDB_ERR_BACKUPSUCCESS         = -150373419
	YDB_ERR_JNLTMQUAL3            = -150373426
	YDB_ERR_MULTLAB               = -150373434
	YDB_ERR_GTMCURUNSUPP          = -150373442
	YDB_ERR_UNUSEDMSG320          = -150373452
	YDB_ERR_NOPLACE               = -150373458
	YDB_ERR_JNLCLOSE              = -150373466
	YDB_ERR_NOTPRINCIO            = -150373472
	YDB_ERR_NOTTOEOFONPUT         = -150373482
	YDB_ERR_NOZBRK                = -150373491
	YDB_ERR_NULSUBSC              = -150373498
	YDB_ERR_NUMOFLOW              = -150373506
	YDB_ERR_PARFILSPC             = -150373514
	YDB_ERR_PATCLASS              = -150373522
	YDB_ERR_PATCODE               = -150373530
	YDB_ERR_PATLIT                = -150373538
	YDB_ERR_PATMAXLEN             = -150373546
	YDB_ERR_LPARENREQD            = -150373554
	YDB_ERR_PATUPPERLIM           = -150373562
	YDB_ERR_PCONDEXPECTED         = -150373570
	YDB_ERR_PRCNAMLEN             = -150373578
	YDB_ERR_RANDARGNEG            = -150373586
	YDB_ERR_DBPRIVERR             = -418809050
	YDB_ERR_REC2BIG               = -150373602
	YDB_ERR_RHMISSING             = -150373610
	YDB_ERR_DEVICEREADONLY        = -150373618
	YDB_ERR_COLLDATAEXISTS        = -150373626
	YDB_ERR_ROUTINEUNKNOWN        = -150373634
	YDB_ERR_RPARENMISSING         = -150373642
	YDB_ERR_RTNNAME               = -150373650
	YDB_ERR_VIEWGVN               = -150373658
	YDB_ERR_RTSLOC                = -150373667
	YDB_ERR_RWARG                 = -150373674
	YDB_ERR_RWFORMAT              = -150373682
	YDB_ERR_JNLWRTDEFER           = -150373691
	YDB_ERR_SELECTFALSE           = -150373698
	YDB_ERR_SPOREOL               = -150373706
	YDB_ERR_SRCLIN                = -150373715
	YDB_ERR_SRCLOC                = -150373723
	YDB_ERR_RLNKRECNFL            = -150373728
	YDB_ERR_STACKCRIT             = -150373738
	YDB_ERR_STACKOFLOW            = -150373748
	YDB_ERR_STACKUNDERFLO         = -150373754
	YDB_ERR_STRINGOFLOW           = -150373762
	YDB_ERR_SVNOSET               = -150373770
	YDB_ERR_VIEWFN                = -150373778
	YDB_ERR_TERMASTQUOTA          = -150373786
	YDB_ERR_TEXTARG               = -150373794
	YDB_ERR_TMPSTOREMAX           = -150373802
	YDB_ERR_VIEWCMD               = -150373810
	YDB_ERR_JNI                   = -150373818
	YDB_ERR_TXTSRCFMT             = -150373826
	YDB_ERR_UIDMSG                = -150373834
	YDB_ERR_UIDSND                = -150373842
	YDB_ERR_LVUNDEF               = -150373850
	YDB_ERR_UNIMPLOP              = -150373858
	YDB_ERR_VAREXPECTED           = -150373866
	YDB_ERR_BACKUPFAIL            = -150373874
	YDB_ERR_MAXARGCNT             = -150373882
	YDB_ERR_GTMSECSHRSEMGET       = -150373892
	YDB_ERR_VIEWARGCNT            = -150373898
	YDB_ERR_GTMSECSHRDMNSTARTED   = -150373907
	YDB_ERR_ZATTACHERR            = -150373914
	YDB_ERR_ZDATEFMT              = -150373922
	YDB_ERR_ZEDFILSPEC            = -150373930
	YDB_ERR_ZFILENMTOOLONG        = -150373938
	YDB_ERR_ZFILKEYBAD            = -150373946
	YDB_ERR_ZFILNMBAD             = -150373954
	YDB_ERR_ZGOTOLTZERO           = -150373962
	YDB_ERR_ZGOTOTOOBIG           = -150373970
	YDB_ERR_ZLINKFILE             = -150373978
	YDB_ERR_ZPARSETYPE            = -150373986
	YDB_ERR_ZPARSFLDBAD           = -150373994
	YDB_ERR_ZPIDBADARG            = -150374002
	YDB_ERR_UNUSEDMSG390          = -150374010
	YDB_ERR_UNUSEDMSG391          = -150374018
	YDB_ERR_ZPRTLABNOTFND         = -150374026
	YDB_ERR_VIEWAMBIG             = -150374034
	YDB_ERR_VIEWNOTFOUND          = -150374042
	YDB_ERR_UNUSEDMSG395          = -150374050
	YDB_ERR_INVSPECREC            = -150374058
	YDB_ERR_UNUSEDMSG397          = -150374066
	YDB_ERR_ZSRCHSTRMCT           = -150374074
	YDB_ERR_VERSION               = -150374082
	YDB_ERR_MUNOTALLSEC           = -150374088
	YDB_ERR_MUSECDEL              = -150374099
	YDB_ERR_MUSECNOTDEL           = -150374107
	YDB_ERR_RPARENREQD            = -150374114
	YDB_ERR_ZGBLDIRACC            = -418809578
	YDB_ERR_GVNAKEDEXTNM          = -150374130
	YDB_ERR_EXTGBLDEL             = -150374138
	YDB_ERR_DSEWCINITCON          = -150374147
	YDB_ERR_LASTFILCMPLD          = -150374155
	YDB_ERR_NOEXCNOZTRAP          = -150374163
	YDB_ERR_UNSDCLASS             = -150374170
	YDB_ERR_UNSDDTYPE             = -150374178
	YDB_ERR_ZCUNKTYPE             = -150374186
	YDB_ERR_ZCUNKMECH             = -150374194
	YDB_ERR_ZCUNKQUAL             = -150374202
	YDB_ERR_JNLDBTNNOMATCH        = -150374210
	YDB_ERR_ZCALLTABLE            = -150374218
	YDB_ERR_ZCARGMSMTCH           = -150374226
	YDB_ERR_ZCCONMSMTCH           = -150374234
	YDB_ERR_ZCOPT0                = -150374242
	YDB_ERR_UNUSEDMSG420          = -150374250
	YDB_ERR_UNUSEDMSG421          = -150374258
	YDB_ERR_ZCPOSOVR              = -150374266
	YDB_ERR_ZCINPUTREQ            = -150374274
	YDB_ERR_JNLTNOUTOFSEQ         = -150374282
	YDB_ERR_ACTRANGE              = -150374290
	YDB_ERR_ZCCONVERT             = -150374298
	YDB_ERR_ZCRTENOTF             = -150374306
	YDB_ERR_GVRUNDOWN             = -150374314
	YDB_ERR_LKRUNDOWN             = -150374322
	YDB_ERR_IORUNDOWN             = -150374330
	YDB_ERR_FILENOTFND            = -150374338
	YDB_ERR_MUFILRNDWNFL          = -150374346
	YDB_ERR_JNLTMQUAL1            = -150374354
	YDB_ERR_FORCEDHALT            = -150374364
	YDB_ERR_LOADEOF               = -150374370
	YDB_ERR_WILLEXPIRE            = -150374379
	YDB_ERR_LOADEDBG              = -150374386
	YDB_ERR_LABELONLY             = -150374394
	YDB_ERR_MUREORGFAIL           = -150374402
	YDB_ERR_GVZPREVFAIL           = -150374410
	YDB_ERR_MULTFORMPARM          = -150374418
	YDB_ERR_QUITARGUSE            = -150374426
	YDB_ERR_NAMEEXPECTED          = -150374434
	YDB_ERR_FALLINTOFLST          = -150374442
	YDB_ERR_NOTEXTRINSIC          = -150374450
	YDB_ERR_GTMSECSHRREMSEMFAIL   = -150374456
	YDB_ERR_FMLLSTMISSING         = -150374466
	YDB_ERR_ACTLSTTOOLONG         = -150374474
	YDB_ERR_ACTOFFSET             = -150374482
	YDB_ERR_MAXACTARG             = -150374490
	YDB_ERR_GTMSECSHRREMSEM       = -150374499
	YDB_ERR_JNLTMQUAL2            = -150374506
	YDB_ERR_GDINVALID             = -150374514
	YDB_ERR_ASSERT                = -150374524
	YDB_ERR_MUFILRNDWNSUC         = -150374531
	YDB_ERR_LOADEDSZ              = -150374538
	YDB_ERR_QUITARGLST            = -150374546
	YDB_ERR_QUITARGREQD           = -150374554
	YDB_ERR_CRITRESET             = -150374562
	YDB_ERR_UNKNOWNFOREX          = -150374572
	YDB_ERR_FSEXP                 = -150374578
	YDB_ERR_WILDCARD              = -150374586
	YDB_ERR_DIRONLY               = -150374594
	YDB_ERR_FILEPARSE             = -150374602
	YDB_ERR_QUALEXP               = -150374610
	YDB_ERR_BADQUAL               = -150374618
	YDB_ERR_QUALVAL               = -150374626
	YDB_ERR_ZROSYNTAX             = -150374634
	YDB_ERR_COMPILEQUALS          = -150374642
	YDB_ERR_ZLNOOBJECT            = -150374650
	YDB_ERR_ZLMODULE              = -150374658
	YDB_ERR_DBBLEVMX              = -150374667
	YDB_ERR_DBBLEVMN              = -150374675
	YDB_ERR_DBBSIZMN              = -150374682
	YDB_ERR_DBBSIZMX              = -150374690
	YDB_ERR_DBRSIZMN              = -150374698
	YDB_ERR_DBRSIZMX              = -150374706
	YDB_ERR_DBCMPNZRO             = -150374714
	YDB_ERR_DBSTARSIZ             = -150374723
	YDB_ERR_DBSTARCMP             = -150374731
	YDB_ERR_DBCMPMX               = -150374739
	YDB_ERR_DBKEYMX               = -150374746
	YDB_ERR_DBKEYMN               = -150374754
	YDB_ERR_DBCMPBAD              = -150374760
	YDB_ERR_DBKEYORD              = -150374770
	YDB_ERR_DBPTRNOTPOS           = -150374778
	YDB_ERR_DBPTRMX               = -150374786
	YDB_ERR_DBPTRMAP              = -150374795
	YDB_ERR_IFBADPARM             = -150374802
	YDB_ERR_IFNOTINIT             = -150374810
	YDB_ERR_GTMSECSHRSOCKET       = -150374818
	YDB_ERR_LOADBGSZ              = -150374826
	YDB_ERR_LOADFMT               = -150374834
	YDB_ERR_LOADFILERR            = -150374842
	YDB_ERR_NOREGION              = -150374850
	YDB_ERR_PATLOAD               = -150374858
	YDB_ERR_EXTRACTFILERR         = -150374866
	YDB_ERR_FREEZE                = -150374875
	YDB_ERR_NOSELECT              = -150374880
	YDB_ERR_EXTRFAIL              = -150374890
	YDB_ERR_LDBINFMT              = -150374898
	YDB_ERR_NOPREVLINK            = -150374906
	YDB_ERR_UNUSEDMSG503          = -150374916
	YDB_ERR_UNUSEDMSG504          = -150374922
	YDB_ERR_UNUSEDMSG505          = -150374931
	YDB_ERR_UNUSEDMSG506          = -150374939
	YDB_ERR_UNUSEDMSG507          = -150374946
	YDB_ERR_REQRUNDOWN            = -150374954
	YDB_ERR_UNUSEDMSG509          = -150374962
	YDB_ERR_UNUSEDMSG510          = -150374970
	YDB_ERR_CNOTONSYS             = -150374978
	YDB_ERR_UNUSEDMSG512          = -150374988
	YDB_ERR_UNUSEDMSG513          = -150374994
	YDB_ERR_OPRCCPSTOP            = -150375003
	YDB_ERR_SELECTSYNTAX          = -150375012
	YDB_ERR_LOADABORT             = -150375018
	YDB_ERR_FNOTONSYS             = -150375026
	YDB_ERR_AMBISYIPARAM          = -150375034
	YDB_ERR_PREVJNLNOEOF          = -150375042
	YDB_ERR_LKSECINIT             = -150375050
	YDB_ERR_BACKUPREPL            = -150375059
	YDB_ERR_BACKUPSEQNO           = -150375067
	YDB_ERR_DIRACCESS             = -150375074
	YDB_ERR_TXTSRCMAT             = -150375082
	YDB_ERR_UNUSEDMSG525          = -150375088
	YDB_ERR_BADDBVER              = -150375098
	YDB_ERR_LINKVERSION           = -150375108
	YDB_ERR_TOTALBLKMAX           = -150375114
	YDB_ERR_LOADCTRLY             = -150375123
	YDB_ERR_CLSTCONFLICT          = -150375130
	YDB_ERR_SRCNAM                = -150375139
	YDB_ERR_LCKGONE               = -150375145
	YDB_ERR_SUB2LONG              = -150375154
	YDB_ERR_EXTRACTCTRLY          = -150375163
	YDB_ERR_UNUSEDMSG535          = -150375168
	YDB_ERR_GVQUERYFAIL           = -150375178
	YDB_ERR_LCKSCANCELLED         = -150375186
	YDB_ERR_INVNETFILNM           = -150375194
	YDB_ERR_NETDBOPNERR           = -150375202
	YDB_ERR_BADSRVRNETMSG         = -150375210
	YDB_ERR_BADGTMNETMSG          = -150375218
	YDB_ERR_SERVERERR             = -150375226
	YDB_ERR_NETFAIL               = -150375234
	YDB_ERR_NETLCKFAIL            = -150375242
	YDB_ERR_TTINVFILTER           = -150375251
	YDB_ERR_BACKUPTN              = -150375259
	YDB_ERR_WCSFLUFAIL            = -150375266
	YDB_ERR_BADTRNPARAM           = -150375274
	YDB_ERR_DSEONLYBGMM           = -150375280
	YDB_ERR_DSEINVLCLUSFN         = -150375288
	YDB_ERR_RDFLTOOSHORT          = -150375298
	YDB_ERR_TIMRBADVAL            = -150375307
	YDB_ERR_UNUSEDMSG553          = -150375312
	YDB_ERR_UNUSEDMSG554          = -150375324
	YDB_ERR_UNSOLCNTERR           = -150375330
	YDB_ERR_BACKUPCTRL            = -150375339
	YDB_ERR_NOCCPPID              = -150375346
	YDB_ERR_UNUSEDMSG558          = -150375354
	YDB_ERR_LCKSGONE              = -150375361
	YDB_ERR_UNUSEDMSG560          = -150375370
	YDB_ERR_DBFILOPERR            = -150375378
	YDB_ERR_UNUSEDMSG562          = -150375386
	YDB_ERR_UNUSEDMSG563          = -150375395
	YDB_ERR_UNUSEDMSG564          = -150375403
	YDB_ERR_UNUSEDMSG565          = -150375410
	YDB_ERR_UNUSEDMSG566          = -150375418
	YDB_ERR_UNUSEDMSG567          = -150375426
	YDB_ERR_UNUSEDMSG568          = -150375435
	YDB_ERR_UNUSEDMSG569          = -150375442
	YDB_ERR_UNUSEDMSG570          = -150375451
	YDB_ERR_UNUSEDMSG571          = -150375459
	YDB_ERR_UNUSEDMSG572          = -150375467
	YDB_ERR_ZSHOWBADFUNC          = -150375474
	YDB_ERR_NOTALLJNLEN           = -150375480
	YDB_ERR_BADLOCKNEST           = -150375490
	YDB_ERR_NOLBRSRC              = -150375498
	YDB_ERR_INVZSTEP              = -150375506
	YDB_ERR_ZSTEPARG              = -150375514
	YDB_ERR_INVSTRLEN             = -150375522
	YDB_ERR_RECCNT                = -150375531
	YDB_ERR_TEXT                  = -150375539
	YDB_ERR_ZWRSPONE              = -150375546
	YDB_ERR_FILEDEL               = -150375555
	YDB_ERR_JNLBADLABEL           = -150375562
	YDB_ERR_JNLREADEOF            = -150375570
	YDB_ERR_JNLRECFMT             = -150375578
	YDB_ERR_BLKTOODEEP            = -150375584
	YDB_ERR_NESTFORMP             = -150375594
	YDB_ERR_UNUSEDMSG589          = -150375602
	YDB_ERR_GOQPREC               = -150375611
	YDB_ERR_LDGOQFMT              = -150375618
	YDB_ERR_BEGINST               = -150375627
	YDB_ERR_INVMVXSZ              = -150375636
	YDB_ERR_JNLWRTNOWWRTR         = -150375642
	YDB_ERR_GTMSECSHRSHMCONCPROC  = -150375648
	YDB_ERR_JNLINVALLOC           = -150375656
	YDB_ERR_JNLINVEXT             = -150375664
	YDB_ERR_MUPCLIERR             = -150375674
	YDB_ERR_JNLTMQUAL4            = -150375682
	YDB_ERR_GTMSECSHRREMSHM       = -150375691
	YDB_ERR_GTMSECSHRREMFILE      = -150375699
	YDB_ERR_MUNODBNAME            = -150375706
	YDB_ERR_FILECREATE            = -150375715
	YDB_ERR_FILENOTCREATE         = -150375723
	YDB_ERR_JNLPROCSTUCK          = -150375728
	YDB_ERR_INVGLOBALQUAL         = -150375738
	YDB_ERR_COLLARGLONG           = -150375746
	YDB_ERR_NOPINI                = -150375754
	YDB_ERR_DBNOCRE               = -150375762
	YDB_ERR_JNLSPACELOW           = -150375771
	YDB_ERR_DBCOMMITCLNUP         = -150375779
	YDB_ERR_BFRQUALREQ            = -150375786
	YDB_ERR_REQDVIEWPARM          = -150375794
	YDB_ERR_COLLFNMISSING         = -150375802
	YDB_ERR_JNLACTINCMPLT         = -150375808
	YDB_ERR_NCTCOLLDIFF           = -150375818
	YDB_ERR_DLRCUNXEOR            = -150375826
	YDB_ERR_DLRCTOOBIG            = -150375834
	YDB_ERR_WCERRNOTCHG           = -150375842
	YDB_ERR_WCWRNNOTCHG           = -150375848
	YDB_ERR_ZCWRONGDESC           = -150375858
	YDB_ERR_MUTNWARN              = -150375864
	YDB_ERR_GTMSECSHRUPDDBHDR     = -150375875
	YDB_ERR_LCKSTIMOUT            = -150375880
	YDB_ERR_CTLMNEMAXLEN          = -150375890
	YDB_ERR_CTLMNEXPECTED         = -150375898
	YDB_ERR_USRIOINIT             = -150375906
	YDB_ERR_CRITSEMFAIL           = -150375914
	YDB_ERR_TERMWRITE             = -150375922
	YDB_ERR_COLLTYPVERSION        = -150375930
	YDB_ERR_LVNULLSUBS            = -150375938
	YDB_ERR_GVREPLERR             = -150375946
	YDB_ERR_UNUSEDMSG633          = -150375954
	YDB_ERR_RMWIDTHPOS            = -150375962
	YDB_ERR_OFFSETINV             = -150375970
	YDB_ERR_JOBPARTOOLONG         = -150375978
	YDB_ERR_RLNKINTEGINFO         = -150375987
	YDB_ERR_RUNPARAMERR           = -150375994
	YDB_ERR_FNNAMENEG             = -150376002
	YDB_ERR_ORDER2                = -150376010
	YDB_ERR_MUNOUPGRD             = -150376018
	YDB_ERR_REORGCTRLY            = -150376027
	YDB_ERR_TSTRTPARM             = -150376034
	YDB_ERR_TRIGNAMENF            = -150376042
	YDB_ERR_TRIGZBREAKREM         = -150376048
	YDB_ERR_TLVLZERO              = -150376058
	YDB_ERR_TRESTNOT              = -150376066
	YDB_ERR_TPLOCK                = -150376074
	YDB_ERR_TPQUIT                = -150376082
	YDB_ERR_TPFAIL                = -150376090
	YDB_ERR_TPRETRY               = -150376098
	YDB_ERR_TPTOODEEP             = -150376106
	YDB_ERR_ZDEFACTIVE            = -150376114
	YDB_ERR_ZDEFOFLOW             = -150376122
	YDB_ERR_MUPRESTERR            = -150376130
	YDB_ERR_MUBCKNODIR            = -150376138
	YDB_ERR_TRANS2BIG             = -150376146
	YDB_ERR_INVBITLEN             = -150376154
	YDB_ERR_INVBITSTR             = -150376162
	YDB_ERR_INVBITPOS             = -150376170
	YDB_ERR_PARNORMAL             = -150376177
	YDB_ERR_FILEPATHTOOLONG       = -150376186
	YDB_ERR_RMWIDTHTOOBIG         = -150376194
	YDB_ERR_PATTABNOTFND          = -150376202
	YDB_ERR_OBJFILERR             = -150376210
	YDB_ERR_SRCFILERR             = -418811674
	YDB_ERR_NEGFRACPWR            = -150376226
	YDB_ERR_MTNOSKIP              = -150376234
	YDB_ERR_CETOOMANY             = -150376242
	YDB_ERR_CEUSRERROR            = -150376250
	YDB_ERR_CEBIGSKIP             = -150376258
	YDB_ERR_CETOOLONG             = -150376266
	YDB_ERR_CENOINDIR             = -150376274
	YDB_ERR_COLLATIONUNDEF        = -150376282
	YDB_ERR_MSTACKCRIT            = -150376290
	YDB_ERR_GTMSECSHRSRVF         = -150376298
	YDB_ERR_FREEZECTRL            = -150376307
	YDB_ERR_JNLFLUSH              = -150376315
	YDB_ERR_UNUSEDMSG679          = -150376323
	YDB_ERR_NOPRINCIO             = -150376332
	YDB_ERR_INVPORTSPEC           = -150376338
	YDB_ERR_INVADDRSPEC           = -150376346
	YDB_ERR_MUREENCRYPTEND        = -150376355
	YDB_ERR_CRYPTJNLMISMATCH      = -150376362
	YDB_ERR_SOCKWAIT              = -150376370
	YDB_ERR_SOCKACPT              = -150376378
	YDB_ERR_SOCKINIT              = -150376386
	YDB_ERR_OPENCONN              = -150376394
	YDB_ERR_DEVNOTIMP             = -150376402
	YDB_ERR_PATALTER2LARGE        = -150376410
	YDB_ERR_DBREMOTE              = -150376418
	YDB_ERR_JNLREQUIRED           = -150376426
	YDB_ERR_TPMIXUP               = -150376434
	YDB_ERR_HTOFLOW               = -150376442
	YDB_ERR_RMNOBIGRECORD         = -150376450
	YDB_ERR_DBBMSIZE              = -150376459
	YDB_ERR_DBBMBARE              = -150376467
	YDB_ERR_DBBMINV               = -150376475
	YDB_ERR_DBBMMSTR              = -150376483
	YDB_ERR_DBROOTBURN            = -150376491
	YDB_ERR_REPLSTATEERR          = -150376498
	YDB_ERR_UNUSEDMSG702          = -150376506
	YDB_ERR_DBDIRTSUBSC           = -150376515
	YDB_ERR_TIMEROVFL             = -150376522
	YDB_ERR_GTMASSERT             = -150376532
	YDB_ERR_DBFHEADERR4           = -150376539
	YDB_ERR_DBADDRANGE            = -150376547
	YDB_ERR_DBQUELINK             = -150376555
	YDB_ERR_DBCRERR               = -150376563
	YDB_ERR_MUSTANDALONE          = -150376571
	YDB_ERR_MUNOACTION            = -150376578
	YDB_ERR_RMBIGSHARE            = -150376586
	YDB_ERR_TPRESTART             = -150376595
	YDB_ERR_SOCKWRITE             = -150376602
	YDB_ERR_DBCNTRLERR            = -150376611
	YDB_ERR_NOTERMENV             = -150376619
	YDB_ERR_NOTERMENTRY           = -150376627
	YDB_ERR_NOTERMINFODB          = -150376635
	YDB_ERR_INVACCMETHOD          = -150376642
	YDB_ERR_JNLOPNERR             = -150376650
	YDB_ERR_JNLRECTYPE            = -150376658
	YDB_ERR_JNLTRANSGTR           = -150376666
	YDB_ERR_JNLTRANSLSS           = -150376674
	YDB_ERR_JNLWRERR              = -150376682
	YDB_ERR_FILEIDMATCH           = -150376690
	YDB_ERR_EXTSRCLIN             = -150376699
	YDB_ERR_EXTSRCLOC             = -150376707
	YDB_ERR_UNUSEDMSG728          = -150376714
	YDB_ERR_ERRCALL               = -150376722
	YDB_ERR_ZCCTENV               = -150376730
	YDB_ERR_ZCCTOPN               = -418812194
	YDB_ERR_ZCCTNULLF             = -150376746
	YDB_ERR_ZCUNAVAIL             = -150376754
	YDB_ERR_ZCENTNAME             = -150376762
	YDB_ERR_ZCCOLON               = -150376770
	YDB_ERR_ZCRTNTYP              = -150376778
	YDB_ERR_ZCRCALLNAME           = -150376786
	YDB_ERR_ZCRPARMNAME           = -150376794
	YDB_ERR_ZCUNTYPE              = -150376802
	YDB_ERR_UNUSEDMSG740          = -150376810
	YDB_ERR_ZCSTATUSRET           = -150376818
	YDB_ERR_ZCMAXPARAM            = -150376826
	YDB_ERR_ZCCSQRBR              = -150376834
	YDB_ERR_ZCPREALLNUMEX         = -150376842
	YDB_ERR_ZCPREALLVALPAR        = -150376850
	YDB_ERR_VERMISMATCH           = -150376858
	YDB_ERR_JNLCNTRL              = -150376866
	YDB_ERR_TRIGNAMBAD            = -150376874
	YDB_ERR_BUFRDTIMEOUT          = -150376882
	YDB_ERR_INVALIDRIP            = -150376890
	YDB_ERR_BLKSIZ512             = -150376899
	YDB_ERR_MUTEXERR              = -150376906
	YDB_ERR_JNLVSIZE              = -150376914
	YDB_ERR_MUTEXLCKALERT         = -150376920
	YDB_ERR_MUTEXFRCDTERM         = -150376928
	YDB_ERR_GTMSECSHR             = -150376938
	YDB_ERR_GTMSECSHRSRVFID       = -150376944
	YDB_ERR_GTMSECSHRSRVFIL       = -150376952
	YDB_ERR_FREEBLKSLOW           = -150376960
	YDB_ERR_PROTNOTSUP            = -150376970
	YDB_ERR_DELIMSIZNA            = -150376978
	YDB_ERR_INVCTLMNE             = -150376986
	YDB_ERR_SOCKLISTEN            = -150376994
	YDB_ERR_RESTORESUCCESS        = -150377003
	YDB_ERR_ADDRTOOLONG           = -150377010
	YDB_ERR_GTMSECSHRGETSEMFAIL   = -150377016
	YDB_ERR_CPBEYALLOC            = -150377026
	YDB_ERR_DBRDONLY              = -418812490
	YDB_ERR_DUPTN                 = -150377040
	YDB_ERR_TRESTLOC              = -150377050
	YDB_ERR_REPLPOOLINST          = -150377058
	YDB_ERR_ZCVECTORINDX          = -150377064
	YDB_ERR_REPLNOTON             = -150377074
	YDB_ERR_JNLMOVED              = -150377082
	YDB_ERR_EXTRFMT               = -150377090
	YDB_ERR_CALLERID              = -150377099
	YDB_ERR_KRNLKILL              = -150377108
	YDB_ERR_MEMORYRECURSIVE       = -150377116
	YDB_ERR_FREEZEID              = -150377123
	YDB_ERR_UNUSEDMSG780          = -150377130
	YDB_ERR_DSEINVALBLKID         = -150377138
	YDB_ERR_PINENTRYERR           = -150377146
	YDB_ERR_BCKUPBUFLUSH          = -150377154
	YDB_ERR_NOFORKCORE            = -150377160
	YDB_ERR_JNLREAD               = -150377170
	YDB_ERR_JNLMINALIGN           = -150377176
	YDB_ERR_JOBSTARTCMDFAIL       = -150377186
	YDB_ERR_JNLPOOLSETUP          = -150377194
	YDB_ERR_JNLSTATEOFF           = -150377202
	YDB_ERR_RECVPOOLSETUP         = -150377210
	YDB_ERR_REPLCOMM              = -150377218
	YDB_ERR_NOREPLCTDREG          = -150377224
	YDB_ERR_REPLINFO              = -150377235
	YDB_ERR_REPLWARN              = -150377240
	YDB_ERR_REPLERR               = -150377250
	YDB_ERR_JNLNMBKNOTPRCD        = -150377258
	YDB_ERR_REPLFILIOERR          = -150377266
	YDB_ERR_REPLBRKNTRANS         = -150377274
	YDB_ERR_TTWIDTHTOOBIG         = -150377282
	YDB_ERR_REPLLOGOPN            = -418812746
	YDB_ERR_REPLFILTER            = -150377298
	YDB_ERR_GBLMODFAIL            = -150377306
	YDB_ERR_TTLENGTHTOOBIG        = -150377314
	YDB_ERR_TPTIMEOUT             = -150377322
	YDB_ERR_NORTN                 = -150377330
	YDB_ERR_JNLFILNOTCHG          = -150377338
	YDB_ERR_EVENTLOGERR           = -150377346
	YDB_ERR_UPDATEFILEOPEN        = -418812810
	YDB_ERR_JNLBADRECFMT          = -150377362
	YDB_ERR_NULLCOLLDIFF          = -150377370
	YDB_ERR_MUKILLIP              = -150377376
	YDB_ERR_JNLRDONLY             = -418812842
	YDB_ERR_ANCOMPTINC            = -150377394
	YDB_ERR_ABNCOMPTINC           = -150377402
	YDB_ERR_RECLOAD               = -150377410
	YDB_ERR_SOCKNOTFND            = -150377418
	YDB_ERR_CURRSOCKOFR           = -150377426
	YDB_ERR_SOCKETEXIST           = -150377434
	YDB_ERR_LISTENPASSBND         = -150377442
	YDB_ERR_DBCLNUPINFO           = -150377451
	YDB_ERR_MUNODWNGRD            = -150377458
	YDB_ERR_REPLTRANS2BIG         = -150377466
	YDB_ERR_RDFLTOOLONG           = -150377474
	YDB_ERR_MUNOFINISH            = -150377482
	YDB_ERR_DBFILEXT              = -150377491
	YDB_ERR_JNLFSYNCERR           = -150377498
	YDB_ERR_ICUNOTENABLED         = -150377504
	YDB_ERR_ZCPREALLVALINV        = -150377514
	YDB_ERR_NEWJNLFILECREAT       = -150377523
	YDB_ERR_DSKSPACEFLOW          = -150377531
	YDB_ERR_GVINCRFAIL            = -150377538
	YDB_ERR_ISOLATIONSTSCHN       = -150377546
	YDB_ERR_UNUSEDMSG833          = -150377554
	YDB_ERR_TRACEON               = -150377562
	YDB_ERR_TOOMANYCLIENTS        = -150377570
	YDB_ERR_NOEXCLUDE             = -150377579
	YDB_ERR_UNUSEDMSG837          = -150377586
	YDB_ERR_EXCLUDEREORG          = -150377592
	YDB_ERR_REORGINC              = -150377600
	YDB_ERR_ASC2EBCDICCONV        = -150377610
	YDB_ERR_GTMSECSHRSTART        = -150377618
	YDB_ERR_DBVERPERFWARN1        = -150377624
	YDB_ERR_FILEIDGBLSEC          = -150377634
	YDB_ERR_GBLSECNOTGDS          = -150377642
	YDB_ERR_BADGBLSECVER          = -150377650
	YDB_ERR_RECSIZENOTEVEN        = -150377658
	YDB_ERR_BUFFLUFAILED          = -150377666
	YDB_ERR_MUQUALINCOMP          = -150377674
	YDB_ERR_DISTPATHMAX           = -150377682
	YDB_ERR_FILEOPENFAIL          = -418813146
	YDB_ERR_UNUSEDMSG851          = -150377698
	YDB_ERR_GTMSECSHRPERM         = -150377706
	YDB_ERR_YDBDISTUNDEF          = -150377714
	YDB_ERR_SYSCALL               = -150377722
	YDB_ERR_MAXGTMPATH            = -150377730
	YDB_ERR_TROLLBK2DEEP          = -150377738
	YDB_ERR_INVROLLBKLVL          = -150377746
	YDB_ERR_OLDBINEXTRACT         = -150377752
	YDB_ERR_ACOMPTBINC            = -150377762
	YDB_ERR_NOTREPLICATED         = -150377768
	YDB_ERR_DBPREMATEOF           = -150377778
	YDB_ERR_KILLBYSIG             = -150377788
	YDB_ERR_KILLBYSIGUINFO        = -150377796
	YDB_ERR_KILLBYSIGSINFO1       = -150377804
	YDB_ERR_KILLBYSIGSINFO2       = -150377812
	YDB_ERR_SIGILLOPC             = -150377820
	YDB_ERR_SIGILLOPN             = -150377828
	YDB_ERR_SIGILLADR             = -150377836
	YDB_ERR_SIGILLTRP             = -150377844
	YDB_ERR_SIGPRVOPC             = -150377852
	YDB_ERR_SIGPRVREG             = -150377860
	YDB_ERR_SIGCOPROC             = -150377868
	YDB_ERR_SIGBADSTK             = -150377876
	YDB_ERR_SIGADRALN             = -150377884
	YDB_ERR_SIGADRERR             = -150377892
	YDB_ERR_SIGOBJERR             = -150377900
	YDB_ERR_SIGINTDIV             = -150377908
	YDB_ERR_SIGINTOVF             = -150377916
	YDB_ERR_SIGFLTDIV             = -150377924
	YDB_ERR_SIGFLTOVF             = -150377932
	YDB_ERR_SIGFLTUND             = -150377940
	YDB_ERR_SIGFLTRES             = -150377948
	YDB_ERR_SIGFLTINV             = -150377956
	YDB_ERR_SIGMAPERR             = -150377964
	YDB_ERR_SIGACCERR             = -418813428
	YDB_ERR_TRNLOGFAIL            = -150377978
	YDB_ERR_INVDBGLVL             = -150377986
	YDB_ERR_DBMAXNRSUBS           = -150377995
	YDB_ERR_GTMSECSHRSCKSEL       = -150378002
	YDB_ERR_GTMSECSHRTMOUT        = -150378011
	YDB_ERR_GTMSECSHRRECVF        = -150378018
	YDB_ERR_GTMSECSHRSENDF        = -150378026
	YDB_ERR_SIZENOTVALID8         = -150378034
	YDB_ERR_GTMSECSHROPCMP        = -150378044
	YDB_ERR_GTMSECSHRSUIDF        = -150378048
	YDB_ERR_GTMSECSHRSGIDF        = -150378056
	YDB_ERR_GTMSECSHRSSIDF        = -150378064
	YDB_ERR_GTMSECSHRFORKF        = -150378076
	YDB_ERR_DBFSYNCERR            = -150378082
	YDB_ERR_UNUSEDMSG900          = -150378090
	YDB_ERR_SCNDDBNOUPD           = -150378098
	YDB_ERR_MUINFOUINT4           = -150378107
	YDB_ERR_NLMISMATCHCALC        = -150378114
	YDB_ERR_RELINKCTLFULL         = -150378122
	YDB_ERR_MUPIPSET2BIG          = -150378128
	YDB_ERR_DBBADNSUB             = -150378138
	YDB_ERR_DBBADKYNM             = -150378146
	YDB_ERR_DBBADPNTR             = -150378154
	YDB_ERR_DBBNPNTR              = -150378162
	YDB_ERR_DBINCLVL              = -150378170
	YDB_ERR_DBBFSTAT              = -150378178
	YDB_ERR_DBBDBALLOC            = -150378186
	YDB_ERR_DBMRKFREE             = -150378194
	YDB_ERR_DBMRKBUSY             = -150378200
	YDB_ERR_DBBSIZZRO             = -150378210
	YDB_ERR_DBSZGT64K             = -150378218
	YDB_ERR_DBNOTMLTP             = -150378226
	YDB_ERR_DBTNTOOLG             = -150378235
	YDB_ERR_DBBPLMLT512           = -150378242
	YDB_ERR_DBBPLMGT2K            = -150378250
	YDB_ERR_MUINFOUINT8           = -150378259
	YDB_ERR_DBBPLNOT512           = -150378266
	YDB_ERR_MUINFOSTR             = -150378275
	YDB_ERR_DBUNDACCMT            = -150378283
	YDB_ERR_DBTNNEQ               = -150378291
	YDB_ERR_MUPGRDSUCC            = -150378297
	YDB_ERR_DBDSRDFMTCHNG         = -150378307
	YDB_ERR_DBFGTBC               = -150378312
	YDB_ERR_DBFSTBC               = -150378322
	YDB_ERR_DBFSTHEAD             = -150378330
	YDB_ERR_DBCREINCOMP           = -150378338
	YDB_ERR_DBFLCORRP             = -150378346
	YDB_ERR_DBHEADINV             = -150378354
	YDB_ERR_DBINCRVER             = -150378362
	YDB_ERR_DBINVGBL              = -150378370
	YDB_ERR_DBKEYGTIND            = -150378378
	YDB_ERR_DBGTDBMAX             = -150378386
	YDB_ERR_DBKGTALLW             = -150378394
	YDB_ERR_DBLTSIBL              = -150378402
	YDB_ERR_DBLRCINVSZ            = -150378410
	YDB_ERR_MUREUPDWNGRDEND       = -150378419
	YDB_ERR_DBLOCMBINC            = -150378424
	YDB_ERR_DBLVLINC              = -150378432
	YDB_ERR_DBMBSIZMX             = -150378440
	YDB_ERR_DBMBSIZMN             = -150378450
	YDB_ERR_DBMBTNSIZMX           = -150378459
	YDB_ERR_DBMBMINCFRE           = -150378464
	YDB_ERR_DBMBPINCFL            = -150378472
	YDB_ERR_DBMBPFLDLBM           = -150378480
	YDB_ERR_DBMBPFLINT            = -150378488
	YDB_ERR_DBMBPFLDIS            = -150378496
	YDB_ERR_DBMBPFRDLBM           = -150378504
	YDB_ERR_DBMBPFRINT            = -150378512
	YDB_ERR_DBMAXKEYEXC           = -150378522
	YDB_ERR_REPLAHEAD             = -150378530
	YDB_ERR_MUPIPSET2SML          = -150378536
	YDB_ERR_DBREADBM              = -150378546
	YDB_ERR_DBCOMPTOOLRG          = -150378554
	YDB_ERR_DBVERPERFWARN2        = -150378560
	YDB_ERR_DBRBNTOOLRG           = -150378570
	YDB_ERR_DBRBNLBMN             = -150378578
	YDB_ERR_DBRBNNEG              = -150378586
	YDB_ERR_DBRLEVTOOHI           = -150378594
	YDB_ERR_DBRLEVLTONE           = -150378602
	YDB_ERR_DBSVBNMIN             = -150378610
	YDB_ERR_DBTTLBLK0             = -150378618
	YDB_ERR_DBNOTDB               = -150378626
	YDB_ERR_DBTOTBLK              = -150378634
	YDB_ERR_DBTN                  = -150378643
	YDB_ERR_DBNOREGION            = -418814106
	YDB_ERR_DBTNRESETINC          = -150378656
	YDB_ERR_DBTNLTCTN             = -150378666
	YDB_ERR_DBTNRESET             = -150378674
	YDB_ERR_MUTEXRSRCCLNUP        = -150378683
	YDB_ERR_SEMWT2LONG            = -150378690
	YDB_ERR_REPLINSTOPEN          = -418814154
	YDB_ERR_REPLINSTCLOSE         = -150378706
	YDB_ERR_JOBSETUP              = -150378714
	YDB_ERR_DBCRERR8              = -150378723
	YDB_ERR_NUMPROCESSORS         = -150378728
	YDB_ERR_DBADDRANGE8           = -150378739
	YDB_ERR_RNDWNSEMFAIL          = -150378747
	YDB_ERR_GTMSECSHRSHUTDN       = -150378755
	YDB_ERR_NOSPACECRE            = -150378762
	YDB_ERR_LOWSPACECRE           = -150378768
	YDB_ERR_WAITDSKSPACE          = -150378779
	YDB_ERR_OUTOFSPACE            = -150378788
	YDB_ERR_JNLPVTINFO            = -150378795
	YDB_ERR_NOSPACEEXT            = -150378802
	YDB_ERR_WCBLOCKED             = -150378808
	YDB_ERR_REPLJNLCLOSED         = -150378818
	YDB_ERR_RENAMEFAIL            = -150378824
	YDB_ERR_FILERENAME            = -150378835
	YDB_ERR_JNLBUFINFO            = -150378843
	YDB_ERR_SDSEEKERR             = -150378850
	YDB_ERR_LOCALSOCKREQ          = -150378858
	YDB_ERR_TPNOTACID             = -150378867
	YDB_ERR_JNLSETDATA2LONG       = -150378874
	YDB_ERR_JNLNEWREC             = -150378882
	YDB_ERR_REPLFTOKSEM           = -150378890
	YDB_ERR_SOCKNOTPASSED         = -150378898
	YDB_ERR_UNUSEDMSG1002         = -150378906
	YDB_ERR_UNUSEDMSG1003         = -150378914
	YDB_ERR_CONNSOCKREQ           = -150378922
	YDB_ERR_REPLEXITERR           = -150378930
	YDB_ERR_MUDESTROYSUC          = -150378939
	YDB_ERR_DBRNDWN               = -150378946
	YDB_ERR_MUDESTROYFAIL         = -150378955
	YDB_ERR_NOTALLDBOPN           = -150378964
	YDB_ERR_MUSELFBKUP            = -150378970
	YDB_ERR_DBDANGER              = -150378976
	YDB_ERR_UNUSEDMSG1012         = -150378986
	YDB_ERR_TCGETATTR             = -150378994
	YDB_ERR_TCSETATTR             = -150379002
	YDB_ERR_IOWRITERR             = -150379010
	YDB_ERR_REPLINSTWRITE         = -418814474
	YDB_ERR_DBBADFREEBLKCTR       = -150379024
	YDB_ERR_REQ2RESUME            = -150379035
	YDB_ERR_TIMERHANDLER          = -150379040
	YDB_ERR_FREEMEMORY            = -150379050
	YDB_ERR_MUREPLSECDEL          = -150379059
	YDB_ERR_MUREPLSECNOTDEL       = -150379067
	YDB_ERR_MUJPOOLRNDWNSUC       = -150379075
	YDB_ERR_MURPOOLRNDWNSUC       = -150379083
	YDB_ERR_MUJPOOLRNDWNFL        = -150379090
	YDB_ERR_MURPOOLRNDWNFL        = -150379098
	YDB_ERR_MUREPLPOOL            = -150379107
	YDB_ERR_REPLACCSEM            = -150379114
	YDB_ERR_JNLFLUSHNOPROG        = -150379120
	YDB_ERR_REPLINSTCREATE        = -150379130
	YDB_ERR_SUSPENDING            = -150379139
	YDB_ERR_SOCKBFNOTEMPTY        = -150379146
	YDB_ERR_ILLESOCKBFSIZE        = -150379154
	YDB_ERR_NOSOCKETINDEV         = -150379162
	YDB_ERR_SETSOCKOPTERR         = -150379170
	YDB_ERR_GETSOCKOPTERR         = -150379178
	YDB_ERR_NOSUCHPROC            = -150379187
	YDB_ERR_DSENOFINISH           = -150379194
	YDB_ERR_LKENOFINISH           = -150379202
	YDB_ERR_NOCHLEFT              = -150379212
	YDB_ERR_MULOGNAMEDEF          = -150379218
	YDB_ERR_BUFOWNERSTUCK         = -150379226
	YDB_ERR_ACTIVATEFAIL          = -150379234
	YDB_ERR_DBRNDWNWRN            = -150379240
	YDB_ERR_DLLNOOPEN             = -150379250
	YDB_ERR_DLLNORTN              = -150379258
	YDB_ERR_DLLNOCLOSE            = -150379266
	YDB_ERR_FILTERNOTALIVE        = -150379274
	YDB_ERR_FILTERCOMM            = -150379282
	YDB_ERR_FILTERBADCONV         = -150379290
	YDB_ERR_PRIMARYISROOT         = -150379298
	YDB_ERR_GVQUERYGETFAIL        = -150379306
	YDB_ERR_UNUSEDMSG1053         = -150379314
	YDB_ERR_MERGEDESC             = -150379322
	YDB_ERR_MERGEINCOMPL          = -150379328
	YDB_ERR_DBNAMEMISMATCH        = -150379338
	YDB_ERR_DBIDMISMATCH          = -150379346
	YDB_ERR_DEVOPENFAIL           = -150379354
	YDB_ERR_IPCNOTDEL             = -150379363
	YDB_ERR_XCVOIDRET             = -150379370
	YDB_ERR_MURAIMGFAIL           = -150379378
	YDB_ERR_REPLINSTUNDEF         = -150379386
	YDB_ERR_REPLINSTACC           = -150379394
	YDB_ERR_NOJNLPOOL             = -150379402
	YDB_ERR_NORECVPOOL            = -150379410
	YDB_ERR_FTOKERR               = -150379418
	YDB_ERR_REPLREQRUNDOWN        = -150379426
	YDB_ERR_BLKCNTEDITFAIL        = -150379435
	YDB_ERR_SEMREMOVED            = -150379443
	YDB_ERR_REPLINSTFMT           = -150379450
	YDB_ERR_SEMKEYINUSE           = -150379458
	YDB_ERR_XTRNTRANSERR          = -150379466
	YDB_ERR_XTRNTRANSDLL          = -150379474
	YDB_ERR_XTRNRETVAL            = -150379482
	YDB_ERR_XTRNRETSTR            = -150379490
	YDB_ERR_INVECODEVAL           = -150379498
	YDB_ERR_SETECODE              = -150379506
	YDB_ERR_INVSTACODE            = -150379514
	YDB_ERR_REPEATERROR           = -150379522
	YDB_ERR_NOCANONICNAME         = -150379530
	YDB_ERR_NOSUBSCRIPT           = -150379538
	YDB_ERR_SYSTEMVALUE           = -150379546
	YDB_ERR_SIZENOTVALID4         = -150379554
	YDB_ERR_STRNOTVALID           = -150379562
	YDB_ERR_CREDNOTPASSED         = -150379570
	YDB_ERR_ERRWETRAP             = -150379578
	YDB_ERR_TRACINGON             = -150379587
	YDB_ERR_CITABENV              = -150379594
	YDB_ERR_CITABOPN              = -150379602
	YDB_ERR_CIENTNAME             = -150379610
	YDB_ERR_CIRTNTYP              = -150379618
	YDB_ERR_CIRCALLNAME           = -150379626
	YDB_ERR_CIRPARMNAME           = -150379634
	YDB_ERR_CIDIRECTIVE           = -150379642
	YDB_ERR_CIPARTYPE             = -150379650
	YDB_ERR_CIUNTYPE              = -150379658
	YDB_ERR_CINOENTRY             = -150379666
	YDB_ERR_JNLINVSWITCHLMT       = -150379674
	YDB_ERR_SETZDIR               = -418815138
	YDB_ERR_JOBACTREF             = -150379690
	YDB_ERR_ECLOSTMID             = -150379696
	YDB_ERR_ZFF2MANY              = -150379706
	YDB_ERR_JNLFSYNCLSTCK         = -150379712
	YDB_ERR_DELIMWIDTH            = -150379722
	YDB_ERR_DBBMLCORRUPT          = -150379730
	YDB_ERR_DLCKAVOIDANCE         = -150379738
	YDB_ERR_WRITERSTUCK           = -150379746
	YDB_ERR_PATNOTFOUND           = -150379754
	YDB_ERR_INVZDIRFORM           = -150379762
	YDB_ERR_ZDIROUTOFSYNC         = -150379768
	YDB_ERR_GBLNOEXIST            = -150379779
	YDB_ERR_MAXBTLEVEL            = -150379786
	YDB_ERR_INVMNEMCSPC           = -150379794
	YDB_ERR_JNLALIGNSZCHG         = -150379803
	YDB_ERR_SEFCTNEEDSFULLB       = -150379810
	YDB_ERR_GVFAILCORE            = -150379818
	YDB_ERR_UNUSEDMSG1117         = -150379826
	YDB_ERR_DBFRZRESETSUC         = -150379835
	YDB_ERR_JNLFILEXTERR          = -150379842
	YDB_ERR_JOBEXAMDONE           = -150379851
	YDB_ERR_JOBEXAMFAIL           = -150379858
	YDB_ERR_JOBINTRRQST           = -150379866
	YDB_ERR_ERRWZINTR             = -150379874
	YDB_ERR_CLIERR                = -150379882
	YDB_ERR_REPLNOBEFORE          = -150379888
	YDB_ERR_REPLJNLCNFLCT         = -150379896
	YDB_ERR_JNLDISABLE            = -150379904
	YDB_ERR_FILEEXISTS            = -150379914
	YDB_ERR_JNLSTATE              = -150379923
	YDB_ERR_REPLSTATE             = -150379931
	YDB_ERR_JNLCREATE             = -150379939
	YDB_ERR_JNLNOCREATE           = -150379946
	YDB_ERR_JNLFNF                = -150379955
	YDB_ERR_PREVJNLLINKCUT        = -150379963
	YDB_ERR_PREVJNLLINKSET        = -150379971
	YDB_ERR_FILENAMETOOLONG       = -150379978
	YDB_ERR_REQRECOV              = -150379986
	YDB_ERR_JNLTRANS2BIG          = -150379994
	YDB_ERR_JNLSWITCHTOOSM        = -150380002
	YDB_ERR_JNLSWITCHSZCHG        = -150380011
	YDB_ERR_NOTRNDMACC            = -150380018
	YDB_ERR_TMPFILENOCRE          = -150380026
	YDB_ERR_DEVICEOPTION          = -150380034
	YDB_ERR_JNLSENDOPER           = -150380043
	YDB_ERR_UNUSEDMSG1145         = -150380050
	YDB_ERR_UNUSEDMSG1146         = -150380058
	YDB_ERR_UNUSEDMSG1147         = -150380066
	YDB_ERR_UNUSEDMSG1148         = -150380074
	YDB_ERR_UNUSEDMSG1149         = -150380082
	YDB_ERR_UNUSEDMSG1150         = -150380090
	YDB_ERR_UNUSEDMSG1151         = -150380098
	YDB_ERR_UNUSEDMSG1152         = -150380106
	YDB_ERR_UNUSEDMSG1153         = -150380113
	YDB_ERR_UNUSEDMSG1154         = -150380121
	YDB_ERR_UNUSEDMSG1155         = -150380128
	YDB_ERR_UNUSEDMSG1156         = -150380138
	YDB_ERR_UNUSEDMSG1157         = -150380146
	YDB_ERR_UNUSEDMSG1158         = -150380154
	YDB_ERR_UNUSEDMSG1159         = -150380162
	YDB_ERR_UNUSEDMSG1160         = -150380170
	YDB_ERR_UNUSEDMSG1161         = -150380178
	YDB_ERR_MUTEXRELEASED         = -150380186
	YDB_ERR_JNLCRESTATUS          = -150380192
	YDB_ERR_ZBREAKFAIL            = -150380203
	YDB_ERR_DLLVERSION            = -150380210
	YDB_ERR_INVZROENT             = -150380218
	YDB_ERR_UNUSEDMSG1167         = -150380226
	YDB_ERR_GETSOCKNAMERR         = -150380234
	YDB_ERR_INVYDBEXIT            = -150380242
	YDB_ERR_CIMAXPARAM            = -150380250
	YDB_ERR_UNUSEDMSG1171         = -150380258
	YDB_ERR_CIMAXLEVELS           = -150380266
	YDB_ERR_JOBINTRRETHROW        = -150380274
	YDB_ERR_STARFILE              = -150380282
	YDB_ERR_NOSTARFILE            = -150380290
	YDB_ERR_MUJNLSTAT             = -150380299
	YDB_ERR_JNLTPNEST             = -150380304
	YDB_ERR_REPLOFFJNLON          = -150380314
	YDB_ERR_FILEDELFAIL           = -150380320
	YDB_ERR_INVQUALTIME           = -150380330
	YDB_ERR_NOTPOSITIVE           = -150380338
	YDB_ERR_INVREDIRQUAL          = -150380346
	YDB_ERR_INVERRORLIM           = -150380354
	YDB_ERR_INVIDQUAL             = -150380362
	YDB_ERR_INVTRNSQUAL           = -150380370
	YDB_ERR_JNLNOBIJBACK          = -150380378
	YDB_ERR_SETREG2RESYNC         = -150380387
	YDB_ERR_JNLALIGNTOOSM         = -150380392
	YDB_ERR_JNLFILEOPNERR         = -150380402
	YDB_ERR_JNLFILECLOSERR        = -150380410
	YDB_ERR_REPLSTATEOFF          = -150380418
	YDB_ERR_MUJNLPREVGEN          = -150380427
	YDB_ERR_MUPJNLINTERRUPT       = -150380434
	YDB_ERR_ROLLBKINTERRUPT       = -150380442
	YDB_ERR_RLBKJNSEQ             = -150380451
	YDB_ERR_REPLRECFMT            = -150380460
	YDB_ERR_PRIMARYNOTROOT        = -150380466
	YDB_ERR_DBFRZRESETFL          = -150380474
	YDB_ERR_JNLCYCLE              = -150380482
	YDB_ERR_JNLPREVRECOV          = -150380490
	YDB_ERR_RESOLVESEQNO          = -150380499
	YDB_ERR_BOVTNGTEOVTN          = -150380506
	YDB_ERR_BOVTMGTEOVTM          = -150380514
	YDB_ERR_BEGSEQGTENDSEQ        = -150380522
	YDB_ERR_DBADDRALIGN           = -150380531
	YDB_ERR_DBWCVERIFYSTART       = -150380539
	YDB_ERR_DBWCVERIFYEND         = -150380547
	YDB_ERR_MUPIPSIG              = -150380555
	YDB_ERR_HTSHRINKFAIL          = -150380560
	YDB_ERR_STPEXPFAIL            = -150380570
	YDB_ERR_DBBTUWRNG             = -150380576
	YDB_ERR_DBBTUFIXED            = -150380587
	YDB_ERR_DBMAXREC2BIG          = -150380594
	YDB_ERR_UNUSEDMSG1214         = -150380602
	YDB_ERR_UNUSEDMSG1215         = -150380610
	YDB_ERR_UNUSEDMSG1216         = -150380618
	YDB_ERR_UNUSEDMSG1217         = -150380626
	YDB_ERR_DBMINRESBYTES         = -150380634
	YDB_ERR_UNUSEDMSG1219         = -150380642
	YDB_ERR_UNUSEDMSG1220         = -150380651
	YDB_ERR_UNUSEDMSG1221         = -150380658
	YDB_ERR_UNUSEDMSG1222         = -150380666
	YDB_ERR_UNUSEDMSG1223         = -150380674
	YDB_ERR_UNUSEDMSG1224         = -150380682
	YDB_ERR_UNUSEDMSG1225         = -150380690
	YDB_ERR_DYNUPGRDFAIL          = -150380698
	YDB_ERR_MMNODYNDWNGRD         = -150380706
	YDB_ERR_MMNODYNUPGRD          = -150380714
	YDB_ERR_MUDWNGRDNRDY          = -150380722
	YDB_ERR_MUDWNGRDTN            = -150380730
	YDB_ERR_MUDWNGRDNOTPOS        = -150380738
	YDB_ERR_MUUPGRDNRDY           = -150380746
	YDB_ERR_TNWARN                = -150380752
	YDB_ERR_TNTOOLARGE            = -150380762
	YDB_ERR_SHMPLRECOV            = -150380771
	YDB_ERR_MUNOSTRMBKUP          = -150380776
	YDB_ERR_EPOCHTNHI             = -150380786
	YDB_ERR_CHNGTPRSLVTM          = -150380795
	YDB_ERR_JNLUNXPCTERR          = -150380802
	YDB_ERR_OMISERVHANG           = -150380811
	YDB_ERR_RSVDBYTE2HIGH         = -150380818
	YDB_ERR_BKUPTMPFILOPEN        = -418816282
	YDB_ERR_BKUPTMPFILWRITE       = -418816290
	YDB_ERR_SHMHUGETLB            = -150380840
	YDB_ERR_SHMLOCK               = -150380848
	YDB_ERR_UNUSEDMSG1246         = -150380858
	YDB_ERR_REPLINSTMISMTCH       = -150380866
	YDB_ERR_REPLINSTREAD          = -418816330
	YDB_ERR_REPLINSTDBMATCH       = -150380882
	YDB_ERR_REPLINSTNMSAME        = -150380890
	YDB_ERR_REPLINSTNMUNDEF       = -150380898
	YDB_ERR_REPLINSTNMLEN         = -150380906
	YDB_ERR_REPLINSTNOHIST        = -150380914
	YDB_ERR_REPLINSTSECLEN        = -150380922
	YDB_ERR_REPLINSTSECMTCH       = -150380930
	YDB_ERR_REPLINSTSECNONE       = -150380938
	YDB_ERR_REPLINSTSECUNDF       = -150380946
	YDB_ERR_REPLINSTSEQORD        = -150380954
	YDB_ERR_REPLINSTSTNDALN       = -150380962
	YDB_ERR_REPLREQROLLBACK       = -150380970
	YDB_ERR_REQROLLBACK           = -150380978
	YDB_ERR_INVOBJFILE            = -150380986
	YDB_ERR_SRCSRVEXISTS          = -150380994
	YDB_ERR_SRCSRVNOTEXIST        = -150381002
	YDB_ERR_SRCSRVTOOMANY         = -150381010
	YDB_ERR_JNLPOOLBADSLOT        = -150381016
	YDB_ERR_NOENDIANCVT           = -150381026
	YDB_ERR_ENDIANCVT             = -150381035
	YDB_ERR_DBENDIAN              = -150381042
	YDB_ERR_BADCHSET              = -150381050
	YDB_ERR_BADCASECODE           = -150381058
	YDB_ERR_BADCHAR               = -150381066
	YDB_ERR_DLRCILLEGAL           = -150381074
	YDB_ERR_NONUTF8LOCALE         = -150381082
	YDB_ERR_INVDLRCVAL            = -150381090
	YDB_ERR_DBMISALIGN            = -150381098
	YDB_ERR_LOADINVCHSET          = -150381106
	YDB_ERR_DLLCHSETM             = -150381114
	YDB_ERR_DLLCHSETUTF8          = -150381122
	YDB_ERR_BOMMISMATCH           = -150381130
	YDB_ERR_WIDTHTOOSMALL         = -150381138
	YDB_ERR_SOCKMAX               = -150381146
	YDB_ERR_PADCHARINVALID        = -150381154
	YDB_ERR_ZCNOPREALLOUTPAR      = -150381162
	YDB_ERR_SVNEXPECTED           = -150381170
	YDB_ERR_SVNONEW               = -150381178
	YDB_ERR_ZINTDIRECT            = -150381186
	YDB_ERR_ZINTRECURSEIO         = -150381194
	YDB_ERR_MRTMAXEXCEEDED        = -150381202
	YDB_ERR_JNLCLOSED             = -150381210
	YDB_ERR_RLBKNOBIMG            = -150381218
	YDB_ERR_RLBKJNLNOBIMG         = -150381227
	YDB_ERR_RLBKLOSTTNONLY        = -150381235
	YDB_ERR_KILLBYSIGSINFO3       = -150381244
	YDB_ERR_GTMSECSHRTMPPATH      = -150381251
	YDB_ERR_UNUSEDMSG1296         = -150381258
	YDB_ERR_INVMEMRESRV           = -150381264
	YDB_ERR_OPCOMMISSED           = -150381275
	YDB_ERR_COMMITWAITSTUCK       = -150381282
	YDB_ERR_COMMITWAITPID         = -150381290
	YDB_ERR_UPDREPLSTATEOFF       = -150381298
	YDB_ERR_LITNONGRAPH           = -150381304
	YDB_ERR_DBFHEADERR8           = -150381315
	YDB_ERR_MMBEFOREJNL           = -150381320
	YDB_ERR_MMNOBFORRPL           = -150381328
	YDB_ERR_KILLABANDONED         = -150381336
	YDB_ERR_BACKUPKILLIP          = -150381344
	YDB_ERR_LOGTOOLONG            = -150381354
	YDB_ERR_NOALIASLIST           = -150381362
	YDB_ERR_ALIASEXPECTED         = -150381370
	YDB_ERR_VIEWLVN               = -150381378
	YDB_ERR_DZWRNOPAREN           = -150381386
	YDB_ERR_DZWRNOALIAS           = -150381394
	YDB_ERR_FREEZEERR             = -150381402
	YDB_ERR_CLOSEFAIL             = -150381410
	YDB_ERR_CRYPTINIT             = -150381418
	YDB_ERR_CRYPTOPFAILED         = -150381426
	YDB_ERR_CRYPTDLNOOPEN         = -150381434
	YDB_ERR_CRYPTNOV4             = -150381442
	YDB_ERR_CRYPTNOMM             = -150381450
	YDB_ERR_READONLYNOBG          = -150381458
	YDB_ERR_CRYPTKEYFETCHFAILED   = -418816922
	YDB_ERR_CRYPTKEYFETCHFAILEDNF = -150381474
	YDB_ERR_CRYPTHASHGENFAILED    = -150381482
	YDB_ERR_CRYPTNOKEY            = -150381490
	YDB_ERR_BADTAG                = -150381498
	YDB_ERR_ICUVERLT36            = -150381506
	YDB_ERR_ICUSYMNOTFOUND        = -150381514
	YDB_ERR_STUCKACT              = -150381523
	YDB_ERR_CALLINAFTERXIT        = -150381530
	YDB_ERR_LOCKSPACEFULL         = -150381538
	YDB_ERR_IOERROR               = -150381546
	YDB_ERR_MAXSSREACHED          = -150381554
	YDB_ERR_SNAPSHOTNOV4          = -150381562
	YDB_ERR_SSV4NOALLOW           = -150381570
	YDB_ERR_SSTMPDIRSTAT          = -418817034
	YDB_ERR_SSTMPCREATE           = -418817042
	YDB_ERR_JNLFILEDUP            = -150381594
	YDB_ERR_SSPREMATEOF           = -150381602
	YDB_ERR_SSFILOPERR            = -150381610
	YDB_ERR_REGSSFAIL             = -150381618
	YDB_ERR_SSSHMCLNUPFAIL        = -150381626
	YDB_ERR_SSFILCLNUPFAIL        = -150381634
	YDB_ERR_SETINTRIGONLY         = -150381642
	YDB_ERR_MAXTRIGNEST           = -150381650
	YDB_ERR_TRIGCOMPFAIL          = -150381658
	YDB_ERR_NOZTRAPINTRIG         = -150381666
	YDB_ERR_ZTWORMHOLE2BIG        = -150381674
	YDB_ERR_JNLENDIANLITTLE       = -150381682
	YDB_ERR_JNLENDIANBIG          = -150381690
	YDB_ERR_TRIGINVCHSET          = -150381698
	YDB_ERR_TRIGREPLSTATE         = -150381706
	YDB_ERR_GVDATAGETFAIL         = -150381714
	YDB_ERR_TRIG2NOTRIG           = -150381720
	YDB_ERR_ZGOTOINVLVL           = -150381730
	YDB_ERR_TRIGTCOMMIT           = -150381738
	YDB_ERR_TRIGTLVLCHNG          = -150381746
	YDB_ERR_TRIGNAMEUNIQ          = -150381754
	YDB_ERR_ZTRIGINVACT           = -150381762
	YDB_ERR_INDRCOMPFAIL          = -150381770
	YDB_ERR_QUITALSINV            = -150381778
	YDB_ERR_PROCTERM              = -150381784
	YDB_ERR_SRCLNNTDSP            = -150381795
	YDB_ERR_ARROWNTDSP            = -150381803
	YDB_ERR_TRIGDEFBAD            = -150381810
	YDB_ERR_TRIGSUBSCRANGE        = -150381818
	YDB_ERR_TRIGDATAIGNORE        = -150381827
	YDB_ERR_TRIGIS                = -150381835
	YDB_ERR_TCOMMITDISALLOW       = -150381842
	YDB_ERR_SSATTACHSHM           = -150381850
	YDB_ERR_TRIGDEFNOSYNC         = -150381856
	YDB_ERR_TRESTMAX              = -150381866
	YDB_ERR_ZLINKBYPASS           = -150381875
	YDB_ERR_GBLEXPECTED           = -150381882
	YDB_ERR_GVZTRIGFAIL           = -150381890
	YDB_ERR_MUUSERLBK             = -150381898
	YDB_ERR_SETINSETTRIGONLY      = -150381906
	YDB_ERR_DZTRIGINTRIG          = -150381914
	YDB_ERR_LSINSERTED            = -150381920
	YDB_ERR_BOOLSIDEFFECT         = -150381928
	YDB_ERR_DBBADUPGRDSTATE       = -150381936
	YDB_ERR_WRITEWAITPID          = -150381946
	YDB_ERR_ZGOCALLOUTIN          = -150381954
	YDB_ERR_UNUSEDMSG1384         = -150381962
	YDB_ERR_REPLXENDIANFAIL       = -150381970
	YDB_ERR_UNUSEDMSG1386         = -150381978
	YDB_ERR_GTMSECSHRCHDIRF       = -150381986
	YDB_ERR_JNLORDBFLU            = -418817450
	YDB_ERR_ZCCLNUPRTNMISNG       = -150382002
	YDB_ERR_ZCINVALIDKEYWORD      = -150382010
	YDB_ERR_REPLMULTINSTUPDATE    = -150382018
	YDB_ERR_DBSHMNAMEDIFF         = -150382026
	YDB_ERR_SHMREMOVED            = -150382035
	YDB_ERR_DEVICEWRITEONLY       = -150382042
	YDB_ERR_ICUERROR              = -150382050
	YDB_ERR_ZDATEBADDATE          = -150382058
	YDB_ERR_ZDATEBADTIME          = -150382066
	YDB_ERR_COREINPROGRESS        = -150382074
	YDB_ERR_MAXSEMGETRETRY        = -150382082
	YDB_ERR_JNLNOREPL             = -150382090
	YDB_ERR_JNLRECINCMPL          = -150382098
	YDB_ERR_JNLALLOCGROW          = -150382107
	YDB_ERR_INVTRCGRP             = -150382114
	YDB_ERR_MUINFOUINT6           = -150382123
	YDB_ERR_NOLOCKMATCH           = -150382131
	YDB_ERR_BADREGION             = -150382138
	YDB_ERR_LOCKSPACEUSE          = -150382147
	YDB_ERR_JIUNHNDINT            = -150382154
	YDB_ERR_GTMASSERT2            = -150382164
	YDB_ERR_ZTRIGNOTRW            = -418817626
	YDB_ERR_TRIGMODREGNOTRW       = -418817634
	YDB_ERR_INSNOTJOINED          = -150382186
	YDB_ERR_INSROLECHANGE         = -150382194
	YDB_ERR_INSUNKNOWN            = -150382202
	YDB_ERR_NORESYNCSUPPLONLY     = -150382210
	YDB_ERR_NORESYNCUPDATERONLY   = -150382218
	YDB_ERR_NOSUPPLSUPPL          = -150382226
	YDB_ERR_REPL2OLD              = -150382234
	YDB_ERR_EXTRFILEXISTS         = -150382242
	YDB_ERR_MUUSERECOV            = -150382250
	YDB_ERR_SECNOTSUPPLEMENTARY   = -150382258
	YDB_ERR_SUPRCVRNEEDSSUPSRC    = -150382266
	YDB_ERR_PEERPIDMISMATCH       = -150382274
	YDB_ERR_SETITIMERFAILED       = -150382284
	YDB_ERR_UPDSYNC2MTINS         = -150382290
	YDB_ERR_UPDSYNCINSTFILE       = -150382298
	YDB_ERR_REUSEINSTNAME         = -150382306
	YDB_ERR_RCVRMANYSTRMS         = -150382314
	YDB_ERR_RSYNCSTRMVAL          = -150382322
	YDB_ERR_RLBKSTRMSEQ           = -150382331
	YDB_ERR_RESOLVESEQSTRM        = -150382339
	YDB_ERR_REPLINSTDBSTRM        = -150382346
	YDB_ERR_RESUMESTRMNUM         = -150382354
	YDB_ERR_ORLBKSTART            = -150382363
	YDB_ERR_ORLBKTERMNTD          = -150382370
	YDB_ERR_ORLBKCMPLT            = -150382379
	YDB_ERR_ORLBKNOSTP            = -150382387
	YDB_ERR_ORLBKFRZPROG          = -150382395
	YDB_ERR_ORLBKFRZOVER          = -150382403
	YDB_ERR_ORLBKNOV4BLK          = -150382410
	YDB_ERR_DBROLLEDBACK          = -150382418
	YDB_ERR_DSEWCREINIT           = -150382427
	YDB_ERR_MURNDWNOVRD           = -150382435
	YDB_ERR_REPLONLNRLBK          = -150382442
	YDB_ERR_SRVLCKWT2LNG          = -150382450
	YDB_ERR_IGNBMPMRKFREE         = -150382459
	YDB_ERR_PERMGENFAIL           = -418817922
	YDB_ERR_PERMGENDIAG           = -150382475
	YDB_ERR_MUTRUNC1ATIME         = -150382483
	YDB_ERR_MUTRUNCBACKINPROG     = -150382491
	YDB_ERR_MUTRUNCERROR          = -150382498
	YDB_ERR_MUTRUNCFAIL           = -150382506
	YDB_ERR_MUTRUNCNOSPACE        = -150382515
	YDB_ERR_MUTRUNCNOTBG          = -150382522
	YDB_ERR_MUTRUNCNOV4           = -150382532
	YDB_ERR_MUTRUNCPERCENT        = -150382538
	YDB_ERR_MUTRUNCSSINPROG       = -150382547
	YDB_ERR_MUTRUNCSUCCESS        = -150382555
	YDB_ERR_RSYNCSTRMSUPPLONLY    = -150382562
	YDB_ERR_STRMNUMIS             = -150382571
	YDB_ERR_STRMNUMMISMTCH1       = -150382578
	YDB_ERR_STRMNUMMISMTCH2       = -150382586
	YDB_ERR_STRMSEQMISMTCH        = -150382594
	YDB_ERR_LOCKSPACEINFO         = -150382603
	YDB_ERR_JRTNULLFAIL           = -150382610
	YDB_ERR_LOCKSUB2LONG          = -150382618
	YDB_ERR_RESRCWAIT             = -150382627
	YDB_ERR_RESRCINTRLCKBYPAS     = -150382635
	YDB_ERR_DBFHEADERRANY         = -150382643
	YDB_ERR_REPLINSTFROZEN        = -150382650
	YDB_ERR_REPLINSTFREEZECOMMENT = -150382659
	YDB_ERR_REPLINSTUNFROZEN      = -150382667
	YDB_ERR_DSKNOSPCAVAIL         = -150382675
	YDB_ERR_DSKNOSPCBLOCKED       = -150382682
	YDB_ERR_DSKSPCAVAILABLE       = -150382691
	YDB_ERR_ENOSPCQIODEFER        = -150382699
	YDB_ERR_CUSTOMFILOPERR        = -150382706
	YDB_ERR_CUSTERRNOTFND         = -150382714
	YDB_ERR_CUSTERRSYNTAX         = -150382722
	YDB_ERR_ORLBKINPROG           = -150382731
	YDB_ERR_DBSPANGLOINCMP        = -150382738
	YDB_ERR_DBSPANCHUNKORD        = -150382746
	YDB_ERR_DBDATAMX              = -150382754
	YDB_ERR_DBIOERR               = -150382762
	YDB_ERR_INITORRESUME          = -150382770
	YDB_ERR_GTMSECSHRNOARG0       = -150382780
	YDB_ERR_GTMSECSHRISNOT        = -150382788
	YDB_ERR_GTMSECSHRBADDIR       = -150382796
	YDB_ERR_JNLBUFFREGUPD         = -150382800
	YDB_ERR_JNLBUFFDBUPD          = -150382808
	YDB_ERR_LOCKINCR2HIGH         = -150382818
	YDB_ERR_LOCKIS                = -150382827
	YDB_ERR_LDSPANGLOINCMP        = -150382834
	YDB_ERR_MUFILRNDWNFL2         = -150382842
	YDB_ERR_MUINSTFROZEN          = -150382851
	YDB_ERR_MUINSTUNFROZEN        = -150382859
	YDB_ERR_GTMEISDIR             = -150382866
	YDB_ERR_SPCLZMSG              = -150382874
	YDB_ERR_MUNOTALLINTEG         = -150382880
	YDB_ERR_BKUPRUNNING           = -150382890
	YDB_ERR_MUSIZEINVARG          = -150382898
	YDB_ERR_MUSIZEFAIL            = -150382906
	YDB_ERR_SIDEEFFECTEVAL        = -150382912
	YDB_ERR_CRYPTINIT2            = -150382922
	YDB_ERR_CRYPTDLNOOPEN2        = -150382930
	YDB_ERR_CRYPTBADCONFIG        = -418818394
	YDB_ERR_DBCOLLREQ             = -150382944
	YDB_ERR_SETEXTRENV            = -150382954
	YDB_ERR_NOTALLDBRNDWN         = -150382962
	YDB_ERR_TPRESTNESTERR         = -150382970
	YDB_ERR_JNLFILRDOPN           = -150382978
	YDB_ERR_UNUSEDMSG1514         = -150382986
	YDB_ERR_FTOKKEY               = -150382995
	YDB_ERR_SEMID                 = -150383003
	YDB_ERR_JNLQIOSALVAGE         = -150383011
	YDB_ERR_FAKENOSPCLEARED       = -150383019
	YDB_ERR_MMFILETOOLARGE        = -150383026
	YDB_ERR_BADZPEEKARG           = -150383034
	YDB_ERR_BADZPEEKRANGE         = -150383042
	YDB_ERR_BADZPEEKFMT           = -150383050
	YDB_ERR_DBMBMINCFREFIXED      = -150383056
	YDB_ERR_NULLENTRYREF          = -150383066
	YDB_ERR_ZPEEKNORPLINFO        = -150383074
	YDB_ERR_MMREGNOACCESS         = -150383082
	YDB_ERR_UNUSEDMSG1527         = -150383090
	YDB_ERR_MALLOCCRIT            = -150383096
	YDB_ERR_HOSTCONFLICT          = -150383106
	YDB_ERR_GETADDRINFO           = -150383114
	YDB_ERR_GETNAMEINFO           = -150383122
	YDB_ERR_SOCKBIND              = -150383130
	YDB_ERR_INSTFRZDEFER          = -150383139
	YDB_ERR_VIEWARGTOOLONG        = -150383146
	YDB_ERR_REGOPENFAIL           = -150383154
	YDB_ERR_REPLINSTNOSHM         = -150383162
	YDB_ERR_DEVPARMTOOSMALL       = -150383170
	YDB_ERR_REMOTEDBNOSPGBL       = -150383178
	YDB_ERR_NCTCOLLSPGBL          = -150383186
	YDB_ERR_ACTCOLLMISMTCH        = -150383194
	YDB_ERR_GBLNOMAPTOREG         = -150383202
	YDB_ERR_ISSPANGBL             = -150383210
	YDB_ERR_TPNOSUPPORT           = -150383218
	YDB_ERR_EXITSTATUS            = -150383226
	YDB_ERR_ZATRANSERR            = -150383234
	YDB_ERR_FILTERTIMEDOUT        = -150383242
	YDB_ERR_TLSDLLNOOPEN          = -150383250
	YDB_ERR_TLSINIT               = -150383258
	YDB_ERR_TLSCONVSOCK           = -150383266
	YDB_ERR_TLSHANDSHAKE          = -150383274
	YDB_ERR_TLSCONNINFO           = -150383280
	YDB_ERR_TLSIOERROR            = -150383290
	YDB_ERR_TLSRENEGOTIATE        = -150383298
	YDB_ERR_REPLNOTLS             = -150383306
	YDB_ERR_COLTRANSSTR2LONG      = -150383314
	YDB_ERR_SOCKPASS              = -150383322
	YDB_ERR_SOCKACCEPT            = -150383330
	YDB_ERR_NOSOCKHANDLE          = -150383338
	YDB_ERR_TRIGLOADFAIL          = -150383346
	YDB_ERR_SOCKPASSDATAMIX       = -150383354
	YDB_ERR_NOGTCMDB              = -150383362
	YDB_ERR_NOUSERDB              = -150383370
	YDB_ERR_DSENOTOPEN            = -150383378
	YDB_ERR_ZSOCKETATTR           = -150383386
	YDB_ERR_ZSOCKETNOTSOCK        = -150383394
	YDB_ERR_CHSETALREADY          = -150383402
	YDB_ERR_DSEMAXBLKSAV          = -150383410
	YDB_ERR_BLKINVALID            = -150383418
	YDB_ERR_CANTBITMAP            = -150383426
	YDB_ERR_AIMGBLKFAIL           = -150383434
	YDB_ERR_YDBDISTUNVERIF        = -150383442
	YDB_ERR_CRYPTNOAPPEND         = -150383450
	YDB_ERR_CRYPTNOSEEK           = -150383458
	YDB_ERR_CRYPTNOTRUNC          = -150383466
	YDB_ERR_CRYPTNOKEYSPEC        = -150383474
	YDB_ERR_CRYPTNOOVERRIDE       = -150383482
	YDB_ERR_CRYPTKEYTOOBIG        = -150383490
	YDB_ERR_CRYPTBADWRTPOS        = -150383498
	YDB_ERR_LABELNOTFND           = -150383506
	YDB_ERR_RELINKCTLERR          = -150383514
	YDB_ERR_INVLINKTMPDIR         = -150383522
	YDB_ERR_NOEDITOR              = -150383530
	YDB_ERR_UPDPROC               = -150383538
	YDB_ERR_HLPPROC               = -150383546
	YDB_ERR_REPLNOHASHTREC        = -150383554
	YDB_ERR_REMOTEDBNOTRIG        = -150383562
	YDB_ERR_NEEDTRIGUPGRD         = -150383570
	YDB_ERR_REQRLNKCTLRNDWN       = -150383578
	YDB_ERR_RLNKCTLRNDWNSUC       = -150383587
	YDB_ERR_RLNKCTLRNDWNFL        = -150383594
	YDB_ERR_MPROFRUNDOWN          = -150383602
	YDB_ERR_ZPEEKNOJNLINFO        = -150383610
	YDB_ERR_TLSPARAM              = -150383618
	YDB_ERR_RLNKRECLATCH          = -150383626
	YDB_ERR_RLNKSHMLATCH          = -150383634
	YDB_ERR_JOBLVN2LONG           = -150383642
	YDB_ERR_NLRESTORE             = -150383648
	YDB_ERR_PREALLOCATEFAIL       = -150383658
	YDB_ERR_NODFRALLOCSUPP        = -150383664
	YDB_ERR_LASTWRITERBYPAS       = -150383672
	YDB_ERR_TRIGUPBADLABEL        = -150383682
	YDB_ERR_WEIRDSYSTIME          = -150383690
	YDB_ERR_REPLSRCEXITERR        = -150383696
	YDB_ERR_INVZBREAK             = -150383706
	YDB_ERR_INVTMPDIR             = -150383714
	YDB_ERR_ARCTLMAXHIGH          = -150383720
	YDB_ERR_ARCTLMAXLOW           = -150383728
	YDB_ERR_NONTPRESTART          = -150383739
	YDB_ERR_PBNPARMREQ            = -150383746
	YDB_ERR_PBNNOPARM             = -150383754
	YDB_ERR_PBNUNSUPSTRUCT        = -150383762
	YDB_ERR_PBNINVALID            = -150383770
	YDB_ERR_PBNNOFIELD            = -150383778
	YDB_ERR_JNLDBSEQNOMATCH       = -150383786
	YDB_ERR_MULTIPROCLATCH        = -150383794
	YDB_ERR_INVLOCALE             = -150383802
	YDB_ERR_NOMORESEMCNT          = -150383811
	YDB_ERR_SETQUALPROB           = -150383818
	YDB_ERR_EXTRINTEGRITY         = -150383826
	YDB_ERR_CRYPTKEYRELEASEFAILED = -418819290
	YDB_ERR_MUREENCRYPTSTART      = -150383843
	YDB_ERR_MUREENCRYPTV4NOALLOW  = -150383850
	YDB_ERR_ENCRYPTCONFLT         = -150383858
	YDB_ERR_JNLPOOLRECOVERY       = -150383866
	YDB_ERR_LOCKTIMINGINTP        = -150383872
	YDB_ERR_PBNUNSUPTYPE          = -150383882
	YDB_ERR_DBFHEADLRU            = -150383891
	YDB_ERR_ASYNCIONOV4           = -150383898
	YDB_ERR_AIOCANCELTIMEOUT      = -150383906
	YDB_ERR_DBGLDMISMATCH         = -150383914
	YDB_ERR_DBBLKSIZEALIGN        = -150383922
	YDB_ERR_ASYNCIONOMM           = -150383930
	YDB_ERR_RESYNCSEQLOW          = -150383938
	YDB_ERR_DBNULCOL              = -150383946
	YDB_ERR_UTF16ENDIAN           = -150383954
	YDB_ERR_OFRZACTIVE            = -150383960
	YDB_ERR_OFRZAUTOREL           = -150383968
	YDB_ERR_OFRZCRITREL           = -150383976
	YDB_ERR_OFRZCRITSTUCK         = -150383984
	YDB_ERR_OFRZNOTHELD           = -150383992
	YDB_ERR_AIOBUFSTUCK           = -150384002
	YDB_ERR_DBDUPNULCOL           = -150384010
	YDB_ERR_CHANGELOGINTERVAL     = -150384019
	YDB_ERR_DBNONUMSUBS           = -150384026
	YDB_ERR_AUTODBCREFAIL         = -150384034
	YDB_ERR_RNDWNSTATSDBFAIL      = -150384042
	YDB_ERR_STATSDBNOTSUPP        = -150384050
	YDB_ERR_TPNOSTATSHARE         = -150384058
	YDB_ERR_FNTRANSERROR          = -150384066
	YDB_ERR_NOCRENETFILE          = -150384074
	YDB_ERR_DSKSPCCHK             = -150384082
	YDB_ERR_NOCREMMBIJ            = -150384090
	YDB_ERR_FILECREERR            = -150384098
	YDB_ERR_RAWDEVUNSUP           = -150384106
	YDB_ERR_DBFILECREATED         = -150384115
	YDB_ERR_PCTYRESERVED          = -150384122
	YDB_ERR_REGFILENOTFOUND       = -418819587
	YDB_ERR_DRVLONGJMP            = -150384138
	YDB_ERR_INVSTATSDB            = -150384146
	YDB_ERR_STATSDBERR            = -150384154
	YDB_ERR_STATSDBINUSE          = -150384162
	YDB_ERR_STATSDBFNERR          = -150384170
	YDB_ERR_JNLSWITCHRETRY        = -150384179
	YDB_ERR_JNLSWITCHFAIL         = -150384186
	YDB_ERR_CLISTRTOOLONG         = -150384194
	YDB_ERR_LVMONBADVAL           = -150384202
	YDB_ERR_RESTRICTEDOP          = -418819666
	YDB_ERR_RESTRICTSYNTAX        = -150384218
	YDB_ERR_MUCREFILERR           = -418819682
	YDB_ERR_JNLBUFFPHS2SALVAGE    = -150384235
	YDB_ERR_JNLPOOLPHS2SALVAGE    = -150384243
	YDB_ERR_MURNDWNARGLESS        = -150384251
	YDB_ERR_DBFREEZEON            = -150384259
	YDB_ERR_DBFREEZEOFF           = -150384267
	YDB_ERR_STPCRIT               = -150384274
	YDB_ERR_STPOFLOW              = -150384284
	YDB_ERR_SYSUTILCONF           = -150384290
	YDB_ERR_MSTACKSZNA            = -150384299
	YDB_ERR_JNLEXTRCTSEQNO        = -150384306
	YDB_ERR_INVSEQNOQUAL          = -150384314
	YDB_ERR_LOWSPC                = -150384323
	YDB_ERR_FAILEDRECCOUNT        = -150384330
	YDB_ERR_LOADRECCNT            = -150384339
	YDB_ERR_COMMFILTERERR         = -150384346
	YDB_ERR_NOFILTERNEST          = -150384354
	YDB_ERR_MLKHASHTABERR         = -150384362
	YDB_ERR_LOCKCRITOWNER         = -150384371
	YDB_ERR_MLKHASHWRONG          = -150384378
	YDB_ERR_XCRETNULLREF          = -150384386
	YDB_ERR_EXTCALLBOUNDS         = -150384396
	YDB_ERR_EXCEEDSPREALLOC       = -150384402
	YDB_ERR_ZTIMEOUT              = -150384408
	YDB_ERR_ERRWZTIMEOUT          = -150384418
	YDB_ERR_MLKHASHRESIZE         = -150384427
	YDB_ERR_MLKHASHRESIZEFAIL     = -150384432
	YDB_ERR_MLKCLEANED            = -150384443
	YDB_ERR_NOTMNAME              = -150384450
	YDB_ERR_DEVNAMERESERVED       = -150384458
	YDB_ERR_ORLBKREL              = -150384467
	YDB_ERR_ORLBKRESTART          = -150384475
	YDB_ERR_UNIQNAME              = -150384482
	YDB_ERR_APDINITFAIL           = -150384490
	YDB_ERR_APDCONNFAIL           = -150384498
	YDB_ERR_APDLOGFAIL            = -150384506
	YDB_ERR_STATSDBMEMERR         = -150384514
	YDB_ERR_BUFSPCDELAY           = -150384520
	YDB_ERR_AIOQUEUESTUCK         = -150384530
	YDB_ERR_INVGVPATQUAL          = -150384538
	YDB_ERR_NULLPATTERN           = -150384544
	YDB_ERR_MLKREHASH             = -150384555
	YDB_ERR_MUKEEPPERCENT         = -150384562
	YDB_ERR_MUKEEPNODEC           = -150384570
	YDB_ERR_MUKEEPNOTRUNC         = -150384578
	YDB_ERR_MUTRUNCNOSPKEEP       = -150384587
	YDB_ERR_TERMHANGUP            = -150384594
	YDB_ERR_DBFILNOFULLWRT        = -150384600
	YDB_ERR_BADCONNECTPARAM       = -150384610
	YDB_ERR_BADPARAMCOUNT         = -150384618
	YDB_ERR_REPLALERT             = -150384624
	YDB_ERR_SHUT2QUICK            = -150384632
	YDB_ERR_REPLNORESP            = -150384640
	YDB_ERR_REPL0BACKLOG          = -150384649
	YDB_ERR_REPLBACKLOG           = -150384658
	YDB_ERR_INVSHUTDOWN           = -150384666
	YDB_ERR_SOCKBLOCKERR          = -150384674
	YDB_ERR_SOCKWAITARG           = -150384682
	YDB_ERR_LASTTRANS             = -150384691
	YDB_ERR_SRCBACKLOGSTATUS      = -150384699
	YDB_ERR_BKUPRETRY             = -150384707
	YDB_ERR_BKUPPROGRESS          = -150384715
	YDB_ERR_BKUPFILEPERM          = -150384722
	YDB_ERR_AUDINITFAIL           = -150384730
	YDB_ERR_AUDCONNFAIL           = -150384738
	YDB_ERR_AUDLOGFAIL            = -150384746
	YDB_ERR_SOCKCLOSE             = -150384754
	YDB_ERR_QUERY2                = -151027722
	YDB_ERR_MIXIMAGE              = -151027730
	YDB_ERR_LIBYOTTAMISMTCH       = -151027738
	YDB_ERR_READONLYNOSTATS       = -151027746
	YDB_ERR_READONLYLKFAIL        = -151027754
	YDB_ERR_INVVARNAME            = -151027762
	YDB_ERR_PARAMINVALID          = -151027770
	YDB_ERR_INSUFFSUBS            = -151027778
	YDB_ERR_MINNRSUBSCRIPTS       = -151027786
	YDB_ERR_SUBSARRAYNULL         = -151027794
	YDB_ERR_FATALERROR1           = -151027804
	YDB_ERR_NAMECOUNT2HI          = -151027810
	YDB_ERR_INVNAMECOUNT          = -151027818
	YDB_ERR_FATALERROR2           = -151027828
	YDB_ERR_TIME2LONG             = -151027834
	YDB_ERR_VARNAME2LONG          = -151027842
	YDB_ERR_SIMPLEAPINEST         = -151027850
	YDB_ERR_CALLINTCOMMIT         = -151027858
	YDB_ERR_CALLINTROLLBACK       = -151027866
	YDB_ERR_TCPCONNTIMEOUT        = -151027874
	YDB_ERR_STDERRALREADYOPEN     = -151027882
	YDB_ERR_SETENVFAIL            = -151027890
	YDB_ERR_UNSETENVFAIL          = -151027898
	YDB_ERR_UNKNOWNSYSERR         = -151027906
	YDB_ERR_READLINEFILEPERM      = -151027912
	YDB_ERR_NODEEND               = -151027922
	YDB_ERR_READLINELONGLINE      = -151027928
	YDB_ERR_INVTPTRANS            = -151027938
	YDB_ERR_THREADEDAPINOTALLOWED = -151027946
	YDB_ERR_SIMPLEAPINOTALLOWED   = -151027954
	YDB_ERR_STAPIFORKEXEC         = -151027962
	YDB_ERR_INVVALUE              = -151027970
	YDB_ERR_INVZCONVERT           = -151027978
	YDB_ERR_ZYSQLNULLNOTVALID     = -151027986
	YDB_ERR_BOOLEXPRTOODEEP       = -151027994
	YDB_ERR_TPCALLBACKINVRETVAL   = -151028002
	YDB_ERR_INVMAINLANG           = -151028010
	YDB_ERR_WCSFLUFAILED          = -151028019
	YDB_ERR_WORDEXPFAILED         = -151028026
	YDB_ERR_TRANSREPLJNL1GB       = -151028034
	YDB_ERR_DEVPARPARSE           = -151028042
	YDB_ERR_SETZDIRTOOLONG        = -151028050
	YDB_ERR_UTF8NOTINSTALLED      = -151028058
	YDB_ERR_ISVUNSUPPORTED        = -151028066
	YDB_ERR_GVNUNSUPPORTED        = -151028074
	YDB_ERR_ISVSUBSCRIPTED        = -151028082
	YDB_ERR_ZBRKCNTNEGATIVE       = -151028090
	YDB_ERR_SECSHRPATHMAX         = -151028098
	YDB_ERR_MUTRUNCALREADY        = -151028107
	YDB_ERR_ARGSLONGLINE          = -151028112
	YDB_ERR_ZGBLDIRUNDEF          = -151028122
	YDB_ERR_SHEBANGMEXT           = -151028130

	YDB_TP_RESTART     = (YDB_INT_MAX - 1) /* 0x7ffffffe */
	YDB_TP_ROLLBACK    = (YDB_INT_MAX - 2) /* 0x7ffffffd */
	YDB_OK             = 0                 /* Successful return code */
	YDB_NOTOK          = (YDB_INT_MAX - 3) /* 0x7ffffffc */
	YDB_LOCK_TIMEOUT   = (YDB_INT_MAX - 4) /* 0x7ffffffb */
	YDB_DEFER_HANDLER  = (YDB_INT_MAX - 5) /* 0x7ffffffa - defer this signal handler (used in Go wrapper) */
	YDB_MAX_IDENT      = 31                /* Maximum size of global/local name (not including '^') */
	YDB_MAX_NAMES      = 35                /* Maximum number of variable names can be specified in a single ydb_*_s() call */
	YDB_MAX_STR        = (1 * 1024 * 1024) /* Maximum YottaDB string length */
	YDB_MAX_SUBS       = 31                /* Maximum subscripts currently supported */
	YDB_MAX_M_LINE_LEN = 32766
	YDB_MAX_PARMS      = 32   /* Maximum parameters to an M call (call-in) */
	YDB_MAX_ERRORMSG   = 1024 /* Maximum length of error message */

	YDB_MAX_TIME_NSEC = (uint64(0x7fffffff) * uint64(1000) * uint64(1000)) /* Max specified time in (long long) nanoseconds */

	YDB_DEL_TREE               = 1
	YDB_DEL_NODE               = 2
	YDB_SEVERITY_WARNING       = 0
	YDB_SEVERITY_SUCCESS       = 1
	YDB_SEVERITY_ERROR         = 2
	YDB_SEVERITY_INFORMATIONAL = 3
	YDB_SEVERITY_FATAL         = 4
	YDB_DATA_UNDEF             = 0
	YDB_DATA_VALUE_NODESC      = 1
	YDB_DATA_NOVALUE_DESC      = 10
	YDB_DATA_VALUE_DESC        = 11
	YDB_DATA_ERROR             = 0x7fffff00
	YDB_MAIN_LANG_C            = 0
	YDB_MAIN_LANG_GO           = 1
)
View Source
const (
	YDB_ERR_STRUCTUNALLOCD  = -151552010
	YDB_ERR_INVLKNMPAIRLIST = -151552018
	YDB_ERR_DBRNDWNBYPASS   = -151552026
	YDB_ERR_SIGACKTIMEOUT   = -151552034
	YDB_ERR_SIGGORTNTIMEOUT = -151552040
)

Global constants containing the error ids

View Source
const DefaultMaximumNormalExitWait time.Duration = 60 // wait in seconds

DefaultMaximumNormalExitWait is default/initial value for MaximumNormalExitWait

View Source
const DefaultMaximumPanicExitWait time.Duration = 3 // wait in seconds

DefaultMaximumPanicExitWait is default/initial value for MaximumPanicExitWait

View Source
const DefaultMaximumSigAckWait time.Duration = 10 // wait in seconds

DefaultMaximumSigAckWait is default/initial value for MaximumSigAckWait

View Source
const DefaultMaximumSigShutDownWait time.Duration = 5 // wait in seconds

DefaultMaximumSigShutDownWait is default/initial value for MaximumSigShutDownWait

View Source
const MinimumGoRelease string = "go1.18"

MinimumGoRelease - (string) Minimum version of Go to fully support this wrapper (including tests)

View Source
const MinimumYDBRelease string = "r1.34"

MinimumYDBRelease - (string) Minimum YottaDB release name required by this wrapper

View Source
const MinimumYDBReleaseMajor int = 1

MinimumYDBReleaseMajor - (int) Minimum major release number required by this wrapper of the linked YottaDB

View Source
const MinimumYDBReleaseMinor int = 34

MinimumYDBReleaseMinor - (int) Minimum minor release number required by this wrapper of the linked YottaDB

View Source
const NOTTP uint64 = 0

NOTTP contains the tptoken value to use when NOT in a TP transaction callback routine.

View Source
const WrapperRelease string = "v1.2.6"

WrapperRelease - (string) The Go wrapper release value for YottaDB SimpleAPI. Note the third piece of this version will be even for a production release and odd for a development release (branch develop). When released, depending on new content, either the third piece of the version will be bumped to an even value or the second piece of the version will be bumped by 1 and the third piece of the version set to 0. On rare occasions, we may bump the first piece of the version and zero the others when the changes are significant.

Variables

MaximumNormalExitWait is maximum wait for a normal shutdown when no system lock hang in Exit() is likely

MaximumPanicExitWait is the maximum wait when a panic caused by a signal has occured (unlikely able to run Exit()

MaximumSigAckWait is maximum wait for notify via acknowledgement channel that a notified signal handler is done handling the signal.

MaximumSigShutDownWait is maximum wait to close down signal handling goroutines (shouldn't take this long)

Functions

func CallMT added in v1.0.0

func CallMT(tptoken uint64, errstr *BufferT, retvallen uint32, rtnname string, rtnargs ...interface{}) (string, error)

CallMT allows calls to M with string arguments and an optional string return value if the called function returns one and a return value is described in the call-in definition. Else return is nil. This function differs from CallMDescT() in that the name of the routine is specified here and must always be looked up in the routine list. To avoid having two routines nearly identical, this routine is written to invoke CallMDescT().

func DataE

func DataE(tptoken uint64, errstr *BufferT, varname string, subary []string) (uint32, error)

DataE is a STAPI function to return $DATA() value for a given variable subscripted or not.

Matching DataST(), DataE() function wraps and returns the result of ydb_data_st(). In the event of an error, the return value is unspecified.

func DeleteE

func DeleteE(tptoken uint64, errstr *BufferT, deltype int, varname string, subary []string) error

DeleteE is a STAPI function to delete a node or a subtree (see DeleteST) given a deletion type and a varname/subscript set.

Matching DeleteST(), DeleteE() wraps ydb_delete_st() to delete a local or global variable node or (sub)tree, with a value of YDB_DEL_NODE for deltype specifying that only the node should be deleted, leaving the (sub)tree untouched, and a value of YDB_DEL_TREE specifying that the node as well as the(sub)tree are to be deleted.

func DeleteExclE

func DeleteExclE(tptoken uint64, errstr *BufferT, varnames []string) error

DeleteExclE is a STAPI function to do an exclusive delete by deleting all local variables except those root vars specified in the variable name array. If the varname array is empty, all local variables are deleted.

Matching DeleteExclST(), DeleteExclE() wraps ydb_delete_excl_st() to delete all local variables except those specified. In the event varnames has no elements (i.e.,[]string{}), DeleteExclE() deletes all local variables.

In the event that the number of variable names in varnames exceeds YDB_MAX_NAMES, the error return is ERRNAMECOUNT2HI. Otherwise, if ydb_delete_excl_st() returns an error, the function returns the error.

As M and Go application code cannot be mixed in the same process, the warning in ydb_delete_excl_s() does not apply.

func ErrorCode

func ErrorCode(err error) int

ErrorCode is a function used to find the error return code.

func Exit

func Exit() error

Exit is a function to drive YDB's exit handler in case of panic or other non-normal shutdown that bypasses atexit() that would normally drive the exit handler.

Note this function is guarded with a mutex and has a "exitRun" flag indicating it has been run. This is because we have seen the Exit() routine being run multiple times by multiple goroutines which causes hangs. So it is now controlled with a mutex and the already-been-here global flag "exitRun". Once this routine calls C.ydb_exit(), even if it gets stuck, the goroutine is still active so if the engine lock becomes available prior to process demise, this routine will wake up and complete the rundown

func IncrE

func IncrE(tptoken uint64, errstr *BufferT, incr, varname string, subary []string) (string, error)

IncrE is a STAPI function to increment the given value by the given amount and return the new value.

Matching IncrST(), IncrE() wraps ydb_incr_st() to atomically increment the referenced global or local variable node coerced to a number with incr coerced to a number, with the result stored in the node and returned by the function.

If ydb_incr_st() returns an error such as NUMOFLOW or INVSTRLEN, the function returns the error. Otherwise, it returns the incremented value of the node.

With a nil value for incr, the default increment is 1. Note that the value of the empty string coerced to an integer is zero.

func Init added in v1.2.0

func Init()

Init is a function to drive the initialization for this process. This is part wrapper initialization and part YottaDB runtime initialization. This routine is the exterior face of initialization.

func IsLittleEndian

func IsLittleEndian() bool

IsLittleEndian is a function to determine endianness. Exposed in case anyone else wants to know.

func LockDecrE

func LockDecrE(tptoken uint64, errstr *BufferT, varname string, subary []string) error

LockDecrE is a STAPI function to decrement the lock count of the given lock. When the count goes to 0, the lock is considered released.

Matching LockDecrST(), LockDecrE() wraps ydb_lock_decr_st() to decrement the count of the lock name referenced, releasing it if the count goes to zero or ignoring the invocation if the process does not hold the lock.

func LockE

func LockE(tptoken uint64, errstr *BufferT, timeoutNsec uint64, namesnsubs ...interface{}) error

LockE is a STAPI function whose purpose is to release all locks and then lock the locks designated. The variadic list is pairs of arguments with the first being a string containing the variable name and the second being a string array containing the subscripts, if any, for that variable (null list for no subscripts).

Matching LockST(), LockE() releases all lock resources currently held and then attempt to acquire the named lock resources referenced. If no lock resources are specified, it simply releases all lock resources currently held and returns.

interface{} is a series of pairs of varname string and subary []string parameters, where a null subary parameter ([]string{}) specifies the unsubscripted lock resource name.

If lock resources are specified, upon return, the process will have acquired all of the named lock resources or none of the named lock resources.

If timeoutNsec exceeds YDB_MAX_TIME_NSEC, the function returns with an error return of TIME2LONG. If the lock resource names exceeds the maximum number supported (currently eleven), the function returns a PARMOFLOW error. If namesubs is not a series of alternating string and []string parameters, the function returns the INVLKNMPAIRLIST error. If it is able to aquire the lock resource(s) within timeoutNsec nanoseconds, the function returns holding the lock resource(s); otherwise it returns LOCKTIMEOUT. If timeoutNsec is zero, the function makes exactly one attempt to acquire the lock resource(s).

func LockIncrE

func LockIncrE(tptoken uint64, errstr *BufferT, timeoutNsec uint64, varname string, subary []string) error

LockIncrE is a STAPI function to increase the lock count of a given node within the specified timeout in nanoseconds.

Matching LockIncrST(), LockIncrE() wraps ydb_lock_incr_st() to attempt to acquire the referenced lock resource name without releasing any locks the process already holds.

If the process already holds the named lock resource, the function increments its count and returns. If timeoutNsec exceeds YDB_MAX_TIME_NSEC, the function returns with an error return TIME2LONG. If it is able to aquire the lock resource within timeoutNsec nanoseconds, it returns holding the lock, otherwise it returns LOCKTIMEOUT. If timeoutNsec is zero, the function makes exactly one attempt to acquire the lock.

func LockST

func LockST(tptoken uint64, errstr *BufferT, timeoutNsec uint64, lockname ...*KeyT) error

LockST is a STAPI function that releases all existing locks then locks the supplied variadic list of lock keys.

func MessageT

func MessageT(tptoken uint64, errstr *BufferT, status int) (string, error)

MessageT is a STAPI utility function to return the error message (sans argument substitution) of a given error number.

func NewError

func NewError(tptoken uint64, errstr *BufferT, errnum int) error

NewError is a function to create a new YDBError and return it. Note that we use ydb_zstatus() instead of using (for example) GetE() to fetch $ZSTATUS because ydb_zstatus does not require a tptoken. This means that we don't need to pass tptoken to all the data access methods (For example, ValStr()).

func NodeNextE

func NodeNextE(tptoken uint64, errstr *BufferT, varname string, subary []string) ([]string, error)

NodeNextE is a STAPI function to return a string array of the subscripts that describe the next node.

Matching NodeNextST(), NodeNextE() wraps ydb_node_next_st() to facilitate depth first traversal of a local or global variable tree.

If there is a next node, it returns the subscripts of that next node. If the node is the last in the tree, the function returns the NODEEND error.

func NodePrevE

func NodePrevE(tptoken uint64, errstr *BufferT, varname string, subary []string) ([]string, error)

NodePrevE is a STAPI function to return a string array of the subscripts that describe the next node.

Matching NodePrevST(), NodePrevE() wraps ydb_node_previous_st() to facilitate reverse depth first traversal of a local or global variable tree.

If there is a previous node, it returns the subscripts of that previous node; an empty string array if that previous node is the root. If the node is the first in the tree, the function returns the NODEEND error.

func RegisterSignalNotify added in v1.2.0

func RegisterSignalNotify(sig syscall.Signal, notifyChan, ackChan chan bool, notifyWhen YDBHandlerFlag) error

RegisterSignalNotify is a function to request notification of a signal occurring on a supplied channel. Additionally, the user should respond to the same channel when they are done. To make sure this happens, the first step in the routine listening for the signal should be a defer statement that sends an acknowledgement back that handling is complete.

func ReleaseT

func ReleaseT(tptoken uint64, errstr *BufferT) (string, error)

ReleaseT is a STAPI utility function to return release information for the current underlying YottaDB version

func SetValE

func SetValE(tptoken uint64, errstr *BufferT, value, varname string, subary []string) error

SetValE is a STAPI function to set a value into the given node (varname and subscripts).

Matching SetValST(), at the referenced local or global variable node, or the intrinsic special variable, SetValE() wraps ydb_set_st() to set the value specified.

func SubNextE

func SubNextE(tptoken uint64, errstr *BufferT, varname string, subary []string) (string, error)

SubNextE is a STAPI function to return the next subscript at the current subscript level.

Matching SubNextST(), SubNextE() wraps ydb_subscript_next_st() to facilitate breadth-first traversal of a local or global variable sub-tree.

At the level of the last subscript, if there is a next subscript with a node and/or a subtree, it returns that subscript. If there is no next node or subtree at that level of the subtree, the function returns the NODEEND error.

In the special case where subary is the null array, SubNextE() returns the name of the next global or local variable, and the NODEEND error if varname is the last global or local variable.

func SubPrevE

func SubPrevE(tptoken uint64, errstr *BufferT, varname string, subary []string) (string, error)

SubPrevE is a STAPI function to return the previous subscript at the current subscript level.

Matching SubPrevST(), SubPrevE() wraps ydb_subscript_previous_st() to facilitate reverse breadth-first traversal of a local or global variable sub-tree.

At the level of the last subscript, if there is a previous subscript with a node and/or a subtree, it returns that subscript. If there is no previous node or subtree at that level of the subtree, the function returns the NODEEND error.

In the special case where subary is the null array SubNextE() returns the name of the previous global or local variable, and the NODEEND error if varname is the first global or local variable.

func TpE

func TpE(tptoken uint64, errstr *BufferT, tpfn func(uint64, *BufferT) int32, transid string, varnames []string) error

TpE is a Easy API function to drive transactions.

Using TpST(), TpE() wraps ydb_tp_st() to implement transaction processing.

Parameters:

tptoken - the token used to identify nested transaction; start with yottadb.NOTTP. tpfn - the closure which will be run during the transaction. This closure may get invoked multiple times if a

transaction fails for some reason (concurrent changes, for example), so should not change any data outside of
the database.

transid - See docs for ydb_tp_s() in the MLPG. varnames - a list of local YottaDB variables to reset should the transaction be restarted; if this is an array of 1 string

with a value of "*" all YDB local variables get reset after a TP_RESTART.

func UnRegisterSignalNotify added in v1.2.0

func UnRegisterSignalNotify(sig syscall.Signal) error

UnRegisterSignalNotify removes a notification request for the given signal. No error is raised if the signal did not already have a notification request in effect.

func ValE

func ValE(tptoken uint64, errstr *BufferT, varname string, subary []string) (string, error)

ValE is an STAPI function to return the value found for varname(subary...)

Matching ValST(), ValE() wraps ydb_get_st() to return the value at the referenced global or local variable node, or intrinsic special variable.

If ydb_get_s() returns an error such as GVUNDEF, INVSVN, LVUNDEF, the function returns the error. Otherwise, it returns the value at the node.

func YDBWrapperPanic added in v1.1.0

func YDBWrapperPanic(sigNum C.int)

YDBWrapperPanic is a function called from C code. The C code routine address is passed to YottaDB via the ydb_main_lang_init() call in the below initializeYottaDB() call and is called by YottaDB when it has completed processing a deferred fatal signal and needs to exit in a "Go-ish" manner. The parameter determines the type of panic that gets raised.

Types

type BufferT

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

BufferT is a Go structure that serves as an anchor point for a C allocated ydb_buffer_t structure used to call the YottaDB C Simple APIs. Because this structure's contents contain pointers to C allocated storage, this structure is NOT safe for concurrent access.

func (*BufferT) Alloc

func (buft *BufferT) Alloc(nBytes uint32)

Alloc is a method to allocate the ydb_buffer_t C storage and allocate or re-allocate the buffer pointed to by that struct.

It allocates a buffer in YottaDB heap space of size nBytes; and a C.ydb_buffer_t structure, also in YottaDB heap space, with its buf_addr referencing the buffer, its len_alloc set to nBytes and its len_used set to zero. Set cbuft in the BufferT structure to reference the C.ydb_buffer_t structure.

func (*BufferT) Dump

func (buft *BufferT) Dump()

Dump is a method to dump the contents of a BufferT block for debugging purposes.

For debugging purposes, dump on stdout:

- cbuft as a hexadecimal address;

- for the C.ydb_buffer_t structure referenced by cbuft: buf_addr as a hexadecimal address, and len_alloc and len_used as integers; and

- at the address buf_addr, the lower of len_used or len_alloc bytes in zwrite format.

func (*BufferT) DumpToWriter

func (buft *BufferT) DumpToWriter(writer io.Writer)

DumpToWriter dumps a textual representation of this buffer to the writer

func (*BufferT) Free

func (buft *BufferT) Free()

Free is a method to release both the buffer and ydb_buffer_t block associated with the BufferT block.

The inverse of the Alloc() method: release the buffer in YottaDB heap space referenced by the C.ydb_buffer_t structure, release the C.ydb_buffer_t, and set cbuft in the BufferT structure to nil.

func (*BufferT) LenAlloc

func (buft *BufferT) LenAlloc(tptoken uint64, errstr *BufferT) (uint32, error)

LenAlloc is a method to fetch the ydb_buffer_t.len_alloc field containing the allocated length of the buffer.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. Otherwise, return the len_alloc field of the C.ydb_buffer_t structure referenced by cbuft.

func (*BufferT) LenUsed

func (buft *BufferT) LenUsed(tptoken uint64, errstr *BufferT) (uint32, error)

LenUsed is a method to fetch the ydb_buffer_t.len_used field containing the used length of the buffer. Note that if len_used > len_alloc, thus indicating a previous issue, an INVSTRLEN error is raised.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. Otherwise, return the len_used field of the C.ydb_buffer_t structure referenced by cbuft.

func (*BufferT) SetLenUsed

func (buft *BufferT) SetLenUsed(tptoken uint64, errstr *BufferT, newLen uint32) error

SetLenUsed is a method to set the used length of buffer in the ydb_buffer_t block (must be <= alloclen).

Use this method to change the length of a used substring of the contents of the buffer referenced by the buf_addr field of the referenced C.ydb_buffer_t.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If newLen is greater than the len_alloc field of the referenced C.ydb_buffer_t, make no changes and return with an error return of INVSTRLEN. Otherwise, set the len_used field of the referenced C.ydb_buffer_t to newLen.

Note that even if newLen is not greater than the value of len_alloc, setting a len_used value greater than the number of meaningful bytes in the buffer will likely lead to hard-to-debug errors.

func (*BufferT) SetValBAry

func (buft *BufferT) SetValBAry(tptoken uint64, errstr *BufferT, value []byte) error

SetValBAry is a method to set a []byte array into the given buffer.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If the length of value is greater than the len_alloc field of the C.ydb_buffer_t structure referenced by cbuft, make no changes and return INVSTRLEN. Otherwise, copy the bytes of value to the location referenced by the buf_addr field of the C.ydbbuffer_t structure, set the len_used field to the length of value.

func (*BufferT) SetValStr

func (buft *BufferT) SetValStr(tptoken uint64, errstr *BufferT, value string) error

SetValStr is a method to set a string into the given buffer.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If the length of value is greater than the len_alloc field of the C.ydb_buffer_t structure referenced by cbuft, make no changes and return INVSTRLEN. Otherwise, copy the bytes of value to the location referenced by the buf_addr field of the C.ydbbuffer_t structure, set the len_used field to the length of value.

func (*BufferT) Str2ZwrST

func (buft *BufferT) Str2ZwrST(tptoken uint64, errstr *BufferT, zwr *BufferT) error

Str2ZwrST is a STAPI method to take the given string and return it in ZWRITE format.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If len_alloc is not large enough, set len_used to the required length, and return an INVSTRLEN error. In this case, len_used will be greater than len_alloc until corrected by application code. Otherwise, set the buffer referenced by buf_addr to the zwrite format string, and set len_used to the length.

func (*BufferT) ValBAry

func (buft *BufferT) ValBAry(tptoken uint64, errstr *BufferT) ([]byte, error)

ValBAry is a method to fetch the buffer contents as a byte array.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If the len_used field of the C.ydb_buffer_t structure is greater than its len_alloc field (owing to a prior INVSTRLEN error), return an INVSTRLEN error. Otherwise, return len_used bytes of the buffer as a byte array.

func (*BufferT) ValStr

func (buft *BufferT) ValStr(tptoken uint64, errstr *BufferT) (string, error)

ValStr is a method to fetch the buffer contents as a string.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If the len_used field of the C.ydb_buffer_t structure is greater than its len_alloc field (owing to a prior INVSTRLEN error), return an INVSTRLEN error. Otherwise, return len_used bytes of the buffer as a string.

func (*BufferT) Zwr2StrST

func (buft *BufferT) Zwr2StrST(tptoken uint64, errstr *BufferT, str *BufferT) error

Zwr2StrST is a STAPI method to take the given ZWRITE format string and return it as a normal ASCII string.

If the C.ydb_buffer_t structure referenced by cbuft has not yet been allocated, return the STRUCTUNALLOCD error. If len_alloc is not large enough, set len_used to the required length, and return an INVSTRLEN error. In this case, len_used will be greater than len_alloc until corrected by application code. If str has errors and is not in valid zwrite format, set len_used to zero, and return the error code returned by ydb_zwr2str_s() e.g., INVZWRITECHAR. Otherwise, set the buffer referenced by buf_addr to the unencoded string, set len_used to the length.

Note that the length of a string in zwrite format is always greater than or equal to the string in its original, unencoded format.

type BufferTArray

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

BufferTArray is an array of ydb_buffer_t structures. The reason this is not an array of BufferT structures is because we can't pass a pointer to those Go structures to a C routine (cgo restriction) so we have to have this separate array of the C structures instead. Also, cgo doesn't support indexing of C structures so we have to do that ourselves as well. Because this structure's contents contain pointers to C allocated storage, this structure is NOT safe for concurrent access unless those accesses are to different array elements and do not affect the overall structure.

func (*BufferTArray) Alloc

func (buftary *BufferTArray) Alloc(numBufs, nBytes uint32)

Alloc is a method to allocate an array of 'numBufs' ydb_buffer_t structures anchored in this BufferTArray and also for each of those buffers, allocate 'nBytes' byte buffers anchoring them in the ydb_buffer_t structure.

func (*BufferTArray) DeleteExclST

func (buftary *BufferTArray) DeleteExclST(tptoken uint64, errstr *BufferT) error

DeleteExclST is a method to delete all local variables EXCEPT the variables listed in the method BufferTArray. If the input array is empty, then ALL local variables are deleted. DeleteExclST() wraps ydb_delete_excl_st() to delete all local variable trees except those of local variables whose names are specified in the BufferTArray structure. In the special case where elemUsed is zero, the method deletes all local variable trees.

In the event that the elemUsed exceeds YDB_MAX_NAMES, the error return is ERRNAMECOUNT2HI.

As M and Go application code cannot be mixed in the same process, the warning in ydb_delete_excl_s() does not apply.

func (*BufferTArray) Dump

func (buftary *BufferTArray) Dump()

Dump is a STAPI method to dump (print) the contents of this BufferTArray block for debugging purposes. It dumps to stdout

  • cbuftary as a hexadecimal address,
  • elemAlloc and elemUsed as integers,
  • and for each element of the smaller of elemAlloc and elemUsed elements of the ydb_buffer_t array referenced by cbuftary, buf_addr as a hexadecimal address, len_alloc and len_used as integers and the smaller of len_used and len_alloc bytes at the address buf_addr in zwrite format.

func (*BufferTArray) DumpToWriter

func (buftary *BufferTArray) DumpToWriter(writer io.Writer)

DumpToWriter is a writer that allows the tests or user code to dump to other than stdout.

func (*BufferTArray) ElemAlloc

func (buftary *BufferTArray) ElemAlloc() uint32

ElemAlloc is a method to return elemAlloc from a BufferTArray.

func (*BufferTArray) ElemLenAlloc

func (buftary *BufferTArray) ElemLenAlloc() uint32

ElemLenAlloc is a method to retrieve the buffer allocation length associated with our BufferTArray. Since all buffers are the same size in this array, just return the value from the first array entry. If nothing is allocated yet, return 0.

func (*BufferTArray) ElemLenUsed

func (buftary *BufferTArray) ElemLenUsed(tptoken uint64, errstr *BufferT, idx uint32) (uint32, error)

ElemLenUsed is a method to retrieve the buffer used length associated with a given buffer referenced by its index.

func (*BufferTArray) ElemUsed

func (buftary *BufferTArray) ElemUsed() uint32

ElemUsed is a method to return elemUsed from a BufferTArray.

func (*BufferTArray) Free

func (buftary *BufferTArray) Free()

Free is a method to release all allocated C storage in a BufferTArray. It is the inverse of the Alloc() method: release the numSubs buffers and the ydb_buffer_t array. Set cbuftary to nil, and elemAlloc and elemUsed to zero.

func (*BufferTArray) SetElemLenUsed

func (buftary *BufferTArray) SetElemLenUsed(tptoken uint64, errstr *BufferT, idx, newLen uint32) error

SetElemLenUsed is a method to set the len_used field of a given ydb_buffer_t struct in the BufferTArray.

func (*BufferTArray) SetElemUsed

func (buftary *BufferTArray) SetElemUsed(tptoken uint64, errstr *BufferT, newUsed uint32) error

SetElemUsed is a method to set the number of used buffers in the BufferTArray.

func (*BufferTArray) SetValBAry

func (buftary *BufferTArray) SetValBAry(tptoken uint64, errstr *BufferT, idx uint32, value []byte) error

SetValBAry is a method to set a byte array (value) into the buffer at the given index (idx).

func (*BufferTArray) SetValStr

func (buftary *BufferTArray) SetValStr(tptoken uint64, errstr *BufferT, idx uint32, value string) error

SetValStr is a method to set a string (value) into the buffer at the given index (idx).

func (*BufferTArray) TpST

func (buftary *BufferTArray) TpST(tptoken uint64, errstr *BufferT, tpfn func(uint64, *BufferT) int32, transid string) error

TpST wraps ydb_tp_st() to implement transaction processing.

Any function implementing logic for a transaction should return an error code with one of the following:

- A normal return (nil) to indicate that per application logic, the transaction can be committed. The YottaDB database engine will commit the transaction if it is able to, and if not, will call the function again.

- TPRESTART to indicate that the transaction should restart, either because application logic has so determined or because a YottaDB function called by the function has returned TPRESTART.

- ROLLBACK to indicate that TpST() should not commit the transaction, and should return ROLLBACK to the caller.

The BufferTArray receiving the TpST() method is a list of local variables whose values should be saved, and restored to their original values when the transaction restarts. If the cbuftary structures have not been allocated or elemUsed is zero, no local variables are saved and restored; and if elemUsed is 1, and that sole element references the string "*" all local variables are saved and restored.

A case-insensitive value of "BA" or "BATCH" for transid indicates to YottaDB that it need not ensure Durability for this transaction (it continues to ensure Atomicity, Consistency, and Isolation)

Parameters:

tptoken - the token used to identify nested transaction; start with yottadb.NOTTP errstr - Buffer to hold error string that is used to report errors and avoid race conditions with setting $ZSTATUS. tpfn - the closure function which will be run during the transaction. This closure function may get invoked multiple times

if a transaction fails for some reason (concurrent changes, for example), so should not change any data outside of
the database.

transid - See docs for ydb_tp_s() in the MLPG.

func (*BufferTArray) ValBAry

func (buftary *BufferTArray) ValBAry(tptoken uint64, errstr *BufferT, idx uint32) ([]byte, error)

ValBAry is a method to fetch the buffer of the indicated array element and return it as a byte array.

func (*BufferTArray) ValStr

func (buftary *BufferTArray) ValStr(tptoken uint64, errstr *BufferT, idx uint32) (string, error)

ValStr is a method to fetch the buffer of the indicated array element and return it as a string.

type CallMDesc added in v1.0.0

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

CallMDesc is a struct that (ultimately) serves as an anchor point for the C call-in routine descriptor used by CallMDescT() that provides for less call-overhead than CallMT() as the descriptor contains fastpath information filled in by YottaDB after the first call so subsequent calls have minimal overhead. Because this structure's contents contain pointers to C allocated storage, this structure is NOT safe for concurrent access.

func (*CallMDesc) CallMDescT added in v1.0.0

func (mdesc *CallMDesc) CallMDescT(tptoken uint64, errstr *BufferT, retvallen uint32, rtnargs ...interface{}) (string, error)

CallMDescT allows calls to M with string arguments and an optional string return value if the called function returns one and a return value is described in the call-in definition. Else return is nil.

func (*CallMDesc) Free added in v1.0.0

func (mdesc *CallMDesc) Free()

Free is a method to release both the routine name buffer and the descriptor block associated with the CallMDesc block.

func (*CallMDesc) SetRtnName added in v1.0.0

func (mdesc *CallMDesc) SetRtnName(rtnname string)

SetRtnName is a method for CallMDesc that sets the routine name into the descriptor.

type CallMTable added in v1.0.0

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

CallMTable is a struct that defines a call table (see https://docs.yottadb.com/ProgrammersGuide/extrout.html#calls-from-external-routines-call-ins). The methods associated with this struct allow call tables to be opened and to switch between them to give access to routines in multiple call tables.

func CallMTableOpenT added in v1.0.0

func CallMTableOpenT(tptoken uint64, errstr *BufferT, tablename string) (*CallMTable, error)

CallMTableOpenT function opens a new call table or one for which the process had no handle and returns a CallMTable for it.

func (*CallMTable) CallMTableSwitchT added in v1.0.0

func (newcmtable *CallMTable) CallMTableSwitchT(tptoken uint64, errstr *BufferT) (*CallMTable, error)

CallMTableSwitchT method switches whatever the current call table is (only one active at a time) with the supplied call table and returns the call table that was in effect (or nil if none).

type KeyT

type KeyT struct {
	Varnm  *BufferT
	Subary *BufferTArray
}

KeyT defines a database key including varname and optional subscripts. Because this structure's contents contain pointers to C allocated storage, this structure is NOT safe for concurrent access.

func (*KeyT) Alloc

func (key *KeyT) Alloc(varSiz, numSubs, subSiz uint32)

Alloc is a STAPI method to allocate both pieces of the KeyT according to the supplied parameters.

Invoke Varnm.Alloc(varSiz) and SubAry.Alloc(numSubs, subSiz)

Parameters:

varSiz  - Length of buffer for varname (current var max is 31).
numSubs - Number of subscripts to supply (current subscript max is 31).
subSiz  - Length of the buffers for subscript values.

func (*KeyT) DataST

func (key *KeyT) DataST(tptoken uint64, errstr *BufferT) (uint32, error)

DataST is a STAPI method to determine the status of a given node and its successors.

Matching DataE(), DataST() returns the result of ydb_data_st(). In the event an error is returned, the return value is unspecified.

func (*KeyT) DeleteST

func (key *KeyT) DeleteST(tptoken uint64, errstr *BufferT, deltype int) error

DeleteST is a STAPI method to delete a node and perhaps its successors depending on the value of deltype.

Matching DeleteE(), DeleteST() wraps ydb_delete_st() to delete a local or global variable node or (sub)tree, with a value of YDB_DEL_NODE for deltype specifying that only the node should be deleted, leaving the (sub)tree untouched, and a value of YDB_DEL_TREE specifying that the node as well as the (sub)tree are to be deleted.

func (*KeyT) Dump

func (key *KeyT) Dump()

Dump is a STAPI method to dump the contents of the KeyT structure.

Invoke Varnm.Dump() and SubAry.Dump().

func (*KeyT) DumpToWriter

func (key *KeyT) DumpToWriter(writer io.Writer)

DumpToWriter dumps a textual representation of this key to the writer.

func (*KeyT) Free

func (key *KeyT) Free()

Free is a STAPI method to free both pieces of the KeyT structure.

Invoke Varnm.Free() and SubAry.Free().

func (*KeyT) IncrST

func (key *KeyT) IncrST(tptoken uint64, errstr *BufferT, incr, retval *BufferT) error

IncrST is a STAPI method to increment a given node and return the new value.

Matching IncrE(), IncrST() wraps ydb_incr_st() to atomically increment the referenced global or local variable node coerced to a number, with incr coerced to a number. It stores the result in the node and also returns it through the BufferT structure referenced by retval.

If ydb_incr_st() returns an error such as NUMOFLOW, INVSTRLEN, the method makes no changes to the structures under retval and returns the error. If the length of the data to be returned exceeds retval.lenAlloc, the method sets the len_used of the C.ydb_buffer_t referenced by retval to the required length, and returns an INVSTRLEN error. Otherwise, it copies the data to the buffer referenced by the retval.buf_addr, sets retval.lenUsed to its length.

With a nil value for incr, the default increment is 1. Note that the value of the empty string coerced to an integer is zero.

func (*KeyT) LockDecrST

func (key *KeyT) LockDecrST(tptoken uint64, errstr *BufferT) error

LockDecrST is a STAPI method to decrement the lock-count of a given lock node.

Matching LockDecrE(), LockDecrST() wraps ydb_lock_decr_st() to decrement the count of the lock name referenced, releasing it if the count goes to zero or ignoring the invocation if the process does not hold the lock.

func (*KeyT) LockIncrST

func (key *KeyT) LockIncrST(tptoken uint64, errstr *BufferT, timeoutNsec uint64) error

LockIncrST is a STAPI method to increment the lock-count of a given node lock with the given timeout in nano-seconds.

Matching LockIncrE(), LockIncrST() wraps ydb_lock_incr_st() to attempt to acquire the referenced lock resource name without releasing any locks the process already holds.

If the process already holds the named lock resource, the method increments its count and returns. If timeoutNsec exceeds YDB_MAX_TIME_NSEC, the method returns with an error return TIME2LONG. If it is able to aquire the lock resource within timeoutNsec nanoseconds, it returns holding the lock, otherwise it returns LOCK_TIMEOUT. If timeoutNsec is zero, the method makes exactly one attempt to acquire the lock.

func (*KeyT) NodeNextST

func (key *KeyT) NodeNextST(tptoken uint64, errstr *BufferT, next *BufferTArray) error

NodeNextST is a STAPI method to return the next subscripted node for the given global - the node logically following the specified node (returns *BufferTArray).

Matching NodeNextE(), NodeNextST() wraps ydb_node_next_st() to facilitate depth first traversal of a local or global variable tree.

If there is a next node:

If the number of subscripts of that next node exceeds next.elemAlloc, the method sets next.elemUsed to the number of subscripts required, and returns an INSUFFSUBS error. In this case the elemUsed is greater than elemAlloc. If one of the C.ydb_buffer_t structures referenced by next (call the first or only element n) has insufficient space for the corresponding subscript, the method sets next.elemUsed to n, and the len_alloc of that C.ydb_buffer_t structure to the actual space required. The method returns an INVSTRLEN error. In this case the len_used of that structure is greater than its len_alloc. Otherwise, it sets the structure next to reference the subscripts of that next node, and next.elemUsed to the number of subscripts.

If the node is the last in the tree, the method returns the NODEEND error, making no changes to the structures below next.

func (*KeyT) NodePrevST

func (key *KeyT) NodePrevST(tptoken uint64, errstr *BufferT, prev *BufferTArray) error

NodePrevST is a STAPI method to return the previous subscripted node for the given global - the node logically previous to the specified node (returns *BufferTArray).

Matching NodePrevE(), NodePrevST() wraps ydb_node_previous_st() to facilitate reverse depth first traversal of a local or global variable tree.

If there is a previous node:

If the number of subscripts of that previous node exceeds prev.elemAlloc, the method sets prev.elemUsed to the number of subscripts required, and returns an INSUFFSUBS error. In this case the elemUsed is greater than elemAlloc. If one of the C.ydb_buffer_t structures referenced by prev (call the first or only element n) has insufficient space for the corresponding subscript, the method sets prev.elemUsed to n, and the len_alloc of that C.ydb_buffer_t structure to the actual space required. The method returns an INVSTRLEN error. In this case the len_used of that structure is greater than its len_alloc. Otherwise, it sets the structure prev to reference the subscripts of that prev node, and prev.elemUsed to the number of subscripts.

If the node is the first in the tree, the method returns the NODEEND error making no changes to the structures below prev.

func (*KeyT) SetValST

func (key *KeyT) SetValST(tptoken uint64, errstr *BufferT, value *BufferT) error

SetValST is a STAPI method to set the given value into the given node (glvn or SVN).

Matching SetE(), at the referenced local or global variable node, or the intrinsic special variable, SetValST() wraps ydb_set_st() to set the value specified by val.

func (*KeyT) SubNextST

func (key *KeyT) SubNextST(tptoken uint64, errstr *BufferT, retval *BufferT) error

SubNextST is a STAPI method to return the next subscript following the specified node.

Matching SubNextE(), SubNextST() wraps ydb_subscript_next_st() to facilitate breadth-first traversal of a local or global variable sub-tree.

At the level of the last subscript, if there is a next subscript with a node and/or a subtree:

If the length of that next subscript exceeds sub.len_alloc, the method sets sub.len_used to the actual length of that subscript, and returns an INVSTRLEN error. In this case sub.len_used is greater than sub.len_alloc. Otherwise, it copies that subscript to the buffer referenced by sub.buf_addr, and sets sub.len_used to its length.

If there is no next node or subtree at that level of the subtree, the method returns the NODEEND error.

func (*KeyT) SubPrevST

func (key *KeyT) SubPrevST(tptoken uint64, errstr *BufferT, retval *BufferT) error

SubPrevST is a STAPI method to return the previous subscript following the specified node.

SubPrevST() wraps ydb_subscript_previous_st() to facilitate reverse breadth-first traversal of a local or global variable sub-tree.

At the level of the last subscript, if there is a previous subscript with a node and/or a subtree:

If the length of that previous subscript exceeds sub.len_alloc, the method sets sub.len_used to the actual length of that subscript, and returns an INVSTRLEN error. In this case sub.len_used is greater than sub.len_alloc. Otherwise, it copies that subscript to the buffer referenced by sub.buf_addr, and sets buf.len_used to its length.

If there is no previous node or subtree at that level of the subtree, the method returns the NODEEND error.

func (*KeyT) ValST

func (key *KeyT) ValST(tptoken uint64, errstr *BufferT, retval *BufferT) error

ValST is a STAPI method to fetch the given node returning its value in retval.

Matching ValE(), ValST() wraps ydb_get_st() to return the value at the referenced global or local variable node, or intrinsic special variable, in the buffer referenced by the BufferT structure referenced by retval.

If ydb_get_st() returns an error such as GVUNDEF, INVSVN, LVUNDEF, the method makes no changes to the structures under retval and returns the error. If the length of the data to be returned exceeds retval.getLenAlloc(), the method sets the len_used` of the C.ydb_buffer_t referenced by retval to the required length, and returns an INVSTRLEN error. Otherwise, it copies the data to the buffer referenced by the retval.buf_addr, and sets retval.lenUsed to its length.

type YDBError

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

YDBError is a structure that defines the error message format which includes both the formated $ZSTATUS type message and the numeric error value.

func (*YDBError) Error

func (err *YDBError) Error() string

Error is a method to return the expected error message string.

type YDBHandlerFlag added in v1.2.0

type YDBHandlerFlag int

YDBHandlerFlag type is the flag type passed to yottadb.RegisterSignalNotify() to indicate when or if the driver should run the YottaDB signal handler.

const (
	// NotifyBeforeYDBSigHandler - Request sending notification BEFORE running YDB signal handler
	NotifyBeforeYDBSigHandler YDBHandlerFlag = iota + 1
	// NotifyAfterYDBSigHandler - Request sending notification AFTER running YDB signal handler
	NotifyAfterYDBSigHandler
	// NotifyAsyncYDBSigHandler - Notify user and run YDB handler simultaneously (non-fatal signals only)
	NotifyAsyncYDBSigHandler
	// NotifyInsteadOfYDBSigHandler - Do the signal notification but do NOT drive the YDB handler
	NotifyInsteadOfYDBSigHandler
)

Use iota to get enum like auto values starting at 1

Directories

Path Synopsis
internal
israce
Package israce reports if the Go race detector is enabled.
Package israce reports if the Go race detector is enabled.

Jump to

Keyboard shortcuts

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