func (p *Point) FieldKeys() [][]byte {
	return p.fieldKeys
}
FieldKeys returns the Point's field keys
package data
import (
	"bytes"
	"time"
)
type Point struct {
	measurementName []byte
	tagKeys         [][]byte
	tagValues       []interface{}
	fieldKeys       [][]byte
	fieldValues     []interface{}
	timestamp       *time.Time
}
func NewPoint() *Point {
	return &Point{
		measurementName: nil,
		tagKeys:         make([][]byte, 0),
		tagValues:       make([]interface{}, 0),
		fieldKeys:       make([][]byte, 0),
		fieldValues:     make([]interface{}, 0),
		timestamp:       nil,
	}
}
func (p *Point) Copy(from *Point) {
	p.measurementName = from.measurementName
	p.tagKeys = from.tagKeys
	p.tagValues = from.tagValues
	p.fieldKeys = from.fieldKeys
	p.fieldValues = from.fieldValues
	timeCopy := *from.timestamp
	p.timestamp = &timeCopy
}
func (p *Point) Reset() {
	p.measurementName = nil
	p.tagKeys = p.tagKeys[:0]
	p.tagValues = p.tagValues[:0]
	p.fieldKeys = p.fieldKeys[:0]
	p.fieldValues = p.fieldValues[:0]
	p.timestamp = nil
}
func (p *Point) SetTimestamp(t *time.Time) {
	p.timestamp = t
}
func (p *Point) Timestamp() *time.Time {
	return p.timestamp
}
func (p *Point) TimestampInUnixMs() int64 {
	return p.timestamp.UnixNano() / 1000000
}
func (p *Point) SetMeasurementName(s []byte) {
	p.measurementName = s
}
func (p *Point) MeasurementName() []byte {
	return p.measurementName
}