datetime

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2022 License: BSD-2-Clause Imports: 4 Imported by: 2

Documentation

Overview

Package with support of Tarantool's datetime data type.

Datetime data type supported in Tarantool since 2.10.

Since: 1.7.0

See also:

* Datetime Internals https://github.com/tarantool/tarantool/wiki/Datetime-Internals

Example

Example demonstrates how to use tuples with datetime. To enable support of datetime import tarantool/datetime package.

opts := tarantool.Opts{
	User: "test",
	Pass: "test",
}
conn, err := tarantool.Connect("127.0.0.1:3013", opts)
if err != nil {
	fmt.Printf("error in connect is %v", err)
	return
}

var datetime = "2013-10-28T17:51:56.000000009Z"
tm, err := time.Parse(time.RFC3339, datetime)
if err != nil {
	fmt.Printf("error in time.Parse() is %v", err)
	return
}
dt, err := NewDatetime(tm)
if err != nil {
	fmt.Printf("Unable to create Datetime from %s: %s", tm, err)
	return
}

space := "testDatetime_1"
index := "primary"

// Replace a tuple with datetime.
resp, err := conn.Replace(space, []interface{}{dt})
if err != nil {
	fmt.Printf("error in replace is %v", err)
	return
}
respDt := resp.Data[0].([]interface{})[0].(Datetime)
fmt.Println("Datetime tuple replace")
fmt.Printf("Code: %d\n", resp.Code)
fmt.Printf("Data: %v\n", respDt.ToTime())

// Select a tuple with datetime.
var offset uint32 = 0
var limit uint32 = 1
resp, err = conn.Select(space, index, offset, limit, tarantool.IterEq, []interface{}{dt})
if err != nil {
	fmt.Printf("error in select is %v", err)
	return
}
respDt = resp.Data[0].([]interface{})[0].(Datetime)
fmt.Println("Datetime tuple select")
fmt.Printf("Code: %d\n", resp.Code)
fmt.Printf("Data: %v\n", respDt.ToTime())

// Delete a tuple with datetime.
resp, err = conn.Delete(space, index, []interface{}{dt})
if err != nil {
	fmt.Printf("error in delete is %v", err)
	return
}
respDt = resp.Data[0].([]interface{})[0].(Datetime)
fmt.Println("Datetime tuple delete")
fmt.Printf("Code: %d\n", resp.Code)
fmt.Printf("Data: %v\n", respDt.ToTime())

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Datetime

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

func NewDatetime

func NewDatetime(t time.Time) (*Datetime, error)

NewDatetime returns a pointer to a new datetime.Datetime that contains a specified time.Time. It may returns an error if the Time value is out of supported range: [-5879610-06-22T00:00Z .. 5879611-07-11T00:00Z]

func (*Datetime) MarshalMsgpack

func (dtime *Datetime) MarshalMsgpack() ([]byte, error)

func (*Datetime) ToTime

func (dtime *Datetime) ToTime() time.Time

ToTime returns a time.Time that Datetime contains.

func (*Datetime) UnmarshalMsgpack

func (tm *Datetime) UnmarshalMsgpack(b []byte) error

Jump to

Keyboard shortcuts

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