lex

package
v0.0.0-...-13a6da0 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const ABORT = 57363
View Source
const ACTION = 57364
View Source
const ADD = 57365
View Source
const ADMIN = 57366
View Source
const AGGREGATE = 57367
View Source
const ALL = 57368
View Source
const ALTER = 57369
View Source
const ANALYSE = 57370
View Source
const ANALYZE = 57371
View Source
const AND = 57372
View Source
const AND_AND = 57373
View Source
const ANNOTATE_TYPE = 57375
View Source
const ANY = 57374
View Source
const ARRAY = 57376
View Source
const AS = 57377
View Source
const ASC = 57378
View Source
const ASYMMETRIC = 57379
View Source
const AS_LA = 57797
View Source
const AT = 57380
View Source
const AUTHORIZATION = 57381
View Source
const AUTOMATIC = 57382
View Source
const BACKUP = 57383
View Source
const BCONST = 57348
View Source
const BEGIN = 57384
View Source
const BETWEEN = 57385
View Source
const BIGINT = 57386
View Source
const BIGSERIAL = 57387
View Source
const BIT = 57388
View Source
const BITCONST = 57349
View Source
const BLOB = 57390
View Source
const BOOL = 57391
View Source
const BOOLEAN = 57392
View Source
const BOTH = 57393
View Source
const BUCKET_COUNT = 57389
View Source
const BUNDLE = 57394
View Source
const BY = 57395
View Source
const BYTEA = 57396
View Source
const BYTES = 57397
View Source
const CACHE = 57398
View Source
const CANCEL = 57399
View Source
const CASCADE = 57400
View Source
const CASE = 57401
View Source
const CAST = 57402
View Source
const CHANGEFEED = 57403
View Source
const CHAR = 57404
View Source
const CHARACTER = 57405
View Source
const CHARACTERISTICS = 57406
View Source
const CHECK = 57407
View Source
const CLUSTER = 57408
View Source
const COALESCE = 57409
View Source
const COLLATE = 57410
View Source
const COLLATION = 57411
View Source
const COLUMN = 57412
View Source
const COLUMNS = 57413
View Source
const COMMENT = 57414
View Source
const COMMIT = 57415
View Source
const COMMITTED = 57416
View Source
const COMPACT = 57417
View Source
const COMPLETE = 57418
View Source
const CONCAT = 57419
View Source
const CONCURRENTLY = 57420
View Source
const CONFIGURATION = 57421
View Source
const CONFIGURATIONS = 57422
View Source
const CONFIGURE = 57423
View Source
const CONFLICT = 57424
View Source
const CONSTRAINT = 57425
View Source
const CONSTRAINTS = 57426
View Source
const CONTAINED_BY = 57798
View Source
const CONTAINS = 57427
View Source
const CONVERSION = 57428
View Source
const COPY = 57429
View Source
const COVERING = 57430
View Source
const CREATE = 57431
View Source
const CREATEROLE = 57432
View Source
const CROSS = 57433
View Source
const CUBE = 57434
View Source
const CURRENT = 57435
View Source
const CURRENT_CATALOG = 57436
View Source
const CURRENT_DATE = 57437
View Source
const CURRENT_ROLE = 57439
View Source
const CURRENT_SCHEMA = 57438
View Source
const CURRENT_TIME = 57440
View Source
const CURRENT_TIMESTAMP = 57441
View Source
const CURRENT_USER = 57442
View Source
const CYCLE = 57443
View Source
const DATA = 57444
View Source
const DATABASE = 57445
View Source
const DATABASES = 57446
View Source
const DATE = 57447
View Source
const DAY = 57448
View Source
const DEALLOCATE = 57452
View Source
const DEC = 57449
View Source
const DECIMAL = 57450
View Source
const DEFAULT = 57451
View Source
const DEFERRABLE = 57453
View Source
const DEFERRED = 57454
View Source
const DELETE = 57455
View Source
const DESC = 57456
View Source
const DISCARD = 57457
View Source
const DISTINCT = 57458
View Source
const DO = 57459
View Source
const DOMAIN = 57460
View Source
const DOT_DOT = 57355
View Source
const DOUBLE = 57461
View Source
const DROP = 57462
View Source
const ELSE = 57463
View Source
const ENCODING = 57464
View Source
const END = 57465
View Source
const ENUM = 57466
View Source
const ERROR = 57362
View Source
const ESCAPE = 57467
View Source
const EXCEPT = 57468
View Source
const EXCLUDE = 57469
View Source
const EXECUTE = 57471
View Source
const EXISTS = 57470
View Source
const EXPERIMENTAL = 57472
View Source
const EXPERIMENTAL_AUDIT = 57475
View Source
const EXPERIMENTAL_FINGERPRINTS = 57473
View Source
const EXPERIMENTAL_RELOCATE = 57739
View Source
const EXPERIMENTAL_REPLICA = 57474
View Source
const EXPIRATION = 57476
View Source
const EXPLAIN = 57477
View Source
const EXPORT = 57478
View Source
const EXTENSION = 57479
View Source
const EXTRACT = 57480
View Source
const EXTRACT_DURATION = 57481
View Source
const FALSE = 57482
View Source
const FAMILY = 57483
View Source
const FCONST = 57351
View Source
const FETCH = 57484
View Source
const FETCHTEXT = 57486
View Source
const FETCHTEXT_PATH = 57488
View Source
const FETCHVAL = 57485
View Source
const FETCHVAL_PATH = 57487
View Source
const FILES = 57489
View Source
const FILTER = 57490
View Source
const FIRST = 57491
View Source
const FLOAT = 57492
View Source
const FLOAT4 = 57493
View Source
const FLOAT8 = 57494
View Source
const FLOORDIV = 57495
View Source
const FOLLOWING = 57496
View Source
const FOR = 57497
View Source
const FORCE_INDEX = 57498
View Source
const FOREIGN = 57499
View Source
const FROM = 57500
View Source
const FULL = 57501
View Source
const FUNCTION = 57502
View Source
const GLOBAL = 57503
View Source
const GRANT = 57504
View Source
const GRANTS = 57505
View Source
const GREATER_EQUALS = 57357
View Source
const GREATEST = 57506
View Source
const GROUP = 57507
View Source
const GROUPING = 57508
View Source
const GROUPS = 57509
View Source
const HASH = 57511
View Source
const HAVING = 57510
View Source
const HELPTOKEN = 57801
View Source
const HIGH = 57512
View Source
const HISTOGRAM = 57513
View Source
const HOUR = 57514
View Source
const ICONST = 57350
View Source
const IDENT = 57346
View Source
const IF = 57515
View Source
const IFERROR = 57516
View Source
const IFNULL = 57517
View Source
const IGNORE_FOREIGN_KEYS = 57518
View Source
const ILIKE = 57519
View Source
const IMMEDIATE = 57520
View Source
const IMPORT = 57521
View Source
const IN = 57522
View Source
const INCLUDE = 57523
View Source
const INCREMENT = 57524
View Source
const INCREMENTAL = 57525
View Source
const INDEX = 57529
View Source
const INDEXES = 57530
View Source
const INET = 57526
View Source
const INET_CONTAINED_BY_OR_EQUALS = 57527
View Source
const INET_CONTAINS_OR_EQUALS = 57528
View Source
const INITIALLY = 57533
View Source
const INJECT = 57531
View Source
const INNER = 57534
View Source
const INSERT = 57535
View Source
const INT = 57536
View Source
const INT2 = 57538
View Source
const INT2VECTOR = 57537
View Source
const INT4 = 57539
View Source
const INT64 = 57541
View Source
const INT8 = 57540
View Source
const INTEGER = 57542
View Source
const INTERLEAVE = 57532
View Source
const INTERSECT = 57543
View Source
const INTERVAL = 57544
View Source
const INTO = 57545
View Source
const INVERTED = 57546
View Source
const IS = 57547
View Source
const ISERROR = 57548
View Source
const ISNULL = 57549
View Source
const ISOLATION = 57550
View Source
const JOB = 57551
View Source
const JOBS = 57552
View Source
const JOIN = 57553
View Source
const JSON = 57554
View Source
const JSONB = 57555
View Source
const JSON_ALL_EXISTS = 57557
View Source
const JSON_SOME_EXISTS = 57556
View Source
const KEY = 57558
View Source
const KEYS = 57559
View Source
const KV = 57560
View Source
const LANGUAGE = 57561
View Source
const LAST = 57562
View Source
const LATERAL = 57563
View Source
const LC_COLLATE = 57565
View Source
const LC_CTYPE = 57564
View Source
const LEADING = 57566
View Source
const LEASE = 57567
View Source
const LEAST = 57568
View Source
const LEFT = 57569
View Source
const LESS = 57570
View Source
const LESS_EQUALS = 57356
View Source
const LEVEL = 57571
View Source
const LIKE = 57572
View Source
const LIMIT = 57573
View Source
const LIST = 57574
View Source
const LOCAL = 57575
View Source
const LOCALTIME = 57576
View Source
const LOCALTIMESTAMP = 57577
View Source
const LOCKED = 57578
View Source
const LOGIN = 57579
View Source
const LOOKUP = 57580
View Source
const LOW = 57581
View Source
const LSHIFT = 57582
View Source
const MATCH = 57583
View Source
const MATERIALIZED = 57584
View Source
const MAXVALUE = 57587
View Source
const MERGE = 57585
View Source
const MINUTE = 57588
View Source
const MINVALUE = 57586
View Source
const MONTH = 57589
View Source
const NAME = 57591
View Source
const NAMES = 57592
View Source
const NAN = 57590
View Source
const NATURAL = 57593
View Source
const NEXT = 57594
View Source
const NO = 57595
View Source
const NOCREATEROLE = 57596
View Source
const NOLOGIN = 57597
View Source
const NONE = 57599
View Source
const NORMAL = 57600
View Source
const NOT = 57601
View Source
const NOTHING = 57602
View Source
const NOTNULL = 57603
View Source
const NOT_EQUALS = 57358
View Source
const NOT_LA = 57795
View Source
const NOT_REGIMATCH = 57361
View Source
const NOT_REGMATCH = 57359
View Source
const NOWAIT = 57604
View Source
const NO_INDEX_JOIN = 57598
View Source
const NULL = 57605
View Source
const NULLIF = 57606
View Source
const NULLS = 57607
View Source
const NUMERIC = 57608
View Source
const OF = 57609
View Source
const OFF = 57610
View Source
const OFFSET = 57611
View Source
const OID = 57612
View Source
const OIDS = 57613
View Source
const OIDVECTOR = 57614
View Source
const ON = 57615
View Source
const ONLY = 57616
View Source
const OPERATOR = 57630
View Source
const OPT = 57617
View Source
const OPTION = 57618
View Source
const OPTIONS = 57619
View Source
const OR = 57620
View Source
const ORDER = 57621
View Source
const ORDINALITY = 57622
View Source
const OTHERS = 57623
View Source
const OUT = 57624
View Source
const OUTER = 57625
View Source
const OVER = 57626
View Source
const OVERLAPS = 57627
View Source
const OVERLAY = 57628
View Source
const OWNED = 57629
View Source
const PARENT = 57631
View Source
const PARTIAL = 57632
View Source
const PARTITION = 57633
View Source
const PARTITIONS = 57634
View Source
const PASSWORD = 57635
View Source
const PAUSE = 57636
View Source
const PHYSICAL = 57637
View Source
const PLACEHOLDER = 57352
View Source
const PLACING = 57638
View Source
const PLAN = 57639
View Source
const PLANS = 57640
View Source
const POSITION = 57641
View Source
const POSTFIXOP = 57799
View Source
const PRECEDING = 57642
View Source
const PRECISION = 57643
View Source
const PREPARE = 57644
View Source
const PRESERVE = 57645
View Source
const PRIMARY = 57646
View Source
const PRIORITY = 57647
View Source
const PROCEDURAL = 57648
View Source
const PUBLIC = 57649
View Source
const PUBLICATION = 57650
View Source
const QUERIES = 57651
View Source
const QUERY = 57652
View Source
const RANGE = 57653
View Source
const RANGES = 57654
View Source
const READ = 57655
View Source
const REAL = 57656
View Source
const RECURSIVE = 57657
View Source
const REF = 57658
View Source
const REFERENCES = 57659
View Source
const REGCLASS = 57660
View Source
const REGIMATCH = 57360
View Source
const REGNAMESPACE = 57663
View Source
const REGPROC = 57661
View Source
const REGPROCEDURE = 57662
View Source
const REGTYPE = 57664
View Source
const REINDEX = 57665
View Source
const RELEASE = 57670
View Source
const REMOVE_PATH = 57666
View Source
const RENAME = 57667
View Source
const REPEATABLE = 57668
View Source
const REPLACE = 57669
View Source
const RESET = 57671
View Source
const RESTORE = 57672
View Source
const RESTRICT = 57673
View Source
const RESUME = 57674
View Source
const RETURNING = 57675
View Source
const REVOKE = 57676
View Source
const RIGHT = 57677
View Source
const ROLE = 57678
View Source
const ROLES = 57679
View Source
const ROLLBACK = 57680
View Source
const ROLLUP = 57681
View Source
const ROW = 57682
View Source
const ROWS = 57683
View Source
const RSHIFT = 57684
View Source
const RULE = 57685
View Source
const SAVEPOINT = 57686
View Source
const SCATTER = 57687
View Source
const SCHEMA = 57688
View Source
const SCHEMAS = 57689
View Source
const SCONST = 57347
View Source
const SCRUB = 57690
View Source
const SEARCH = 57691
View Source
const SECOND = 57692
View Source
const SELECT = 57693
View Source
const SEQUENCE = 57694
View Source
const SEQUENCES = 57695
View Source
const SERIAL = 57696
View Source
const SERIAL2 = 57697
View Source
const SERIAL4 = 57698
View Source
const SERIAL8 = 57699
View Source
const SERIALIZABLE = 57700
View Source
const SERVER = 57701
View Source
const SESSION = 57702
View Source
const SESSIONS = 57703
View Source
const SESSION_USER = 57704
View Source
const SET = 57705
View Source
const SETTING = 57706
View Source
const SETTINGS = 57707
View Source
const SHARE = 57708
View Source
const SHOW = 57709
View Source
const SIMILAR = 57710
View Source
const SIMPLE = 57711
View Source
const SKIP = 57712
View Source
const SMALLINT = 57713
View Source
const SMALLSERIAL = 57714
View Source
const SNAPSHOT = 57715
View Source
const SOME = 57716
View Source
const SPLIT = 57717
View Source
const SQL = 57718
View Source
const START = 57719
View Source
const STATISTICS = 57720
View Source
const STATUS = 57721
View Source
const STDIN = 57722
View Source
const STORE = 57725
View Source
const STORED = 57726
View Source
const STORING = 57727
View Source
const STRICT = 57723
View Source
const STRING = 57724
View Source
const SUBSCRIPTION = 57732
View Source
const SUBSTRING = 57728
View Source
const SYMMETRIC = 57729
View Source
const SYNTAX = 57730
View Source
const SYSTEM = 57731
View Source
const TABLE = 57733
View Source
const TABLES = 57734
View Source
const TEMP = 57735
View Source
const TEMPLATE = 57736
View Source
const TEMPORARY = 57737
View Source
const TESTING_RELOCATE = 57738
View Source
const TEXT = 57740
View Source
const THEN = 57741
View Source
const THROTTLING = 57748
View Source
const TIES = 57742
View Source
const TIME = 57743
View Source
const TIMESTAMP = 57745
View Source
const TIMESTAMPTZ = 57746
View Source
const TIMETZ = 57744
View Source
const TO = 57747
View Source
const TRACE = 57750
View Source
const TRACING = 57759
View Source
const TRAILING = 57749
View Source
const TRANSACTION = 57751
View Source
const TREAT = 57752
View Source
const TRIGGER = 57753
View Source
const TRIM = 57754
View Source
const TRUE = 57755
View Source
const TRUNCATE = 57756
View Source
const TRUSTED = 57757
View Source
const TYPE = 57758
View Source
const TYPEANNOTATE = 57354
View Source
const TYPECAST = 57353
View Source
const UMINUS = 57800
View Source
const UNBOUNDED = 57760
View Source
const UNCOMMITTED = 57761
View Source
const UNION = 57762
View Source
const UNIQUE = 57763
View Source
const UNKNOWN = 57764
View Source
const UNLOGGED = 57765
View Source
const UNSPLIT = 57766
View Source
const UNTIL = 57769
View Source
const UPDATE = 57767
View Source
const UPSERT = 57768
View Source
const USE = 57770
View Source
const USER = 57771
View Source
const USERS = 57772
View Source
const USING = 57773
View Source
const UUID = 57774
View Source
const VALID = 57775
View Source
const VALIDATE = 57776
View Source
const VALUE = 57777
View Source
const VALUES = 57778
View Source
const VARBIT = 57779
View Source
const VARCHAR = 57780
View Source
const VARIADIC = 57781
View Source
const VARYING = 57783
View Source
const VIEW = 57782
View Source
const VIRTUAL = 57784
View Source
const WHEN = 57785
View Source
const WHERE = 57786
View Source
const WINDOW = 57787
View Source
const WITH = 57788
View Source
const WITHIN = 57789
View Source
const WITHOUT = 57790
View Source
const WITH_LA = 57796
View Source
const WORK = 57791
View Source
const WRITE = 57792
View Source
const YEAR = 57793
View Source
const ZONE = 57794

