mirror of
https://github.com/mariadb-corporation/mariadb-connector-python.git
synced 2025-08-02 13:56:54 +00:00
58 lines
2.3 KiB
Python
58 lines
2.3 KiB
Python
from mariadb.constants import FIELD_TYPE, FIELD_FLAG
|
|
|
|
field_types= {FIELD_TYPE.DECIMAL : "DECIMAL",
|
|
FIELD_TYPE.TINY : "TINY",
|
|
FIELD_TYPE.SHORT : "SHORT",
|
|
FIELD_TYPE.LONG : "LONG",
|
|
FIELD_TYPE.FLOAT : "FLOAT",
|
|
FIELD_TYPE.DOUBLE : "DOUBLE",
|
|
FIELD_TYPE.NULL : "NULL",
|
|
FIELD_TYPE.TIMESTAMP : "TIMESTAMP",
|
|
FIELD_TYPE.LONGLONG : "LONGLONG",
|
|
FIELD_TYPE.INT24 : "INT24",
|
|
FIELD_TYPE.DATE : "DATE",
|
|
FIELD_TYPE.TIME : "TIME",
|
|
FIELD_TYPE.DATETIME : "DATETIME",
|
|
FIELD_TYPE.YEAR : "YEAR",
|
|
FIELD_TYPE.NEWDATE : "NEWDATE",
|
|
FIELD_TYPE.VARCHAR : "VARCHAR",
|
|
FIELD_TYPE.BIT : "BIT",
|
|
FIELD_TYPE.JSON : "JSON",
|
|
FIELD_TYPE.NEWDECIMAL : "NEWDECIMAL",
|
|
FIELD_TYPE.ENUM : "ENUM",
|
|
FIELD_TYPE.SET : "SET",
|
|
FIELD_TYPE.TINY_BLOB : "TINY_BLOB",
|
|
FIELD_TYPE.MEDIUM_BLOB : "MEDIUM_BLOB",
|
|
FIELD_TYPE.LONG_BLOB : "LONG_BLOB",
|
|
FIELD_TYPE.BLOB : "BLOB",
|
|
FIELD_TYPE.VAR_STRING : "VAR_STRING",
|
|
FIELD_TYPE.STRING : "STRING",
|
|
FIELD_TYPE.GEOMETRY : "GEOMETRY" }
|
|
|
|
field_flags = {FIELD_FLAG.NOT_NULL : "NOT_NULL",
|
|
FIELD_FLAG.PRIMARY_KEY : "PRIMARY_KEY",
|
|
FIELD_FLAG.UNIQUE_KEY : "UNIQUE_KEY",
|
|
FIELD_FLAG.MULTIPLE_KEY : "PART_KEY",
|
|
FIELD_FLAG.BLOB : "BLOB",
|
|
FIELD_FLAG.UNSIGNED : "UNSIGNED",
|
|
FIELD_FLAG.ZEROFILL : "ZEROFILL",
|
|
FIELD_FLAG.BINARY : "BINARY",
|
|
FIELD_FLAG.ENUM : "NUMERIC",
|
|
FIELD_FLAG.AUTO_INCREMENT : "AUTO_INCREMENT",
|
|
FIELD_FLAG.TIMESTAMP : "TIMESTAMP",
|
|
FIELD_FLAG.SET : "SET",
|
|
FIELD_FLAG.NO_DEFAULT : "NO_DEFAULT",
|
|
FIELD_FLAG.ON_UPDATE_NOW : "UPDATE_TIMESTAMP",
|
|
FIELD_FLAG.NUMERIC : "NUMERIC"}
|
|
|
|
class fieldinfo():
|
|
|
|
def type(self, description):
|
|
if description[1] in field_types:
|
|
return field_types[description[1]]
|
|
return None
|
|
|
|
def flag(self, description):
|
|
flags = [field_flags[f] for f in field_flags.keys() if description[7] & f]
|
|
return " | ".join(flags)
|