Documentation
¶
Overview ¶
Copyright 2024-2025 ApeCloud, Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
const ( // TypeDecimal is MYSQL_TYPE_DECIMAL. It is deprecated. TypeDecimal = 0 // TypeTiny is MYSQL_TYPE_TINY TypeTiny = 1 // TypeShort is MYSQL_TYPE_SHORT TypeShort = 2 // TypeLong is MYSQL_TYPE_LONG TypeLong = 3 // TypeFloat is MYSQL_TYPE_FLOAT TypeFloat = 4 // TypeDouble is MYSQL_TYPE_DOUBLE TypeDouble = 5 // TypeNull is MYSQL_TYPE_NULL TypeNull = 6 // TypeTimestamp is MYSQL_TYPE_TIMESTAMP TypeTimestamp = 7 // TypeLongLong is MYSQL_TYPE_LONGLONG TypeLongLong = 8 // TypeInt24 is MYSQL_TYPE_INT24 TypeInt24 = 9 // TypeDate is MYSQL_TYPE_DATE TypeDate = 10 // TypeTime is MYSQL_TYPE_TIME TypeTime = 11 // TypeDateTime is MYSQL_TYPE_DATETIME TypeDateTime = 12 // TypeYear is MYSQL_TYPE_YEAR TypeYear = 13 // TypeNewDate is MYSQL_TYPE_NEWDATE TypeNewDate = 14 // TypeVarchar is MYSQL_TYPE_VARCHAR TypeVarchar = 15 // TypeBit is MYSQL_TYPE_BIT TypeBit = 16 // TypeTimestamp2 is MYSQL_TYPE_TIMESTAMP2 TypeTimestamp2 = 17 // TypeDateTime2 is MYSQL_TYPE_DATETIME2 TypeDateTime2 = 18 // TypeTime2 is MYSQL_TYPE_TIME2 TypeTime2 = 19 // TypeVector is MYSQL_TYPE_VECTOR TypeVector = 242 // TypeJSON is MYSQL_TYPE_JSON TypeJSON = 245 // TypeNewDecimal is MYSQL_TYPE_NEWDECIMAL TypeNewDecimal = 246 // TypeEnum is MYSQL_TYPE_ENUM TypeEnum = 247 // TypeSet is MYSQL_TYPE_SET TypeSet = 248 // TypeTinyBlob is MYSQL_TYPE_TINY_BLOB TypeTinyBlob = 249 // TypeMediumBlob is MYSQL_TYPE_MEDIUM_BLOB TypeMediumBlob = 250 // TypeLongBlob is MYSQL_TYPE_LONG_BLOB TypeLongBlob = 251 // TypeBlob is MYSQL_TYPE_BLOB TypeBlob = 252 // TypeVarString is MYSQL_TYPE_VAR_STRING TypeVarString = 253 // TypeString is MYSQL_TYPE_STRING TypeString = 254 // TypeGeometry is MYSQL_TYPE_GEOMETRY TypeGeometry = 255 )
This is the data type for a field. Values taken from include/mysql/mysql_com.h
Variables ¶
var TypeNames = map[byte]string{ TypeDecimal: "DECIMAL", TypeTiny: "TINY", TypeShort: "SHORT", TypeLong: "LONG", TypeFloat: "FLOAT", TypeDouble: "DOUBLE", TypeNull: "NULL", TypeTimestamp: "TIMESTAMP", TypeLongLong: "LONGLONG", TypeInt24: "INT24", TypeDate: "DATE", TypeTime: "TIME", TypeDateTime: "DATETIME", TypeYear: "YEAR", TypeNewDate: "NEWDATE", TypeVarchar: "VARCHAR", TypeBit: "BIT", TypeTimestamp2: "TIMESTAMP2", TypeDateTime2: "DATETIME2", TypeTime2: "TIME2", TypeVector: "VECTOR", TypeJSON: "JSON", TypeNewDecimal: "NEWDECIMAL", TypeEnum: "ENUM", TypeSet: "SET", TypeTinyBlob: "TINY_BLOB", TypeMediumBlob: "MEDIUM_BLOB", TypeLongBlob: "LONG_BLOB", TypeBlob: "BLOB", TypeVarString: "VAR_STRING", TypeString: "STRING", TypeGeometry: "GEOMETRY", }
var ZeroTimestamp = []byte("0000-00-00 00:00:00")
ZeroTimestamp is the special value 0 for a timestamp.
Functions ¶
func CellLength ¶
CellLength returns the new position after the field with the given type is read.
func CellValue ¶
func CellValue(data []byte, pos int, typ byte, metadata uint16, column *sql.Column, builder array.Builder) (int, error)
CellValue returns the data for a cell as a sqltypes.Value, and how many bytes it takes. It uses source type in querypb.Type and vitess type byte to determine general shared aspects of types and the querypb.Field to determine other info specifically about its underlying column (SQL column type, column length, charset, etc)
Types ¶
type RowEventType ¶
type RowEventType int8
const ( // IMPORTANT: The order of these values is important. // We translate UPDATE to DELETE + INSERT, so DELETE should come first. DeleteRowEvent RowEventType = iota UpdateRowEvent InsertRowEvent )
func (RowEventType) String ¶
func (e RowEventType) String() string