Variables

View Source
var AllowedExperimental = map[string]struct{}{
	"ranges": {},
}

AllowedExperimental contains keywords for which the EXPERIMENTAL_ or TESTING_ prefixes are allowed to be parsed along with the keyword to the same token. This ambiguity exists during the deprecation period of an EXPERIMENTAL_ keyword as it is being transitioned to the normal version. Once the transition is done, the keyword should be removed from here as well.

View Source
var KeywordNames = []string{}/* 415 elements not displayed */

KeywordNames contains all keywords sorted, so that pg_get_keywords returns deterministic results.

View Source
var KeywordsCategories = map[string]string{}/* 415 elements not displayed */

Functions

func DecodeRawBytesToByteArray

func DecodeRawBytesToByteArray(data string, be sessiondata.BytesEncodeFormat) ([]byte, error)

DecodeRawBytesToByteArray converts raw bytes to a SQL-level byte array according to the encoding specification in "be". When using the Hex format, the caller is responsible for skipping the "\x" prefix, if any. See DecodeRawBytesToByteArrayAuto() below for an alternative.

func DecodeRawBytesToByteArrayAuto

func DecodeRawBytesToByteArrayAuto(data []byte) ([]byte, error)

DecodeRawBytesToByteArrayAuto detects which format to use with DecodeRawBytesToByteArray(). It only supports hex ("\x" prefix) and escape.

