当前位置: 首页>>代码示例>>Golang>>正文


Golang C.uword函数代码示例

本文整理汇总了Golang中C.uword函数的典型用法代码示例。如果您正苦于以下问题:Golang uword函数的具体用法?Golang uword怎么用?Golang uword使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了uword函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: value

func (def *defFloat32) value() (value interface{}, err error) {
	if def.isNullable {
		oraFloat32Value := Float32{IsNull: def.null < C.sb2(0)}
		if !oraFloat32Value.IsNull {
			var float32Value float32
			r := C.OCINumberToReal(
				def.rset.stmt.ses.srv.env.ocierr,       //OCIError              *err,
				&def.ociNumber,                         //const OCINumber     *number,
				C.uword(4),                             //uword               rsl_length,
				unsafe.Pointer(&oraFloat32Value.Value)) //void                *rsl );
			if r == C.OCI_ERROR {
				err = def.rset.stmt.ses.srv.env.ociError()
			}
			value = float32Value
		}
		value = oraFloat32Value
	} else {
		if def.null > C.sb2(-1) {
			var float32Value float32
			r := C.OCINumberToReal(
				def.rset.stmt.ses.srv.env.ocierr, //OCIError              *err,
				&def.ociNumber,                   //const OCINumber     *number,
				C.uword(4),                       //uword               rsl_length,
				unsafe.Pointer(&float32Value))    //void                *rsl );
			if r == C.OCI_ERROR {
				err = def.rset.stmt.ses.srv.env.ociError()
			}
			value = float32Value
		}
	}
	return value, err
}
开发者ID:optimuse,项目名称:ora,代码行数:32,代码来源:defFloat32.go

示例2: value

func (def *defUint64) value() (value interface{}, err error) {
	if def.isNullable {
		oraUint64Value := Uint64{IsNull: def.null < C.sb2(0)}
		if !oraUint64Value.IsNull {
			r := C.OCINumberToInt(
				def.rset.stmt.ses.srv.env.ocierr,      //OCIError              *err,
				&def.ociNumber,                        //const OCINumber       *number,
				C.uword(8),                            //uword                 rsl_length,
				C.OCI_NUMBER_UNSIGNED,                 //uword                 rsl_flag,
				unsafe.Pointer(&oraUint64Value.Value)) //void                  *rsl );
			if r == C.OCI_ERROR {
				err = def.rset.stmt.ses.srv.env.ociError()
			}
		}
		value = oraUint64Value
	} else {
		if def.null > C.sb2(-1) {
			var uint64Value uint64
			r := C.OCINumberToInt(
				def.rset.stmt.ses.srv.env.ocierr, //OCIError              *err,
				&def.ociNumber,                   //const OCINumber       *number,
				C.uword(8),                       //uword                 rsl_length,
				C.OCI_NUMBER_UNSIGNED,            //uword                 rsl_flag,
				unsafe.Pointer(&uint64Value))     //void                  *rsl );
			if r == C.OCI_ERROR {
				err = def.rset.stmt.ses.srv.env.ociError()
			}
			value = uint64Value
		}
	}
	return value, err
}
开发者ID:optimuse,项目名称:ora,代码行数:32,代码来源:defUint64.go

示例3: StartTx

// StartTx starts an Oracle transaction returning a *Tx and possible error.
func (ses *Ses) StartTx() (tx *Tx, err error) {
	ses.mu.Lock()
	defer ses.mu.Unlock()
	ses.log(_drv.cfg.Log.Ses.StartTx)
	err = ses.checkClosed()
	if err != nil {
		return nil, errE(err)
	}
	// start transaction
	// the number of seconds the transaction can be inactive
	// before it is automatically terminated by the system.
	// TODO: add timeout config value
	var timeout C.uword = C.uword(60)
	r := C.OCITransStart(
		ses.srv.ocisvcctx,  //OCISvcCtx    *svchp,
		ses.srv.env.ocierr, //OCIError     *errhp,
		timeout,            //uword        timeout,
		C.OCI_TRANS_NEW)    //ub4          flags );
	if r == C.OCI_ERROR {
		return nil, errE(ses.srv.env.ociError())
	}
	tx = _drv.txPool.Get().(*Tx) // set *Tx
	tx.ses = ses
	if tx.id == 0 {
		tx.id = _drv.txId.nextId()
	}
	ses.openTxs.add(tx)

	return tx, nil
}
开发者ID:rjammala,项目名称:ora,代码行数:31,代码来源:ses.go

