Documentation
¶
Index ¶
- Constants
- Variables
- func ExtractSqlite3Comment(sql string) (string, string)
- func GetKeywords() []cache.Keyword
- func KeywordString(id int) string
- func Parse(lexer tokenizer.Tokenizer) int
- func ParsePooled(lexer tokenizer.Tokenizer) int
- type PositionedErr
- type Sqlite3Tokenizer
- func (tkn *Sqlite3Tokenizer) BindVar(bvar string, value struct{})
- func (tkn *Sqlite3Tokenizer) Cur() rune
- func (tkn *Sqlite3Tokenizer) DecNesting()
- func (tkn *Sqlite3Tokenizer) Error(err string)
- func (tkn *Sqlite3Tokenizer) GetBindVars() ast.BindVars
- func (tkn *Sqlite3Tokenizer) GetDialect() dialect.SqlDialect
- func (tkn *Sqlite3Tokenizer) GetIdToken() int
- func (tkn *Sqlite3Tokenizer) GetKeywordString(token int) string
- func (tkn *Sqlite3Tokenizer) GetLastError() error
- func (tkn *Sqlite3Tokenizer) GetNesting() int
- func (tkn *Sqlite3Tokenizer) GetParseTree() ast.Statement
- func (tkn *Sqlite3Tokenizer) GetPartialDDL() ast.Statement
- func (tkn *Sqlite3Tokenizer) GetPos() int
- func (tkn *Sqlite3Tokenizer) GetText(startPos int) string
- func (tkn *Sqlite3Tokenizer) IncNesting()
- func (tkn *Sqlite3Tokenizer) Lex(lval *sqlite3SymType) int
- func (tkn *Sqlite3Tokenizer) Peek(dist int) rune
- func (tkn *Sqlite3Tokenizer) Reset()
- func (tkn *Sqlite3Tokenizer) ResetTo(nextPos int)
- func (tkn *Sqlite3Tokenizer) Scan() (int, string)
- func (tkn *Sqlite3Tokenizer) SetAllowComments(allow bool)
- func (tkn *Sqlite3Tokenizer) SetIgnoreCommentKeyword(ignore bool)
- func (tkn *Sqlite3Tokenizer) SetMulti(multi bool)
- func (tkn *Sqlite3Tokenizer) SetParseTree(stmt ast.Statement)
- func (tkn *Sqlite3Tokenizer) SetPartialDDL(node ast.Statement)
- func (tkn *Sqlite3Tokenizer) SetSkipSpecialComments(skip bool)
- func (tkn *Sqlite3Tokenizer) SetSkipToEnd(skip bool)
- func (tkn *Sqlite3Tokenizer) Skip(dist int)
- func (tkn *Sqlite3Tokenizer) SkipBlank()
Constants ¶
const ABORT = 57411
const ABSENT = 57412
const ABSOLUTE = 57413
const ACCESS = 57414
const ACTION = 57832
const ACTIVE = 58084
const ADD = 57812
const ADMIN = 58085
const AFTER = 57881
const AGAINST = 58050
const AGGREGATE = 57415
const ALGORITHM = 57686
const ALL = 57365
const ALSO = 57416
const ALTER = 57807
const ALWAYS = 57384
const ANALYSE = 57811
const ANALYZE = 57810
const AND = 57738
const ANY = 57385
const APPROXNUM = 57951
const ARRAY = 58059
const ARRAY_MAX_CARDINALITY = 57642
const AS = 57367
const ASC = 57369
const ASCII = 57947
const ASENSITIVE = 57417
const ASSERTION = 57418
const ASSIGNMENT = 57419
const ASYMMETRIC = 57386
const AT = 57420
const ATOMIC = 57421
const ATTACH = 57422
const ATTRIBUTE = 57423
const AT_AT_ID = 57693
const AT_ID = 57692
const AUTHORIZATION = 57387
const AUTOEXTEND_SIZE = 58086
const AUTOINCREMENT = 57950
const AVG_ROW_LENGTH = 58163
const BACKWARD = 57424
const BEFORE = 57425
const BEGIN = 57896
const BETWEEN = 57740
const BIGINT = 57910
const BINARY = 57760
const BIT = 57904
const BIT_LITERAL = 57704
const BLOB = 57931
const BOOL = 57923
const BOOLEAN = 58051
const BOTH = 57728
const BREADTH = 57426
const BUCKETS = 58087
const BY = 57361
const BYTE = 58060
const CACHE = 57427
const CALL = 57379
const CALLED = 57428
const CANCEL = 57888
const CASCADE = 57833
const CASCADED = 57869
const CASE = 57741
const CAST = 58021
const CATALOG = 57429
const CHAIN = 57430
const CHANGE = 57814
const CHANNEL = 58160
const CHAR = 57921
const CHARACTER = 57924
const CHARACTERISTICS = 57431
const CHARACTER_SET_CATALOG = 57643
const CHARSET = 57733
const CHECK = 57830
const CHECKPOINT = 57432
const CHECKSUM = 58165
const CLASS = 57433
const CLEANUP = 57891
const CLONE = 58088
const CLOSE = 57434
const CLUSTER = 57435
const COALESCE = 57847
const CODE = 57955
const COLLATE = 57759
const COLLATION = 57956
const COLUMN = 57826
const COLUMNS = 57957
const COLUMN_FORMAT = 58089
const COMMAND_FUNCTION_CODE = 57644
const COMMENT = 57380
const COMMENTS = 57436
const COMMENT_KEYWORD = 57703
const COMMIT = 57899
const COMMITTED = 57986
const COMPACT = 58177
const COMPLETE = 57890
const COMPONENT = 58090
const COMPRESSED = 58175
const COMPRESSION = 57705
const CONCURRENTLY = 57388
const CONDITIONAL = 57437
const CONFIGURATION = 57438
const CONFLICT = 57439
const CONNECTION = 58164
const CONSTRAINT = 57834
const CONSTRAINTS = 57440
const CONTENT = 57441
const CONTINUE = 57442
const CONVERSION = 57443
const CONVERT = 58020
const COPY = 57684
const COST = 57444
const CREATE = 57806
const CROSS = 57677
const CSV = 57454
const CUBE = 57455
const CUME_DIST = 58061
const CURRENT = 57456
const CURRENT_CATALOG = 57389
const CURRENT_DATE = 57991
const CURRENT_DEFAULT_TRANSFORM_GROUP = 57645
const CURRENT_ROLE = 57390
const CURRENT_SCHEMA = 57391
const CURRENT_TIME = 57993
const CURRENT_TIMESTAMP = 57989
const CURRENT_TRANSFORM_GROUP_FOR_TYPE = 57646
const CURRENT_USER = 57996
const CURSOR = 57457
const CYCLE = 57458
const DATA = 57459
const DATABASE = 57990
const DATABASES = 57958
const DATE = 57842
const DATETIME = 57919
const DATETIME_INTERVAL_CODE = 57647
const DATETIME_INTERVAL_PRECISION = 57648
const DAY = 58000
const DAY_HOUR = 58001
const DAY_MICROSECOND = 58002
const DAY_MINUTE = 58003
const DAY_SECOND = 58004
const DEALLOCATE = 57816
const DEC = 57460
const DECIMAL = 57699
const DECIMAL_TYPE = 57915
const DECLARE = 57461
const DEFAULT = 57373
const DEFAULTS = 57462
const DEFERRABLE = 57392
const DEFERRED = 57463
const DEFINER = 57870
const DEFINITION = 58091
const DELAY_KEY_WRITE = 58166
const DELETE = 57355
const DELIMITER = 57464
const DELIMITERS = 57465
const DENSE_RANK = 58063
const DEPENDS = 57466
const DEPTH = 57467
const DESC = 57370
const DESCRIBE = 57840
const DESCRIPTION = 58062
const DETACH = 57468
const DICTIONARY = 57469
const DIRECTORY = 57863
const DISABLE = 57724
const DISCARD = 57721
const DISK = 58184
const DISTINCT = 57366
const DISTINCTROW = 57381
const DIV = 57756
const DO = 57378
const DOCUMENT = 57470
const DOMAIN = 57471
const DOUBLE = 57913
const DROP = 57808
const DUPLICATE = 57372
const DYNAMIC = 58174
const DYNAMIC_FUNCTION_CODE = 57649
const EACH = 57472
const ELSE = 57744
const EMPTY = 58064
const EMPTY_FROM_CLAUSE = 57731
const ENABLE = 57723
const ENCLOSED = 57447
const ENCODING = 57473
const ENCRYPTED = 57474
const ENCRYPTION = 58167
const END = 57745
const END_EXEC = 57650
const ENFORCED = 58092
const ENGINES = 57959
const ENGINE_ATTRIBUTE = 58093
const ENUM = 57938
const ERROR = 58154
const ESCAPE = 57843
const ESCAPED = 57446
const EVENT = 57960
const EXCEPT = 58065
const EXCHANGE = 57848
const EXCLUDE = 58094
const EXCLUDING = 57475
const EXCLUSIVE = 57689
const EXECUTE = 57853
const EXISTS = 57368
const EXPANSION = 58055
const EXPIRE = 57894
const EXPLAIN = 57841
const EXPORT = 58162
const EXPRESSION = 57476
const EXPRESSION_PREC_SETTER = 57736
const EXTENDED = 57961
const EXTENSION = 57477
const EXTERNAL = 57478
const EXTRACT = 57716
const FAIL = 57883
const FALSE = 57719
const FAMILY = 57479
const FETCH = 57393
const FIELDS = 57962
const FILTER = 57480
const FINALIZE = 57481
const FIRST = 57880
const FIRST_VALUE = 58066
const FIXED = 58173
const FLOAT = 57698
const FLOAT_TYPE = 57914
const FLUSH = 57813
const FOLLOWING = 58095
const FOR = 57364
const FORCE = 57680
const FOREIGN = 57835
const FORMAT = 58147
const FORWARD = 57482
const FREEZE = 57394
const FROM = 57356
const FULL = 57963
const FULLTEXT = 57828
const FUNCTION = 57964
const FUNCTIONS = 57483
const FUNCTION_CALL_NON_KEYWORD = 57347
const GE = 57747
const GENERAL = 58155
const GENERATED = 57383
const GEOMCOLLECTION = 58096
const GEOMETRY = 57939
const GEOMETRYCOLLECTION = 57943
const GET_MASTER_PUBLIC_KEY = 58097
const GLOB = 57884
const GLOBAL = 57978
const GRANT = 57395
const GRANTED = 57484
const GREATEST = 57485
const GROUP = 57358
const GROUPING = 58067
const GROUPS = 58068
const GROUP_CONCAT = 58024
const GTID_EXECUTED = 57965
const HANDLER = 57486
const HAVING = 57359
const HEADER = 57453
const HEX = 57694
const HEXNUM = 57700
const HISTOGRAM = 58098
const HISTORY = 58099
const HOLD = 57487
const HOSTS = 58156
const HOUR = 58005
const HOUR_MICROSECOND = 58006
const HOUR_MINUTE = 58007
const HOUR_SECOND = 58008
const ID = 57691
const IDENTITY = 57488
const IF = 57824
const IGNORE = 57823
const ILIKE = 57396
const IMMEDIATE = 57489
const IMMUTABLE = 57490
const IMPLICIT = 57491
const IMPORT = 57722
const IN = 57753
const INACTIVE = 58100
const INCLUDE = 57492
const INCLUDING = 57493
const INCREMENT = 57494
const INDENT = 57495
const INDEX = 57820
const INDEXED = 57885
const INDEXES = 57831
const INHERIT = 57496
const INHERITS = 57497
const INITIALLY = 57397
const INLINE = 57498
const INNER = 57675
const INOUT = 57499
const INPLACE = 57683
const INPUT = 57500
const INSENSITIVE = 57501
const INSERT = 57353
const INSERT_METHOD = 58168
const INSTANT = 57685
const INSTEAD = 57502
const INT = 57908
const INTEGER = 57909
const INTEGRAL = 57697
const INTERSECT = 57398
const INTERVAL = 57803
const INTNUM = 57911
const INTO = 57371
const INVISIBLE = 58101
const INVOKER = 57878
const IS = 57750
const ISNULL = 57399
const ISOLATION = 57980
const JOIN = 57671
const JSON = 57935
const JSON_ARRAY = 58032
const JSON_ARRAYAGG = 57503
const JSON_ARRAY_APPEND = 58039
const JSON_ARRAY_INSERT = 58040
const JSON_CONTAINS = 57709
const JSON_CONTAINS_PATH = 57710
const JSON_DEPTH = 58035
const JSON_EXISTS = 57504
const JSON_EXTRACT = 57711
const JSON_EXTRACT_OP = 57804
const JSON_INSERT = 58041
const JSON_KEYS = 57712
const JSON_LENGTH = 58037
const JSON_MERGE = 58042
const JSON_MERGE_PATCH = 58043
const JSON_MERGE_PRESERVE = 58044
const JSON_OBJECT = 58033
const JSON_OBJECTAGG = 57505
const JSON_OVERLAPS = 57713
const JSON_PRETTY = 57706
const JSON_QUERY = 57506
const JSON_QUOTE = 58034
const JSON_REMOVE = 58045
const JSON_REPLACE = 58046
const JSON_SCALAR = 57507
const JSON_SCHEMA_VALID = 57936
const JSON_SCHEMA_VALIDATION_REPORT = 57937
const JSON_SEARCH = 57714
const JSON_SERIALIZE = 57508
const JSON_SET = 58047
const JSON_STORAGE_FREE = 57708
const JSON_STORAGE_SIZE = 57707
const JSON_TABLE = 58069
const JSON_TYPE = 58036
const JSON_UNQUOTE = 58048
const JSON_UNQUOTE_EXTRACT_OP = 57805
const JSON_VALID = 58038
const JSON_VALUE = 57715
const KEEP = 57509
const KEY = 57735
const KEYS = 57377
const KEYSPACES = 57966
const KEY_BLOCK_SIZE = 57829
const LABEL = 57510
const LAG = 58070
const LANGUAGE = 58052
const LARGE = 57511
const LAST = 57882
const LAST_INSERT_ID = 57663
const LAST_VALUE = 58071
const LATERAL = 58072
const LE = 57746
const LEAD = 58073
const LEADING = 57729
const LEAKPROOF = 57512
const LEAST = 57513
const LEFT = 57673
const LESS = 57857
const LEVEL = 57981
const LEX_ERROR = 57348
const LIKE = 57751
const LIMIT = 57362
const LINES = 57450
const LINESTRING = 57941
const LISTEN = 57514
const LIST_ARG = 57702
const LOAD = 57515
const LOCAL = 58150
const LOCALTIME = 57994
const LOCALTIMESTAMP = 57995
const LOCATION = 57516
const LOCK = 57375
const LOCKED = 58102
const LOGGED = 57517
const LOGS = 58153
const LONGBLOB = 57934
const LONGTEXT = 57930
const LOWER_THAN_CHARSET = 57732
const LOW_PRIORITY = 58151
const LTRIM = 58029
const MANIFEST = 57452
const MAPPING = 57518
const MASTER_COMPRESSION_ALGORITHMS = 58103
const MASTER_PUBLIC_KEY_PATH = 58104
const MASTER_TLS_CIPHERSUITES = 58105
const MASTER_ZSTD_COMPRESSION_LEVEL = 58106
const MATCH = 58049
const MATCHED = 57519
const MATERIALIZED = 57520
const MAXVALUE = 57854
const MAX_ROWS = 58169
const MEDIUMBLOB = 57933
const MEDIUMINT = 57907
const MEDIUMTEXT = 57929
const MEMBER = 57346
const MEMORY = 58183
const MERGE = 57875
const MERGE_ACTION = 57521
const METHOD = 57522
const MICROSECOND = 58009
const MINUTE = 58010
const MINUTE_MICROSECOND = 58011
const MINUTE_SECOND = 58012
const MINVALUE = 57523
const MIN_ROWS = 58170
const MOD = 57757
const MODE = 57667
const MODIFY = 57815
const MONTH = 58013
const MOVE = 57524
const MULTILINESTRING = 57945
const MULTIPOINT = 57944
const MULTIPOLYGON = 57946
const NAME = 57864
const NAMES = 57977
const NATIONAL = 57525
const NATURAL = 57678
const NCHAR = 57926
const NCHAR_STRING = 57696
const NE = 57748
const NESTED = 58107
const NETWORK_NAMESPACE = 58108
const NEW = 57526
const NEXT = 57664
const NFC = 57527
const NFD = 57528
const NFKC = 57529
const NFKD = 57530
const NO = 57836
const NONE = 57687
const NORMALIZE = 57531
const NORMALIZED = 57532
const NOT = 57739
const NOTHING = 57533
const NOTIFY = 57534
const NOTNULL = 57400
const NOW = 57992
const NOWAIT = 58109
const NO_WRITE_TO_BINLOG = 58152
const NTH_VALUE = 58074
const NTILE = 58075
const NULL = 57717
const NULLIF = 57535
const NULLS = 58110
const NULLX = 57949
const NULL_SAFE_EQUAL = 57749
const NUMERIC = 57916
const OBJECT = 57536
const OF = 58076
const OFF = 57720
const OFFSET = 57363
const OIDS = 57537
const OJ = 58111
const OLD = 58112
const OMIT = 57538
const ON = 57681
const ONLY = 57984
const OPEN = 57967
const OPERATOR = 57539
const OPTIMIZE = 57845
const OPTIMIZER_COSTS = 58157
const OPTION = 57871
const OPTIONAL = 58113
const OPTIONALLY = 57445
const OPTIONS = 57540
const OR = 57737
const ORDER = 57360
const ORDINALITY = 58114
const ORGANIZATION = 58115
const OTHERS = 58116
const OUT = 57541
const OUTER = 57676
const OVER = 58077
const OVERLAPS = 57401
const OVERLAY = 57542
const OVERRIDING = 57543
const OVERWRITE = 57451
const OWNED = 57544
const OWNER = 57545
const PACK_KEYS = 58171
const PARALLEL = 57546
const PARAMETER = 57547
const PARAMETER_ORDINAL_POSITION = 57651
const PARAMETER_SPECIFIC_CATALOG = 57652
const PARAMETER_SPECIFIC_NAME = 57653
const PARAMETER_SPECIFIC_SCHEMA = 57654
const PARSER = 57382
const PARTIAL = 58117
const PARTITION = 57855
const PARTITIONING = 57850
const PASSING = 57548
const PASSWORD = 58172
const PATH = 58118
const PERCENT_RANK = 58078
const PERSIST = 58119
const PERSIST_ONLY = 58120
const PLACING = 57402
const PLAN = 57549
const PLANS = 57550
const PLUGINS = 57968
const POINT = 57940
const POLICY = 57551
const POLYGON = 57942
const POSITION = 57552
const PRAGMA = 57886
const PRECEDING = 58121
const PRECISION = 57553
const PREPARE = 57852
const PREPARED = 57554
const PRESERVE = 57555
const PRIMARY = 57825
const PRIOR = 57556
const PRIVILEGES = 57969
const PRIVILEGE_CHECKS_USER = 58122
const PROCEDURAL = 57557
const PROCEDURE = 57859
const PROCEDURES = 57558
const PROCESS = 58123
const PROCESSLIST = 57970
const PROGRAM = 57559
const PUBLICATION = 57560
const QUARTER = 58014
const QUERY = 58054
const QUOTE = 57561
const QUOTES = 57562
const RAISE = 57887
const RANDOM = 58124
const RANGE = 57563
const RANK = 58079
const RATIO = 57895
const READ = 57982
const REAL = 57912
const REASSIGN = 57564
const REBUILD = 57849
const RECHECK = 57565
const RECURSIVE = 58080
const REDUNDANT = 58176
const REF = 57566
const REFERENCE = 58125
const REFERENCES = 57837
const REFERENCING = 57567
const REFRESH = 57568
const REGEXP = 57752
const REINDEX = 57569
const RELATIVE = 57570
const RELAY = 58161
const RELEASE = 57902
const REMOVE = 57851
const RENAME = 57809
const REORGANIZE = 57856
const REPAIR = 57844
const REPEATABLE = 57985
const REPLACE = 58019
const REPLICA = 57571
const REQUIRE_ROW_FORMAT = 58126
const RESET = 57572
const RESOURCE = 58127
const RESPECT = 58128
const RESTART = 58129
const RESTRICT = 57838
const RETAIN = 58130
const RETRY = 57889
const RETURN = 57573
const RETURNED_OCTET_LENGTH = 57655
const RETURNING = 58146
const RETURNS = 57574
const REUSE = 58131
const REVERT = 57817
const REVOKE = 57575
const RIGHT = 57674
const ROLE = 58132
const ROLLBACK = 57900
const ROLLUP = 57576
const ROUTINE = 57577
const ROUTINES = 57578
const ROW = 57579
const ROWS = 57580
const ROW_FORMAT = 58178
const ROW_NUMBER = 58081
const RTRIM = 58030
const RULE = 57581
const SAVEPOINT = 57901
const SCALAR = 57582
const SCHEMA = 57818
const SCHEMAS = 57971
const SCROLL = 57583
const SEARCH = 57584
const SECOND = 58015
const SECONDARY = 58133
const SECONDARY_ENGINE = 58134
const SECONDARY_ENGINE_ATTRIBUTE = 58135
const SECONDARY_LOAD = 58136
const SECONDARY_UNLOAD = 58137
const SECOND_MICROSECOND = 58016
const SECURITY = 57879
const SELECT = 57350
const SEPARATOR = 58025
const SEQUENCE = 57874
const SEQUENCES = 57585
const SERIALIZABLE = 57988
const SERVER = 57586
const SESSION = 57979
const SESSION_USER = 57403
const SET = 57374
const SETOF = 57587
const SETS = 57588
const SHARE = 57666
const SHARED = 57688
const SHIFT_LEFT = 57754
const SHIFT_RIGHT = 57755
const SHOW = 57839
const SIGNED = 57952
const SIMILAR = 57404
const SIMPLE = 58138
const SKIP = 58139
const SLOW = 58159
const SMALLINT = 57906
const SNAPSHOT = 57589
const SOME = 57405
const SOURCE = 57590
const SPATIAL = 57827
const SQL = 57872
const SQL_CACHE = 57669
const SQL_CALC_FOUND_ROWS = 57670
const SQL_NO_CACHE = 57668
const SRID = 58140
const STABLE = 57591
const STANDALONE = 57592
const START = 57897
const STARTING = 57449
const STATEMENT = 57593
const STATISTICS = 57594
const STATS_AUTO_RECALC = 58179
const STATS_PERSISTENT = 58180
const STATS_SAMPLE_PAGES = 58181
const STATUS = 57866
const STDIN = 57595
const STDOUT = 57596
const STORAGE = 58182
const STORED = 57727
const STRAIGHT_JOIN = 57672
const STREAM = 57351
const STRICT = 57597
const STRING = 57695
const STRIP = 57598
const SUBQUERY_AS_EXPR = 57690
const SUBSCRIPTION = 57599
const SUBSTR = 58022
const SUBSTRING = 58023
const SUPPORT = 57600
const SYMMETRIC = 57406
const SYSID = 57601
const SYSTEM = 58082
const SYSTEM_USER = 57407
const TABLE = 57819
const TABLES = 57972
const TABLESAMPLE = 57408
const TABLESPACE = 57725
const TARGET = 57602
const TEMP = 57603
const TEMPLATE = 57604
const TEMPORARY = 57876
const TEMPTABLE = 57877
const TERMINATED = 57448
const TEXT = 57927
const THAN = 57858
const THEN = 57743
const THREAD_PRIORITY = 58141
const THROTTLE = 57892
const TIES = 58142
const TIME = 57917
const TIMESTAMP = 57918
const TIMESTAMPADD = 58026
const TIMESTAMPDIFF = 58027
const TINYBLOB = 57932
const TINYINT = 57905
const TINYTEXT = 57928
const TO = 57822
const TRADITIONAL = 58149
const TRAILING = 57730
const TRANSACTION = 57898
const TRANSACTIONS_COMMITTED = 57656
const TRANSACTIONS_ROLLED_BACK = 57657
const TRANSFORM = 57605
const TREAT = 57606
const TREE = 58148
const TRIGGER = 57860
const TRIGGERS = 57973
const TRIM = 58031
const TRUE = 57718
const TRUNCATE = 57846
const TRUSTED = 57607
const TYPE = 57608
const TYPES = 57609
const UESCAPE = 57610
const UNARY = 57758
const UNBOUNDED = 58143
const UNCOMMITTED = 57987
const UNCONDITIONAL = 57611
const UNDEFINED = 57873
const UNDERSCORE_ARMSCII8 = 57761
const UNDERSCORE_ASCII = 57762
const UNDERSCORE_BIG5 = 57763
const UNDERSCORE_BINARY = 57764
const UNDERSCORE_CP1250 = 57765
const UNDERSCORE_CP1251 = 57766
const UNDERSCORE_CP1256 = 57767
const UNDERSCORE_CP1257 = 57768
const UNDERSCORE_CP850 = 57769
const UNDERSCORE_CP852 = 57770
const UNDERSCORE_CP866 = 57771
const UNDERSCORE_CP932 = 57772
const UNDERSCORE_DEC8 = 57773
const UNDERSCORE_EUCJPMS = 57774
const UNDERSCORE_EUCKR = 57775
const UNDERSCORE_GB18030 = 57776
const UNDERSCORE_GB2312 = 57777
const UNDERSCORE_GBK = 57778
const UNDERSCORE_GEOSTD8 = 57779
const UNDERSCORE_GREEK = 57780
const UNDERSCORE_HEBREW = 57781
const UNDERSCORE_HP8 = 57782
const UNDERSCORE_KEYBCS2 = 57783
const UNDERSCORE_KOI8R = 57784
const UNDERSCORE_KOI8U = 57785
const UNDERSCORE_LATIN1 = 57786
const UNDERSCORE_LATIN2 = 57787
const UNDERSCORE_LATIN5 = 57788
const UNDERSCORE_LATIN7 = 57789
const UNDERSCORE_MACCE = 57790
const UNDERSCORE_MACROMAN = 57791
const UNDERSCORE_SJIS = 57792
const UNDERSCORE_SWE7 = 57793
const UNDERSCORE_TIS620 = 57794
const UNDERSCORE_UCS2 = 57795
const UNDERSCORE_UJIS = 57796
const UNDERSCORE_UTF16 = 57797
const UNDERSCORE_UTF16LE = 57798
const UNDERSCORE_UTF32 = 57799
const UNDERSCORE_UTF8 = 57800
const UNDERSCORE_UTF8MB3 = 57802
const UNDERSCORE_UTF8MB4 = 57801
const UNENCRYPTED = 57612
const UNICODE = 57948
const UNION = 57349
const UNIQUE = 57734
const UNKNOWN = 57613
const UNLISTEN = 57614
const UNLOCK = 57376
const UNLOGGED = 57615
const UNSIGNED = 57953
const UNTHROTTLE = 57893
const UNTIL = 57616
const UNUSED = 58058
const UPDATE = 57354
const UPGRADE = 57865
const USE = 57679
const USER = 57974
const USER_DEFINED_TYPE_CATALOG = 57658
const USER_DEFINED_TYPE_CODE = 57659
const USER_DEFINED_TYPE_NAME = 57660
const USER_DEFINED_TYPE_SCHEMA = 57661
const USER_RESOURCES = 58158
const USING = 57682
const UTC_DATE = 57997
const UTC_TIME = 57998
const UTC_TIMESTAMP = 57999
const VACUUM = 57617
const VALID = 57618
const VALIDATE = 57619
const VALIDATION = 58057
const VALIDATOR = 57620
const VALUE = 57665
const VALUES = 57662
const VALUE_ARG = 57701
const VARBINARY = 57925
const VARCHAR = 57922
const VARIABLES = 57867
const VARIADIC = 57409
const VARYING = 57621
const VCPU = 58144
const VERBOSE = 57410
const VERSION = 57622
const VGTID_EXECUTED = 57975
const VIEW = 57821
const VIEWS = 57623
const VINDEX = 57861
const VINDEXES = 57862
const VIRTUAL = 57726
const VISIBLE = 58145
const VOLATILE = 57624
const VSCHEMA = 57976
const VSTREAM = 57352
const WARNINGS = 57868
const WEEK = 58018
const WEIGHT_STRING = 58028
const WHEN = 57742
const WHERE = 57357
const WHITESPACE = 57625
const WINDOW = 58083
const WITH = 58053
const WITHIN = 57626
const WITHOUT = 58056
const WORK = 57903
const WRAPPER = 57627
const WRITE = 57983
const XML = 57628
const XMLATTRIBUTES = 57629
const XMLCONCAT = 57630
const XMLELEMENT = 57631
const XMLEXISTS = 57632
const XMLFOREST = 57633
const XMLNAMESPACES = 57634
const XMLPARSE = 57635
const XMLPI = 57636
const XMLROOT = 57637
const XMLSERIALIZE = 57638
const XMLTABLE = 57639
const YEAR = 57920
const YEAR_MONTH = 58017
const YES = 57640
const ZEROFILL = 57954
const ZONE = 57641
Variables ¶
var SQLITE3ServerVersion = flag.String("sqlite3_server_version", "", "SQLITE3 server version to advertise.")
SQLITE3ServerVersion is what will present as it's version during the connection handshake, and as the value to the @@version system variable. If nothing is provided, will report itself as a specific SQLITE3 version with the vitess version appended to it
Functions ¶
func ExtractSqlite3Comment ¶
ExtractSqlite3Comment extracts the version and SQL from a comment-only query such as /*!50708 sql here */
func GetKeywords ¶
func KeywordString ¶
KeywordString returns the string corresponding to the given keyword
func ParsePooled ¶
sqlite3ParsePooled is a wrapper around sqlite3Parse that pools the parser objects. There isn't a particularly good reason to use sqlite3Parse directly, since it immediately discards its parser.
N.B: Parser pooling means that you CANNOT take references directly to parse stack variables (e.g. $$ = &$4) in sql.y rules. You must instead add an intermediate reference like so:
showCollationFilterOpt := $4 $$ = &Show{Type: string($2), ShowCollationFilterOpt: &showCollationFilterOpt}
Types ¶
type PositionedErr ¶
PositionedErr holds context related to parser errors
func (PositionedErr) Error ¶
func (p PositionedErr) Error() string
type Sqlite3Tokenizer ¶
type Sqlite3Tokenizer struct { AllowComments bool SkipSpecialComments bool SkipToEnd bool LastError error ParseTree ast.Statement BindVars map[string]struct{} Pos int // contains filtered or unexported fields }
Sqlite3Tokenizer is the struct used to generate SQL tokens for the parser.
func NewSqlite3StringTokenizer ¶
func NewSqlite3StringTokenizer(sql string) *Sqlite3Tokenizer
NewSqlite3StringTokenizer creates a new Tokenizer for the sql string.
func (*Sqlite3Tokenizer) BindVar ¶
func (tkn *Sqlite3Tokenizer) BindVar(bvar string, value struct{})
BindVar implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) Cur ¶
func (tkn *Sqlite3Tokenizer) Cur() rune
func (*Sqlite3Tokenizer) DecNesting ¶
func (tkn *Sqlite3Tokenizer) DecNesting()
DecNesting implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) Error ¶
func (tkn *Sqlite3Tokenizer) Error(err string)
Error is called by go yacc if there's a parsing error.
func (*Sqlite3Tokenizer) GetBindVars ¶
func (tkn *Sqlite3Tokenizer) GetBindVars() ast.BindVars
GetBindVars implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) GetDialect ¶
func (tkn *Sqlite3Tokenizer) GetDialect() dialect.SqlDialect
GetDialect implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) GetIdToken ¶
func (tkn *Sqlite3Tokenizer) GetIdToken() int
GetIdToken implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) GetKeywordString ¶
func (tkn *Sqlite3Tokenizer) GetKeywordString(token int) string
GetKeywordString implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) GetLastError ¶
func (tkn *Sqlite3Tokenizer) GetLastError() error
GetLastError implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) GetNesting ¶
func (tkn *Sqlite3Tokenizer) GetNesting() int
GetNesting implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) GetParseTree ¶
func (tkn *Sqlite3Tokenizer) GetParseTree() ast.Statement
GetParseTree implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) GetPartialDDL ¶
func (tkn *Sqlite3Tokenizer) GetPartialDDL() ast.Statement
GetPartialDDL implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) GetPos ¶
func (tkn *Sqlite3Tokenizer) GetPos() int
GetPos implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) GetText ¶
func (tkn *Sqlite3Tokenizer) GetText(startPos int) string
GetText implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) IncNesting ¶
func (tkn *Sqlite3Tokenizer) IncNesting()
IncNesting implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) Lex ¶
func (tkn *Sqlite3Tokenizer) Lex(lval *sqlite3SymType) int
Lex returns the next token form the Tokenizer. This function is used by go yacc.
func (*Sqlite3Tokenizer) Peek ¶
func (tkn *Sqlite3Tokenizer) Peek(dist int) rune
func (*Sqlite3Tokenizer) Reset ¶
func (tkn *Sqlite3Tokenizer) Reset()
Reset clears any internal state.
func (*Sqlite3Tokenizer) ResetTo ¶
func (tkn *Sqlite3Tokenizer) ResetTo(nextPos int)
ResetTo implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) Scan ¶
func (tkn *Sqlite3Tokenizer) Scan() (int, string)
Scan scans the tokenizer for the next token and returns the token type and an optional value.
func (*Sqlite3Tokenizer) SetAllowComments ¶
func (tkn *Sqlite3Tokenizer) SetAllowComments(allow bool)
SetAllowComments implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) SetIgnoreCommentKeyword ¶
func (tkn *Sqlite3Tokenizer) SetIgnoreCommentKeyword(ignore bool)
SetAllowComments implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) SetMulti ¶
func (tkn *Sqlite3Tokenizer) SetMulti(multi bool)
SetMulti implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) SetParseTree ¶
func (tkn *Sqlite3Tokenizer) SetParseTree(stmt ast.Statement)
SetParseTree implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) SetPartialDDL ¶
func (tkn *Sqlite3Tokenizer) SetPartialDDL(node ast.Statement)
SetPartialDDL implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) SetSkipSpecialComments ¶
func (tkn *Sqlite3Tokenizer) SetSkipSpecialComments(skip bool)
SetSkipSpecialComments implements tokenizer.Tokenizer.
func (*Sqlite3Tokenizer) SetSkipToEnd ¶
func (tkn *Sqlite3Tokenizer) SetSkipToEnd(skip bool)
SetSkipToEnd implements sql_parser.Tokenizer.
func (*Sqlite3Tokenizer) Skip ¶
func (tkn *Sqlite3Tokenizer) Skip(dist int)
func (*Sqlite3Tokenizer) SkipBlank ¶
func (tkn *Sqlite3Tokenizer) SkipBlank()
SkipBlank skips the cursor while it finds whitespace