func EncodeByteArrayToRawBytes

func EncodeByteArrayToRawBytes(
	data string, be sessiondata.BytesEncodeFormat, skipHexPrefix bool,
) string

EncodeByteArrayToRawBytes converts a SQL-level byte array into raw bytes according to the encoding specification in "be". If the skipHexPrefix argument is set, the hexadecimal encoding does not prefix the output with "\x". This is suitable e.g. for the encode() built-in.

func EncodeEscapedSQLIdent

func EncodeEscapedSQLIdent(buf *bytes.Buffer, s string)

EncodeEscapedSQLIdent writes the identifier in s to buf. The identifier is always quoted. Double quotes inside the identifier are escaped.

func EncodeLocaleName

func EncodeLocaleName(buf *bytes.Buffer, s string)

EncodeLocaleName writes the locale identifier in s to buf. Any dash characters are mapped to underscore characters. Underscore characters do not need to be quoted, and they are considered equivalent to dash characters by the CLDR standard: http://cldr.unicode.org/.

func EncodeRestrictedSQLIdent

func EncodeRestrictedSQLIdent(buf *bytes.Buffer, s string, flags EncodeFlags)

EncodeRestrictedSQLIdent writes the identifier in s to buf. The identifier is quoted if either the flags ask for it, the identifier contains special characters, or the identifier is a reserved SQL keyword.