示例4: numberFromInt

func (env *Environment) numberFromInt(value int64, dst unsafe.Pointer) error {
	return env.CheckStatus(
		C.OCINumberFromInt(env.errorHandle, unsafe.Pointer(&value),
			C.uword(unsafe.Sizeof(value)), C.OCI_NUMBER_SIGNED,
			(*C.OCINumber)(dst)),
		"numberFromInt")
}
开发者ID:rjammala,项目名称:goracle,代码行数:7,代码来源:numbervar.go

示例5: setPtr

func (bnd *bndFloat64Ptr) setPtr() error {
	if bnd.isNull > C.sb2(-1) {
		r := C.OCINumberToReal(
			bnd.stmt.ses.srv.env.ocierr, //OCIError              *err,
			&bnd.ociNumber,              //const OCINumber     *number,
			C.uword(8),                  //uword               rsl_length,
			unsafe.Pointer(bnd.value))   //void                *rsl );
		if r == C.OCI_ERROR {
			return bnd.stmt.ses.srv.env.ociError()
		}
	}
	return nil
}
开发者ID:ricsmania,项目名称:ora,代码行数:13,代码来源:bndFloat64Ptr.go

示例6: setPtr

func (bnd *bndUint16Ptr) setPtr() error {
	if bnd.isNull > C.sb2(-1) {
		r := C.OCINumberToInt(
			bnd.stmt.ses.srv.env.ocierr, //OCIError              *err,
			&bnd.ociNumber,              //const OCINumber       *number,
			C.uword(2),                  //uword                 rsl_length,
			C.OCI_NUMBER_UNSIGNED,       //uword                 rsl_flag,
			unsafe.Pointer(bnd.value))   //void                  *rsl );
		if r == C.OCI_ERROR {
			return bnd.stmt.ses.srv.env.ociError()
		}
	}
	return nil
}
开发者ID:ricsmania,项目名称:ora,代码行数:14,代码来源:bndUint16Ptr.go

示例7: setPtr

func (bnd *bndInt32Ptr) setPtr() error {
	if bnd.isNull > C.sb2(-1) {
		r := C.OCINumberToInt(
			bnd.stmt.ses.srv.env.ocierr, //OCIError              *err,
			&bnd.ociNumber,              //const OCINumber       *number,
			C.uword(4),                  //uword                 rsl_length,
			C.OCI_NUMBER_SIGNED,         //uword                 rsl_flag,
			unsafe.Pointer(bnd.value))   //void                  *rsl );
		if r == C.OCI_ERROR {
			return bnd.stmt.ses.srv.env.ociError()
		}
		bnd.stmt.logF(_drv.cfg.Log.Stmt.Bind,
			"Int32Ptr.setPtr number=%#v => value=%d", bnd.ociNumber, *bnd.value)
	}
	return nil
}
开发者ID:ricsmania,项目名称:ora,代码行数:16,代码来源:bndInt32Ptr.go

示例8: numberFromFloat

func (env *Environment) numberFromFloat(value float64, dst unsafe.Pointer) error {
	return env.CheckStatus(
		C.OCINumberFromReal(env.errorHandle, unsafe.Pointer(&value),
			C.uword(unsafe.Sizeof(value)), (*C.OCINumber)(dst)),
		"numberFromReal")
}
开发者ID:rjammala,项目名称:goracle,代码行数:6,代码来源:numbervar.go


注:本文中的C.uword函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。