func EncodeSQLBytes

func EncodeSQLBytes(buf *bytes.Buffer, in string)

EncodeSQLBytes encodes the SQL byte array in 'in' to buf, to a format suitable for re-scanning. We don't use a straightforward hex encoding here with x'...' because the result would be less compact. We are trading a little more time during the encoding to have a little less bytes on the wire.

func EncodeSQLString

func EncodeSQLString(buf *bytes.Buffer, in string)

EncodeSQLString writes a string literal to buf. All unicode and non-printable characters are escaped.

func EncodeSQLStringWithFlags

func EncodeSQLStringWithFlags(buf *bytes.Buffer, in string, flags EncodeFlags)

EncodeSQLStringWithFlags writes a string literal to buf. All unicode and non-printable characters are escaped. flags controls the output format: if encodeBareString is set, the output string will not be wrapped in quotes if the strings contains no special characters.

func EncodeUnrestrictedSQLIdent

func EncodeUnrestrictedSQLIdent(buf *bytes.Buffer, s string, flags EncodeFlags)

EncodeUnrestrictedSQLIdent writes the identifier in s to buf. The identifier is only quoted if the flags don't tell otherwise and the identifier contains special characters.

func EscapeSQLString

func EscapeSQLString(in string) string

EscapeSQLString returns an escaped SQL representation of the given string. This is suitable for safely producing a SQL string valid for input to the parser.

func GetKeywordID

func GetKeywordID(k string) int32

GetKeywordID returns the lex id of the SQL keyword k or IDENT if k is not a keyword.

func IsDigit

func IsDigit(ch int) bool

IsDigit returns true if the character is between 0 and 9.

func IsHexDigit

func IsHexDigit(ch int) bool

IsHexDigit returns true if the character is a valid hexadecimal digit.

func IsIdentMiddle

func IsIdentMiddle(ch int) bool

IsIdentMiddle returns true if the character is valid inside an identifier.

func IsIdentStart

func IsIdentStart(ch int) bool

IsIdentStart returns true if the character is valid at the start of an identifier.

func NormalizeName

func NormalizeName(n string) string

NormalizeName normalizes to lowercase and Unicode Normalization Form C (NFC).

Types

type EncodeFlags

type EncodeFlags int

EncodeFlags influence the formatting of strings and identifiers.

const (
	// EncNoFlags indicates nothing special should happen while encoding.
	EncNoFlags EncodeFlags = 0

	// EncBareStrings indicates that strings will be rendered without
	// wrapping quotes if they contain no special characters.
	EncBareStrings EncodeFlags = 1 << iota

	// EncBareIdentifiers indicates that identifiers will be rendered
	// without wrapping quotes.
	EncBareIdentifiers

	// EncFirstFreeFlagBit needs to remain unused; it is used as base
	// bit offset for tree.FmtFlags.
	EncFirstFreeFlagBit
)

func (EncodeFlags) HasFlags

func (f EncodeFlags) HasFlags(subset EncodeFlags) bool

HasFlags tests whether the given flags are set.

Jump to

Keyboard shortcuts

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