ReactOS  0.4.14-dev-337-gf981a68
sql.tab.c File Reference
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include "windef.h"
#include "winbase.h"
#include "query.h"
#include "wine/list.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include <stddef.h>
Include dependency graph for sql.tab.c:

Go to the source code of this file.

Classes

union  YYSTYPE
 
union  yyalloc
 

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.0"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   1
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define yyparse   sql_parse
 
#define yylex   sql_lex
 
#define yyerror   sql_error
 
#define yydebug   sql_debug
 
#define yynerrs   sql_nerrs
 
#define PARSER_BUBBLE_UP_VIEW(sql, result, current_view)
 
#define YY_NULL   0
 
#define YYERROR_VERBOSE   0
 
#define YY_SQL_E_REACTOSSYNC_GCC_DLL_WIN32_MSI_SQL_TAB_H_INCLUDED
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYSTYPE_IS_TRIVIAL   1
 
#define YYSTYPE_IS_DECLARED   1
 
#define YYSIZE_T   size_t
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(Msgid)   Msgid
 
#define __attribute__(Spec)   /* empty */
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYCOPY(Dst, Src, Count)
 
#define YYFINAL   36
 
#define YYLAST   156
 
#define YYNTOKENS   65
 
#define YYNNTS   37
 
#define YYNRULES   87
 
#define YYNSTATES   154
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   319
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -80
 
#define yypact_value_is_default(Yystate)   (!!((Yystate) == (-80)))
 
#define YYTABLE_NINF   -85
 
#define yytable_value_is_error(Yytable_value)   0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYEMPTY   (-2)
 
#define YYEOF   0
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 

Typedefs

typedef union YYSTYPE YYSTYPE
 
typedef unsigned char yytype_uint8
 
typedef signed char yytype_int8
 
typedef unsigned short int yytype_uint16
 
typedef short int yytype_int16
 

Enumerations

enum  yytokentype {
  INSTR_ADD = 258, INSTR_NOP = 259, INSTR_MOV = 260, INSTR_SUB = 261,
  INSTR_MAD = 262, INSTR_MUL = 263, INSTR_RCP = 264, INSTR_RSQ = 265,
  INSTR_DP3 = 266, INSTR_DP4 = 267, INSTR_MIN = 268, INSTR_MAX = 269,
  INSTR_SLT = 270, INSTR_SGE = 271, INSTR_ABS = 272, INSTR_EXP = 273,
  INSTR_LOG = 274, INSTR_EXPP = 275, INSTR_LOGP = 276, INSTR_DST = 277,
  INSTR_LRP = 278, INSTR_FRC = 279, INSTR_POW = 280, INSTR_CRS = 281,
  INSTR_SGN = 282, INSTR_NRM = 283, INSTR_SINCOS = 284, INSTR_M4x4 = 285,
  INSTR_M4x3 = 286, INSTR_M3x4 = 287, INSTR_M3x3 = 288, INSTR_M3x2 = 289,
  INSTR_DCL = 290, INSTR_DEF = 291, INSTR_DEFB = 292, INSTR_DEFI = 293,
  INSTR_REP = 294, INSTR_ENDREP = 295, INSTR_IF = 296, INSTR_ELSE = 297,
  INSTR_ENDIF = 298, INSTR_BREAK = 299, INSTR_BREAKP = 300, INSTR_CALL = 301,
  INSTR_CALLNZ = 302, INSTR_LOOP = 303, INSTR_RET = 304, INSTR_ENDLOOP = 305,
  INSTR_LABEL = 306, INSTR_SETP = 307, INSTR_TEXLDL = 308, INSTR_LIT = 309,
  INSTR_MOVA = 310, INSTR_CND = 311, INSTR_CMP = 312, INSTR_DP2ADD = 313,
  INSTR_TEXCOORD = 314, INSTR_TEXCRD = 315, INSTR_TEXKILL = 316, INSTR_TEX = 317,
  INSTR_TEXLD = 318, INSTR_TEXBEM = 319, INSTR_TEXBEML = 320, INSTR_TEXREG2AR = 321,
  INSTR_TEXREG2GB = 322, INSTR_TEXREG2RGB = 323, INSTR_TEXM3x2PAD = 324, INSTR_TEXM3x2TEX = 325,
  INSTR_TEXM3x3PAD = 326, INSTR_TEXM3x3SPEC = 327, INSTR_TEXM3x3VSPEC = 328, INSTR_TEXM3x3TEX = 329,
  INSTR_TEXDP3TEX = 330, INSTR_TEXM3x2DEPTH = 331, INSTR_TEXDP3 = 332, INSTR_TEXM3x3 = 333,
  INSTR_TEXDEPTH = 334, INSTR_BEM = 335, INSTR_DSX = 336, INSTR_DSY = 337,
  INSTR_TEXLDP = 338, INSTR_TEXLDB = 339, INSTR_TEXLDD = 340, INSTR_PHASE = 341,
  REG_TEMP = 342, REG_OUTPUT = 343, REG_INPUT = 344, REG_CONSTFLOAT = 345,
  REG_CONSTINT = 346, REG_CONSTBOOL = 347, REG_TEXTURE = 348, REG_SAMPLER = 349,
  REG_TEXCRDOUT = 350, REG_OPOS = 351, REG_OFOG = 352, REG_OPTS = 353,
  REG_VERTEXCOLOR = 354, REG_FRAGCOLOR = 355, REG_FRAGDEPTH = 356, REG_VPOS = 357,
  REG_VFACE = 358, REG_ADDRESS = 359, REG_LOOP = 360, REG_PREDICATE = 361,
  REG_LABEL = 362, VER_VS10 = 363, VER_VS11 = 364, VER_VS20 = 365,
  VER_VS2X = 366, VER_VS30 = 367, VER_PS10 = 368, VER_PS11 = 369,
  VER_PS12 = 370, VER_PS13 = 371, VER_PS14 = 372, VER_PS20 = 373,
  VER_PS2X = 374, VER_PS30 = 375, SHIFT_X2 = 376, SHIFT_X4 = 377,
  SHIFT_X8 = 378, SHIFT_D2 = 379, SHIFT_D4 = 380, SHIFT_D8 = 381,
  MOD_SAT = 382, MOD_PP = 383, MOD_CENTROID = 384, COMP_GT = 385,
  COMP_LT = 386, COMP_GE = 387, COMP_LE = 388, COMP_EQ = 389,
  COMP_NE = 390, SMOD_BIAS = 391, SMOD_SCALEBIAS = 392, SMOD_DZ = 393,
  SMOD_DW = 394, SMOD_ABS = 395, SMOD_NOT = 396, SAMPTYPE_1D = 397,
  SAMPTYPE_2D = 398, SAMPTYPE_CUBE = 399, SAMPTYPE_VOLUME = 400, USAGE_POSITION = 401,
  USAGE_BLENDWEIGHT = 402, USAGE_BLENDINDICES = 403, USAGE_NORMAL = 404, USAGE_PSIZE = 405,
  USAGE_TEXCOORD = 406, USAGE_TANGENT = 407, USAGE_BINORMAL = 408, USAGE_TESSFACTOR = 409,
  USAGE_POSITIONT = 410, USAGE_COLOR = 411, USAGE_FOG = 412, USAGE_DEPTH = 413,
  USAGE_SAMPLE = 414, COMPONENT = 415, IMMVAL = 416, IMMBOOL = 417,
  INSTR_ADD = 258, INSTR_NOP = 259, INSTR_MOV = 260, INSTR_SUB = 261,
  INSTR_MAD = 262, INSTR_MUL = 263, INSTR_RCP = 264, INSTR_RSQ = 265,
  INSTR_DP3 = 266, INSTR_DP4 = 267, INSTR_MIN = 268, INSTR_MAX = 269,
  INSTR_SLT = 270, INSTR_SGE = 271, INSTR_ABS = 272, INSTR_EXP = 273,
  INSTR_LOG = 274, INSTR_EXPP = 275, INSTR_LOGP = 276, INSTR_DST = 277,
  INSTR_LRP = 278, INSTR_FRC = 279, INSTR_POW = 280, INSTR_CRS = 281,
  INSTR_SGN = 282, INSTR_NRM = 283, INSTR_SINCOS = 284, INSTR_M4x4 = 285,
  INSTR_M4x3 = 286, INSTR_M3x4 = 287, INSTR_M3x3 = 288, INSTR_M3x2 = 289,
  INSTR_DCL = 290, INSTR_DEF = 291, INSTR_DEFB = 292, INSTR_DEFI = 293,
  INSTR_REP = 294, INSTR_ENDREP = 295, INSTR_IF = 296, INSTR_ELSE = 297,
  INSTR_ENDIF = 298, INSTR_BREAK = 299, INSTR_BREAKP = 300, INSTR_CALL = 301,
  INSTR_CALLNZ = 302, INSTR_LOOP = 303, INSTR_RET = 304, INSTR_ENDLOOP = 305,
  INSTR_LABEL = 306, INSTR_SETP = 307, INSTR_TEXLDL = 308, INSTR_LIT = 309,
  INSTR_MOVA = 310, INSTR_CND = 311, INSTR_CMP = 312, INSTR_DP2ADD = 313,
  INSTR_TEXCOORD = 314, INSTR_TEXCRD = 315, INSTR_TEXKILL = 316, INSTR_TEX = 317,
  INSTR_TEXLD = 318, INSTR_TEXBEM = 319, INSTR_TEXBEML = 320, INSTR_TEXREG2AR = 321,
  INSTR_TEXREG2GB = 322, INSTR_TEXREG2RGB = 323, INSTR_TEXM3x2PAD = 324, INSTR_TEXM3x2TEX = 325,
  INSTR_TEXM3x3PAD = 326, INSTR_TEXM3x3SPEC = 327, INSTR_TEXM3x3VSPEC = 328, INSTR_TEXM3x3TEX = 329,
  INSTR_TEXDP3TEX = 330, INSTR_TEXM3x2DEPTH = 331, INSTR_TEXDP3 = 332, INSTR_TEXM3x3 = 333,
  INSTR_TEXDEPTH = 334, INSTR_BEM = 335, INSTR_DSX = 336, INSTR_DSY = 337,
  INSTR_TEXLDP = 338, INSTR_TEXLDB = 339, INSTR_TEXLDD = 340, INSTR_PHASE = 341,
  REG_TEMP = 342, REG_OUTPUT = 343, REG_INPUT = 344, REG_CONSTFLOAT = 345,
  REG_CONSTINT = 346, REG_CONSTBOOL = 347, REG_TEXTURE = 348, REG_SAMPLER = 349,
  REG_TEXCRDOUT = 350, REG_OPOS = 351, REG_OFOG = 352, REG_OPTS = 353,
  REG_VERTEXCOLOR = 354, REG_FRAGCOLOR = 355, REG_FRAGDEPTH = 356, REG_VPOS = 357,
  REG_VFACE = 358, REG_ADDRESS = 359, REG_LOOP = 360, REG_PREDICATE = 361,
  REG_LABEL = 362, VER_VS10 = 363, VER_VS11 = 364, VER_VS20 = 365,
  VER_VS2X = 366, VER_VS30 = 367, VER_PS10 = 368, VER_PS11 = 369,
  VER_PS12 = 370, VER_PS13 = 371, VER_PS14 = 372, VER_PS20 = 373,
  VER_PS2X = 374, VER_PS30 = 375, SHIFT_X2 = 376, SHIFT_X4 = 377,
  SHIFT_X8 = 378, SHIFT_D2 = 379, SHIFT_D4 = 380, SHIFT_D8 = 381,
  MOD_SAT = 382, MOD_PP = 383, MOD_CENTROID = 384, COMP_GT = 385,
  COMP_LT = 386, COMP_GE = 387, COMP_LE = 388, COMP_EQ = 389,
  COMP_NE = 390, SMOD_BIAS = 391, SMOD_SCALEBIAS = 392, SMOD_DZ = 393,
  SMOD_DW = 394, SMOD_ABS = 395, SMOD_NOT = 396, SAMPTYPE_1D = 397,
  SAMPTYPE_2D = 398, SAMPTYPE_CUBE = 399, SAMPTYPE_VOLUME = 400, USAGE_POSITION = 401,
  USAGE_BLENDWEIGHT = 402, USAGE_BLENDINDICES = 403, USAGE_NORMAL = 404, USAGE_PSIZE = 405,
  USAGE_TEXCOORD = 406, USAGE_TANGENT = 407, USAGE_BINORMAL = 408, USAGE_TESSFACTOR = 409,
  USAGE_POSITIONT = 410, USAGE_COLOR = 411, USAGE_FOG = 412, USAGE_DEPTH = 413,
  USAGE_SAMPLE = 414, COMPONENT = 415, IMMVAL = 416, IMMBOOL = 417,
  KW_BLENDSTATE = 258, KW_BREAK = 259, KW_BUFFER = 260, KW_CBUFFER = 261,
  KW_COLUMN_MAJOR = 262, KW_COMPILE = 263, KW_CONST = 264, KW_CONTINUE = 265,
  KW_DEPTHSTENCILSTATE = 266, KW_DEPTHSTENCILVIEW = 267, KW_DISCARD = 268, KW_DO = 269,
  KW_DOUBLE = 270, KW_ELSE = 271, KW_EXTERN = 272, KW_FALSE = 273,
  KW_FOR = 274, KW_GEOMETRYSHADER = 275, KW_GROUPSHARED = 276, KW_IF = 277,
  KW_IN = 278, KW_INLINE = 279, KW_INOUT = 280, KW_MATRIX = 281,
  KW_NAMESPACE = 282, KW_NOINTERPOLATION = 283, KW_OUT = 284, KW_PASS = 285,
  KW_PIXELSHADER = 286, KW_PRECISE = 287, KW_RASTERIZERSTATE = 288, KW_RENDERTARGETVIEW = 289,
  KW_RETURN = 290, KW_REGISTER = 291, KW_ROW_MAJOR = 292, KW_SAMPLER = 293,
  KW_SAMPLER1D = 294, KW_SAMPLER2D = 295, KW_SAMPLER3D = 296, KW_SAMPLERCUBE = 297,
  KW_SAMPLER_STATE = 298, KW_SAMPLERCOMPARISONSTATE = 299, KW_SHARED = 300, KW_STATEBLOCK = 301,
  KW_STATEBLOCK_STATE = 302, KW_STATIC = 303, KW_STRING = 304, KW_STRUCT = 305,
  KW_SWITCH = 306, KW_TBUFFER = 307, KW_TECHNIQUE = 308, KW_TECHNIQUE10 = 309,
  KW_TEXTURE = 310, KW_TEXTURE1D = 311, KW_TEXTURE1DARRAY = 312, KW_TEXTURE2D = 313,
  KW_TEXTURE2DARRAY = 314, KW_TEXTURE2DMS = 315, KW_TEXTURE2DMSARRAY = 316, KW_TEXTURE3D = 317,
  KW_TEXTURE3DARRAY = 318, KW_TEXTURECUBE = 319, KW_TRUE = 320, KW_TYPEDEF = 321,
  KW_UNIFORM = 322, KW_VECTOR = 323, KW_VERTEXSHADER = 324, KW_VOID = 325,
  KW_VOLATILE = 326, KW_WHILE = 327, OP_INC = 328, OP_DEC = 329,
  OP_AND = 330, OP_OR = 331, OP_EQ = 332, OP_LEFTSHIFT = 333,
  OP_LEFTSHIFTASSIGN = 334, OP_RIGHTSHIFT = 335, OP_RIGHTSHIFTASSIGN = 336, OP_ELLIPSIS = 337,
  OP_LE = 338, OP_GE = 339, OP_NE = 340, OP_ADDASSIGN = 341,
  OP_SUBASSIGN = 342, OP_MULASSIGN = 343, OP_DIVASSIGN = 344, OP_MODASSIGN = 345,
  OP_ANDASSIGN = 346, OP_ORASSIGN = 347, OP_XORASSIGN = 348, OP_UNKNOWN1 = 349,
  OP_UNKNOWN2 = 350, OP_UNKNOWN3 = 351, OP_UNKNOWN4 = 352, PRE_LINE = 353,
  VAR_IDENTIFIER = 354, TYPE_IDENTIFIER = 355, NEW_IDENTIFIER = 356, STRING = 357,
  C_FLOAT = 358, C_INTEGER = 359, KW_BLENDSTATE = 258, KW_BREAK = 259,
  KW_BUFFER = 260, KW_CBUFFER = 261, KW_COLUMN_MAJOR = 262, KW_COMPILE = 263,
  KW_CONST = 264, KW_CONTINUE = 265, KW_DEPTHSTENCILSTATE = 266, KW_DEPTHSTENCILVIEW = 267,
  KW_DISCARD = 268, KW_DO = 269, KW_DOUBLE = 270, KW_ELSE = 271,
  KW_EXTERN = 272, KW_FALSE = 273, KW_FOR = 274, KW_GEOMETRYSHADER = 275,
  KW_GROUPSHARED = 276, KW_IF = 277, KW_IN = 278, KW_INLINE = 279,
  KW_INOUT = 280, KW_MATRIX = 281, KW_NAMESPACE = 282, KW_NOINTERPOLATION = 283,
  KW_OUT = 284, KW_PASS = 285, KW_PIXELSHADER = 286, KW_PRECISE = 287,
  KW_RASTERIZERSTATE = 288, KW_RENDERTARGETVIEW = 289, KW_RETURN = 290, KW_REGISTER = 291,
  KW_ROW_MAJOR = 292, KW_SAMPLER = 293, KW_SAMPLER1D = 294, KW_SAMPLER2D = 295,
  KW_SAMPLER3D = 296, KW_SAMPLERCUBE = 297, KW_SAMPLER_STATE = 298, KW_SAMPLERCOMPARISONSTATE = 299,
  KW_SHARED = 300, KW_STATEBLOCK = 301, KW_STATEBLOCK_STATE = 302, KW_STATIC = 303,
  KW_STRING = 304, KW_STRUCT = 305, KW_SWITCH = 306, KW_TBUFFER = 307,
  KW_TECHNIQUE = 308, KW_TECHNIQUE10 = 309, KW_TEXTURE = 310, KW_TEXTURE1D = 311,
  KW_TEXTURE1DARRAY = 312, KW_TEXTURE2D = 313, KW_TEXTURE2DARRAY = 314, KW_TEXTURE2DMS = 315,
  KW_TEXTURE2DMSARRAY = 316, KW_TEXTURE3D = 317, KW_TEXTURE3DARRAY = 318, KW_TEXTURECUBE = 319,
  KW_TRUE = 320, KW_TYPEDEF = 321, KW_UNIFORM = 322, KW_VECTOR = 323,
  KW_VERTEXSHADER = 324, KW_VOID = 325, KW_VOLATILE = 326, KW_WHILE = 327,
  OP_INC = 328, OP_DEC = 329, OP_AND = 330, OP_OR = 331,
  OP_EQ = 332, OP_LEFTSHIFT = 333, OP_LEFTSHIFTASSIGN = 334, OP_RIGHTSHIFT = 335,
  OP_RIGHTSHIFTASSIGN = 336, OP_ELLIPSIS = 337, OP_LE = 338, OP_GE = 339,
  OP_NE = 340, OP_ADDASSIGN = 341, OP_SUBASSIGN = 342, OP_MULASSIGN = 343,
  OP_DIVASSIGN = 344, OP_MODASSIGN = 345, OP_ANDASSIGN = 346, OP_ORASSIGN = 347,
  OP_XORASSIGN = 348, OP_UNKNOWN1 = 349, OP_UNKNOWN2 = 350, OP_UNKNOWN3 = 351,
  OP_UNKNOWN4 = 352, PRE_LINE = 353, VAR_IDENTIFIER = 354, TYPE_IDENTIFIER = 355,
  NEW_IDENTIFIER = 356, STRING = 357, C_FLOAT = 358, C_INTEGER = 359,
  tRCINCLUDE = 258, tIF = 259, tIFDEF = 260, tIFNDEF = 261,
  tELSE = 262, tELIF = 263, tENDIF = 264, tDEFINED = 265,
  tNL = 266, tINCLUDE = 267, tLINE = 268, tGCCLINE = 269,
  tERROR = 270, tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273,
  tUNDEF = 274, tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277,
  tSTRINGIZE = 278, tIDENT = 279, tLITERAL = 280, tMACRO = 281,
  tDEFINE = 282, tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285,
  tUINT = 286, tSINT = 287, tULONG = 288, tSLONG = 289,
  tULONGLONG = 290, tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293,
  tLOGAND = 294, tEQ = 295, tNE = 296, tLTE = 297,
  tGTE = 298, tLSHIFT = 299, tRSHIFT = 300, tRCINCLUDE = 258,
  tIF = 259, tIFDEF = 260, tIFNDEF = 261, tELSE = 262,
  tELIF = 263, tENDIF = 264, tDEFINED = 265, tNL = 266,
  tINCLUDE = 267, tLINE = 268, tGCCLINE = 269, tERROR = 270,
  tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273, tUNDEF = 274,
  tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277, tSTRINGIZE = 278,
  tIDENT = 279, tLITERAL = 280, tMACRO = 281, tDEFINE = 282,
  tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285, tUINT = 286,
  tSINT = 287, tULONG = 288, tSLONG = 289, tULONGLONG = 290,
  tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293, tLOGAND = 294,
  tEQ = 295, tNE = 296, tLTE = 297, tGTE = 298,
  tLSHIFT = 299, tRSHIFT = 300, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, tEQ = 258, tEQEQ = 259,
  tNEQ = 260, tNEQEQ = 261, tLSHIFT = 262, tRSHIFT = 263,
  tRRSHIFT = 264, tOR = 265, tAND = 266, tLEQ = 267,
  tGEQ = 268, tCCValue = 269, kBREAK = 258, kCASE = 259,
  kCATCH = 260, kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263,
  kDO = 264, kELSE = 265, kFUNCTION = 266, kIF = 267,
  kFINALLY = 268, kFOR = 269, kGET = 270, kIN = 271,
  kSET = 272, kINSTANCEOF = 273, kNEW = 274, kNULL = 275,
  kRETURN = 276, kSWITCH = 277, kTHIS = 278, kTHROW = 279,
  kTRUE = 280, kFALSE = 281, kTRY = 282, kTYPEOF = 283,
  kVAR = 284, kVOID = 285, kWHILE = 286, kWITH = 287,
  tANDAND = 288, tOROR = 289, tINC = 290, tDEC = 291,
  tHTMLCOMMENT = 292, kDIVEQ = 293, kDCOL = 294, tIdentifier = 295,
  tAssignOper = 296, tEqOper = 297, tShiftOper = 298, tRelOper = 299,
  tNumericLiteral = 300, tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303,
  LOWER_THAN_ELSE = 304, kBREAK = 258, kCASE = 259, kCATCH = 260,
  kCONTINUE = 261, kDEFAULT = 262, kDELETE = 263, kDO = 264,
  kELSE = 265, kFUNCTION = 266, kIF = 267, kFINALLY = 268,
  kFOR = 269, kGET = 270, kIN = 271, kSET = 272,
  kINSTANCEOF = 273, kNEW = 274, kNULL = 275, kRETURN = 276,
  kSWITCH = 277, kTHIS = 278, kTHROW = 279, kTRUE = 280,
  kFALSE = 281, kTRY = 282, kTYPEOF = 283, kVAR = 284,
  kVOID = 285, kWHILE = 286, kWITH = 287, tANDAND = 288,
  tOROR = 289, tINC = 290, tDEC = 291, tHTMLCOMMENT = 292,
  kDIVEQ = 293, kDCOL = 294, tIdentifier = 295, tAssignOper = 296,
  tEqOper = 297, tShiftOper = 298, tRelOper = 299, tNumericLiteral = 300,
  tBooleanLiteral = 301, tStringLiteral = 302, tEOF = 303, LOWER_THAN_ELSE = 304,
  COND_SPACE = 258, COND_EOF = 259, COND_OR = 260, COND_AND = 261,
  COND_NOT = 262, COND_XOR = 263, COND_IMP = 264, COND_EQV = 265,
  COND_LT = 266, COND_GT = 267, COND_EQ = 268, COND_NE = 269,
  COND_GE = 270, COND_LE = 271, COND_ILT = 272, COND_IGT = 273,
  COND_IEQ = 274, COND_INE = 275, COND_IGE = 276, COND_ILE = 277,
  COND_LPAR = 278, COND_RPAR = 279, COND_TILDA = 280, COND_SS = 281,
  COND_ISS = 282, COND_ILHS = 283, COND_IRHS = 284, COND_LHS = 285,
  COND_RHS = 286, COND_PERCENT = 287, COND_DOLLARS = 288, COND_QUESTION = 289,
  COND_AMPER = 290, COND_EXCLAM = 291, COND_IDENT = 292, COND_NUMBER = 293,
  COND_LITER = 294, COND_ERROR = 295, TK_ALTER = 258, TK_AND = 259,
  TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262, TK_CREATE = 263,
  TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266, TK_DOT = 267,
  TK_EQ = 268, TK_FREE = 269, TK_FROM = 270, TK_GE = 271,
  TK_GT = 272, TK_HOLD = 273, TK_ADD = 274, TK_ID = 275,
  TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278, TK_INTEGER = 279,
  TK_INTO = 280, TK_IS = 281, TK_KEY = 282, TK_LE = 283,
  TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286, TK_LT = 287,
  TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290, TK_NOT = 291,
  TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294, TK_ORDER = 295,
  TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298, TK_SET = 299,
  TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302, TK_STRING = 303,
  TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306, TK_VALUES = 307,
  TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310, ILLEGAL = 311,
  SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314, FUNCTION = 315,
  COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319, TK_ALTER = 258,
  TK_AND = 259, TK_BY = 260, TK_CHAR = 261, TK_COMMA = 262,
  TK_CREATE = 263, TK_DELETE = 264, TK_DROP = 265, TK_DISTINCT = 266,
  TK_DOT = 267, TK_EQ = 268, TK_FREE = 269, TK_FROM = 270,
  TK_GE = 271, TK_GT = 272, TK_HOLD = 273, TK_ADD = 274,
  TK_ID = 275, TK_ILLEGAL = 276, TK_INSERT = 277, TK_INT = 278,
  TK_INTEGER = 279, TK_INTO = 280, TK_IS = 281, TK_KEY = 282,
  TK_LE = 283, TK_LONG = 284, TK_LONGCHAR = 285, TK_LP = 286,
  TK_LT = 287, TK_LOCALIZABLE = 288, TK_MINUS = 289, TK_NE = 290,
  TK_NOT = 291, TK_NULL = 292, TK_OBJECT = 293, TK_OR = 294,
  TK_ORDER = 295, TK_PRIMARY = 296, TK_RP = 297, TK_SELECT = 298,
  TK_SET = 299, TK_SHORT = 300, TK_SPACE = 301, TK_STAR = 302,
  TK_STRING = 303, TK_TABLE = 304, TK_TEMPORARY = 305, TK_UPDATE = 306,
  TK_VALUES = 307, TK_WHERE = 308, TK_WILDCARD = 309, END_OF_FILE = 310,
  ILLEGAL = 311, SPACE = 312, UNCLOSED_STRING = 313, COMMENT = 314,
  FUNCTION = 315, COLUMN = 316, TK_LIKE = 318, TK_NEGATION = 319,
  TOK_Parent = 258, TOK_Self = 259, TOK_DblFSlash = 260, TOK_FSlash = 261,
  TOK_Axis = 262, TOK_Colon = 263, TOK_OpAnd = 264, TOK_OpOr = 265,
  TOK_OpNot = 266, TOK_OpEq = 267, TOK_OpIEq = 268, TOK_OpNEq = 269,
  TOK_OpINEq = 270, TOK_OpLt = 271, TOK_OpILt = 272, TOK_OpGt = 273,
  TOK_OpIGt = 274, TOK_OpLEq = 275, TOK_OpILEq = 276, TOK_OpGEq = 277,
  TOK_OpIGEq = 278, TOK_OpAll = 279, TOK_OpAny = 280, TOK_NCName = 281,
  TOK_Literal = 282, TOK_Number = 283, tEOF = 258, tNL = 259,
  tREM = 260, tEMPTYBRACKETS = 261, tTRUE = 262, tFALSE = 263,
  tNOT = 264, tAND = 265, tOR = 266, tXOR = 267,
  tEQV = 268, tIMP = 269, tNEQ = 270, tIS = 271,
  tLTEQ = 272, tGTEQ = 273, tMOD = 274, tCALL = 275,
  tDIM = 276, tSUB = 277, tFUNCTION = 278, tPROPERTY = 279,
  tGET = 280, tLET = 281, tCONST = 282, tIF = 283,
  tELSE = 284, tELSEIF = 285, tEND = 286, tTHEN = 287,
  tEXIT = 288, tWHILE = 289, tWEND = 290, tDO = 291,
  tLOOP = 292, tUNTIL = 293, tFOR = 294, tTO = 295,
  tSTEP = 296, tEACH = 297, tIN = 298, tSELECT = 299,
  tCASE = 300, tBYREF = 301, tBYVAL = 302, tOPTION = 303,
  tEXPLICIT = 304, tSTOP = 305, tNOTHING = 306, tEMPTY = 307,
  tNULL = 308, tCLASS = 309, tSET = 310, tNEW = 311,
  tPUBLIC = 312, tPRIVATE = 313, tDEFAULT = 314, tME = 315,
  tERROR = 316, tNEXT = 317, tON = 318, tRESUME = 319,
  tGOTO = 320, tIdentifier = 321, tString = 322, tLong = 323,
  tShort = 324, tDouble = 325, tEOF = 258, tNL = 259,
  tREM = 260, tEMPTYBRACKETS = 261, tTRUE = 262, tFALSE = 263,
  tNOT = 264, tAND = 265, tOR = 266, tXOR = 267,
  tEQV = 268, tIMP = 269, tNEQ = 270, tIS = 271,
  tLTEQ = 272, tGTEQ = 273, tMOD = 274, tCALL = 275,
  tDIM = 276, tSUB = 277, tFUNCTION = 278, tPROPERTY = 279,
  tGET = 280, tLET = 281, tCONST = 282, tIF = 283,
  tELSE = 284, tELSEIF = 285, tEND = 286, tTHEN = 287,
  tEXIT = 288, tWHILE = 289, tWEND = 290, tDO = 291,
  tLOOP = 292, tUNTIL = 293, tFOR = 294, tTO = 295,
  tSTEP = 296, tEACH = 297, tIN = 298, tSELECT = 299,
  tCASE = 300, tBYREF = 301, tBYVAL = 302, tOPTION = 303,
  tEXPLICIT = 304, tSTOP = 305, tNOTHING = 306, tEMPTY = 307,
  tNULL = 308, tCLASS = 309, tSET = 310, tNEW = 311,
  tPUBLIC = 312, tPRIVATE = 313, tDEFAULT = 314, tME = 315,
  tERROR = 316, tNEXT = 317, tON = 318, tRESUME = 319,
  tGOTO = 320, tIdentifier = 321, tString = 322, tLong = 323,
  tShort = 324, tDouble = 325, TK_SELECT = 258, TK_FROM = 259,
  TK_STAR = 260, TK_COMMA = 261, TK_DOT = 262, TK_IS = 263,
  TK_LP = 264, TK_RP = 265, TK_NULL = 266, TK_FALSE = 267,
  TK_TRUE = 268, TK_INTEGER = 269, TK_WHERE = 270, TK_SPACE = 271,
  TK_MINUS = 272, TK_ILLEGAL = 273, TK_BY = 274, TK_STRING = 275,
  TK_ID = 276, TK_OR = 277, TK_AND = 278, TK_NOT = 279,
  TK_EQ = 280, TK_NE = 281, TK_LT = 282, TK_GT = 283,
  TK_LE = 284, TK_GE = 285, TK_LIKE = 286, TK_SELECT = 258,
  TK_FROM = 259, TK_STAR = 260, TK_COMMA = 261, TK_DOT = 262,
  TK_IS = 263, TK_LP = 264, TK_RP = 265, TK_NULL = 266,
  TK_FALSE = 267, TK_TRUE = 268, TK_INTEGER = 269, TK_WHERE = 270,
  TK_SPACE = 271, TK_MINUS = 272, TK_ILLEGAL = 273, TK_BY = 274,
  TK_STRING = 275, TK_ID = 276, TK_OR = 277, TK_AND = 278,
  TK_NOT = 279, TK_EQ = 280, TK_NE = 281, TK_LT = 282,
  TK_GT = 283, TK_LE = 284, TK_GE = 285, TK_LIKE = 286,
  aIDENTIFIER = 258, aPRAGMA = 259, aKNOWNTYPE = 260, aNUM = 261,
  aHEXNUM = 262, aDOUBLE = 263, aSTRING = 264, aWSTRING = 265,
  aSQSTRING = 266, aUUID = 267, aEOF = 268, aACF = 269,
  SHL = 270, SHR = 271, MEMBERPTR = 272, EQUALITY = 273,
  INEQUALITY = 274, GREATEREQUAL = 275, LESSEQUAL = 276, LOGICALOR = 277,
  LOGICALAND = 278, ELLIPSIS = 279, tAGGREGATABLE = 280, tALLOCATE = 281,
  tANNOTATION = 282, tAPPOBJECT = 283, tASYNC = 284, tASYNCUUID = 285,
  tAUTOHANDLE = 286, tBINDABLE = 287, tBOOLEAN = 288, tBROADCAST = 289,
  tBYTE = 290, tBYTECOUNT = 291, tCALLAS = 292, tCALLBACK = 293,
  tCASE = 294, tCDECL = 295, tCHAR = 296, tCOCLASS = 297,
  tCODE = 298, tCOMMSTATUS = 299, tCONST = 300, tCONTEXTHANDLE = 301,
  tCONTEXTHANDLENOSERIALIZE = 302, tCONTEXTHANDLESERIALIZE = 303, tCONTROL = 304, tCPPQUOTE = 305,
  tDECODE = 306, tDEFAULT = 307, tDEFAULTBIND = 308, tDEFAULTCOLLELEM = 309,
  tDEFAULTVALUE = 310, tDEFAULTVTABLE = 311, tDISABLECONSISTENCYCHECK = 312, tDISPLAYBIND = 313,
  tDISPINTERFACE = 314, tDLLNAME = 315, tDOUBLE = 316, tDUAL = 317,
  tENABLEALLOCATE = 318, tENCODE = 319, tENDPOINT = 320, tENTRY = 321,
  tENUM = 322, tERRORSTATUST = 323, tEXPLICITHANDLE = 324, tEXTERN = 325,
  tFALSE = 326, tFASTCALL = 327, tFAULTSTATUS = 328, tFLOAT = 329,
  tFORCEALLOCATE = 330, tHANDLE = 331, tHANDLET = 332, tHELPCONTEXT = 333,
  tHELPFILE = 334, tHELPSTRING = 335, tHELPSTRINGCONTEXT = 336, tHELPSTRINGDLL = 337,
  tHIDDEN = 338, tHYPER = 339, tID = 340, tIDEMPOTENT = 341,
  tIGNORE = 342, tIIDIS = 343, tIMMEDIATEBIND = 344, tIMPLICITHANDLE = 345,
  tIMPORT = 346, tIMPORTLIB = 347, tIN = 348, tIN_LINE = 349,
  tINLINE = 350, tINPUTSYNC = 351, tINT = 352, tINT32 = 353,
  tINT3264 = 354, tINT64 = 355, tINTERFACE = 356, tLCID = 357,
  tLENGTHIS = 358, tLIBRARY = 359, tLICENSED = 360, tLOCAL = 361,
  tLONG = 362, tMAYBE = 363, tMESSAGE = 364, tMETHODS = 365,
  tMODULE = 366, tNAMESPACE = 367, tNOCODE = 368, tNONBROWSABLE = 369,
  tNONCREATABLE = 370, tNONEXTENSIBLE = 371, tNOTIFY = 372, tNOTIFYFLAG = 373,
  tNULL = 374, tOBJECT = 375, tODL = 376, tOLEAUTOMATION = 377,
  tOPTIMIZE = 378, tOPTIONAL = 379, tOUT = 380, tPARTIALIGNORE = 381,
  tPASCAL = 382, tPOINTERDEFAULT = 383, tPRAGMA_WARNING = 384, tPROGID = 385,
  tPROPERTIES = 386, tPROPGET = 387, tPROPPUT = 388, tPROPPUTREF = 389,
  tPROXY = 390, tPTR = 391, tPUBLIC = 392, tRANGE = 393,
  tREADONLY = 394, tREF = 395, tREGISTER = 396, tREPRESENTAS = 397,
  tREQUESTEDIT = 398, tRESTRICTED = 399, tRETVAL = 400, tSAFEARRAY = 401,
  tSHORT = 402, tSIGNED = 403, tSIZEIS = 404, tSIZEOF = 405,
  tSMALL = 406, tSOURCE = 407, tSTATIC = 408, tSTDCALL = 409,
  tSTRICTCONTEXTHANDLE = 410, tSTRING = 411, tSTRUCT = 412, tSWITCH = 413,
  tSWITCHIS = 414, tSWITCHTYPE = 415, tTHREADING = 416, tTRANSMITAS = 417,
  tTRUE = 418, tTYPEDEF = 419, tUIDEFAULT = 420, tUNION = 421,
  tUNIQUE = 422, tUNSIGNED = 423, tUSESGETLASTERROR = 424, tUSERMARSHAL = 425,
  tUUID = 426, tV1ENUM = 427, tVARARG = 428, tVERSION = 429,
  tVIPROGID = 430, tVOID = 431, tWCHAR = 432, tWIREMARSHAL = 433,
  tAPARTMENT = 434, tNEUTRAL = 435, tSINGLE = 436, tFREE = 437,
  tBOTH = 438, CAST = 439, PPTR = 440, POS = 441,
  NEG = 442, ADDRESSOF = 443, aIDENTIFIER = 258, aPRAGMA = 259,
  aKNOWNTYPE = 260, aNUM = 261, aHEXNUM = 262, aDOUBLE = 263,
  aSTRING = 264, aWSTRING = 265, aSQSTRING = 266, aUUID = 267,
  aEOF = 268, aACF = 269, SHL = 270, SHR = 271,
  MEMBERPTR = 272, EQUALITY = 273, INEQUALITY = 274, GREATEREQUAL = 275,
  LESSEQUAL = 276, LOGICALOR = 277, LOGICALAND = 278, ELLIPSIS = 279,
  tAGGREGATABLE = 280, tALLOCATE = 281, tANNOTATION = 282, tAPPOBJECT = 283,
  tASYNC = 284, tASYNCUUID = 285, tAUTOHANDLE = 286, tBINDABLE = 287,
  tBOOLEAN = 288, tBROADCAST = 289, tBYTE = 290, tBYTECOUNT = 291,
  tCALLAS = 292, tCALLBACK = 293, tCASE = 294, tCDECL = 295,
  tCHAR = 296, tCOCLASS = 297, tCODE = 298, tCOMMSTATUS = 299,
  tCONST = 300, tCONTEXTHANDLE = 301, tCONTEXTHANDLENOSERIALIZE = 302, tCONTEXTHANDLESERIALIZE = 303,
  tCONTROL = 304, tCPPQUOTE = 305, tDECODE = 306, tDEFAULT = 307,
  tDEFAULTBIND = 308, tDEFAULTCOLLELEM = 309, tDEFAULTVALUE = 310, tDEFAULTVTABLE = 311,
  tDISABLECONSISTENCYCHECK = 312, tDISPLAYBIND = 313, tDISPINTERFACE = 314, tDLLNAME = 315,
  tDOUBLE = 316, tDUAL = 317, tENABLEALLOCATE = 318, tENCODE = 319,
  tENDPOINT = 320, tENTRY = 321, tENUM = 322, tERRORSTATUST = 323,
  tEXPLICITHANDLE = 324, tEXTERN = 325, tFALSE = 326, tFASTCALL = 327,
  tFAULTSTATUS = 328, tFLOAT = 329, tFORCEALLOCATE = 330, tHANDLE = 331,
  tHANDLET = 332, tHELPCONTEXT = 333, tHELPFILE = 334, tHELPSTRING = 335,
  tHELPSTRINGCONTEXT = 336, tHELPSTRINGDLL = 337, tHIDDEN = 338, tHYPER = 339,
  tID = 340, tIDEMPOTENT = 341, tIGNORE = 342, tIIDIS = 343,
  tIMMEDIATEBIND = 344, tIMPLICITHANDLE = 345, tIMPORT = 346, tIMPORTLIB = 347,
  tIN = 348, tIN_LINE = 349, tINLINE = 350, tINPUTSYNC = 351,
  tINT = 352, tINT32 = 353, tINT3264 = 354, tINT64 = 355,
  tINTERFACE = 356, tLCID = 357, tLENGTHIS = 358, tLIBRARY = 359,
  tLICENSED = 360, tLOCAL = 361, tLONG = 362, tMAYBE = 363,
  tMESSAGE = 364, tMETHODS = 365, tMODULE = 366, tNAMESPACE = 367,
  tNOCODE = 368, tNONBROWSABLE = 369, tNONCREATABLE = 370, tNONEXTENSIBLE = 371,
  tNOTIFY = 372, tNOTIFYFLAG = 373, tNULL = 374, tOBJECT = 375,
  tODL = 376, tOLEAUTOMATION = 377, tOPTIMIZE = 378, tOPTIONAL = 379,
  tOUT = 380, tPARTIALIGNORE = 381, tPASCAL = 382, tPOINTERDEFAULT = 383,
  tPRAGMA_WARNING = 384, tPROGID = 385, tPROPERTIES = 386, tPROPGET = 387,
  tPROPPUT = 388, tPROPPUTREF = 389, tPROXY = 390, tPTR = 391,
  tPUBLIC = 392, tRANGE = 393, tREADONLY = 394, tREF = 395,
  tREGISTER = 396, tREPRESENTAS = 397, tREQUESTEDIT = 398, tRESTRICTED = 399,
  tRETVAL = 400, tSAFEARRAY = 401, tSHORT = 402, tSIGNED = 403,
  tSIZEIS = 404, tSIZEOF = 405, tSMALL = 406, tSOURCE = 407,
  tSTATIC = 408, tSTDCALL = 409, tSTRICTCONTEXTHANDLE = 410, tSTRING = 411,
  tSTRUCT = 412, tSWITCH = 413, tSWITCHIS = 414, tSWITCHTYPE = 415,
  tTHREADING = 416, tTRANSMITAS = 417, tTRUE = 418, tTYPEDEF = 419,
  tUIDEFAULT = 420, tUNION = 421, tUNIQUE = 422, tUNSIGNED = 423,
  tUSESGETLASTERROR = 424, tUSERMARSHAL = 425, tUUID = 426, tV1ENUM = 427,
  tVARARG = 428, tVERSION = 429, tVIPROGID = 430, tVOID = 431,
  tWCHAR = 432, tWIREMARSHAL = 433, tAPARTMENT = 434, tNEUTRAL = 435,
  tSINGLE = 436, tFREE = 437, tBOTH = 438, CAST = 439,
  PPTR = 440, POS = 441, NEG = 442, ADDRESSOF = 443,
  tRCINCLUDE = 258, tIF = 259, tIFDEF = 260, tIFNDEF = 261,
  tELSE = 262, tELIF = 263, tENDIF = 264, tDEFINED = 265,
  tNL = 266, tINCLUDE = 267, tLINE = 268, tGCCLINE = 269,
  tERROR = 270, tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273,
  tUNDEF = 274, tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277,
  tSTRINGIZE = 278, tIDENT = 279, tLITERAL = 280, tMACRO = 281,
  tDEFINE = 282, tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285,
  tUINT = 286, tSINT = 287, tULONG = 288, tSLONG = 289,
  tULONGLONG = 290, tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293,
  tLOGAND = 294, tEQ = 295, tNE = 296, tLTE = 297,
  tGTE = 298, tLSHIFT = 299, tRSHIFT = 300, tRCINCLUDE = 258,
  tIF = 259, tIFDEF = 260, tIFNDEF = 261, tELSE = 262,
  tELIF = 263, tENDIF = 264, tDEFINED = 265, tNL = 266,
  tINCLUDE = 267, tLINE = 268, tGCCLINE = 269, tERROR = 270,
  tWARNING = 271, tPRAGMA = 272, tPPIDENT = 273, tUNDEF = 274,
  tMACROEND = 275, tCONCAT = 276, tELIPSIS = 277, tSTRINGIZE = 278,
  tIDENT = 279, tLITERAL = 280, tMACRO = 281, tDEFINE = 282,
  tDQSTRING = 283, tSQSTRING = 284, tIQSTRING = 285, tUINT = 286,
  tSINT = 287, tULONG = 288, tSLONG = 289, tULONGLONG = 290,
  tSLONGLONG = 291, tRCINCLUDEPATH = 292, tLOGOR = 293, tLOGAND = 294,
  tEQ = 295, tNE = 296, tLTE = 297, tGTE = 298,
  tLSHIFT = 299, tRSHIFT = 300
}
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (msi)
 
static UINT SQL_getstring (void *info, const struct sql_str *strdata, LPWSTR *str)
 
static INT SQL_getint (void *info)
 
static int sql_lex (void *SQL_lval, SQL_input *info)
 
static int sql_error (SQL_input *info, const char *str)
 
static LPWSTR parser_add_table (void *info, LPCWSTR list, LPCWSTR table)
 
static voidparser_alloc (void *info, unsigned int sz)
 
static column_infoparser_alloc_column (void *info, LPCWSTR table, LPCWSTR column)
 
static BOOL SQL_MarkPrimaryKeys (column_info **cols, column_info *keys)
 
static struct exprEXPR_complex (void *info, struct expr *l, UINT op, struct expr *r)
 
static struct exprEXPR_unary (void *info, struct expr *l, UINT op)
 
static struct exprEXPR_column (void *info, const column_info *column)
 
static struct exprEXPR_ival (void *info, int val)
 
static struct exprEXPR_sval (void *info, const struct sql_str *str)
 
static struct exprEXPR_wildcard (void *info)
 
int sql_parse (SQL_input *info)
 
voidmalloc (YYSIZE_T)
 
void free (void *)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, SQL_input *info)
 
int yyparse (SQL_input *info)
 
static void swap_columns (column_info **cols, column_info *A, int idx)
 
UINT MSI_ParseSQL (MSIDATABASE *db, LPCWSTR command, MSIVIEW **phview, struct list *mem)
 

Variables

static const yytype_uint8 yytranslate []
 
static const yytype_int16 yypact []
 
static const yytype_uint8 yydefact []
 
static const yytype_int8 yypgoto []
 
static const yytype_int16 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_uint8 yystos []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 

Macro Definition Documentation

◆ __attribute__

#define __attribute__ (   Spec)    /* empty */

Definition at line 322 of file sql.tab.c.

◆ PARSER_BUBBLE_UP_VIEW

#define PARSER_BUBBLE_UP_VIEW (   sql,
  result,
  current_view 
)
Value:
*sql->view = current_view; \
result = current_view

Definition at line 128 of file sql.tab.c.

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 314 of file sql.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 345 of file sql.tab.c.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 346 of file sql.tab.c.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 342 of file sql.tab.c.

◆ YY_NULL

#define YY_NULL   0

Definition at line 139 of file sql.tab.c.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 927 of file sql.tab.c.

◆ YY_SQL_E_REACTOSSYNC_GCC_DLL_WIN32_MSI_SQL_TAB_H_INCLUDED

#define YY_SQL_E_REACTOSSYNC_GCC_DLL_WIN32_MSI_SQL_TAB_H_INCLUDED

Definition at line 154 of file sql.tab.c.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 926 of file sql.tab.c.

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

Definition at line 925 of file sql.tab.c.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 771 of file sql.tab.c.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 770 of file sql.tab.c.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (info, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
_In_opt_ ULONG _Out_ PULONG Value
Definition: rtlfuncs.h:2343
#define yychar
Definition: asmshader.tab.c:74
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
#define YY_(Msgid)
Definition: sql.tab.c:314
#define YYEMPTY
Definition: sql.tab.c:767
if(!(yy_init))
Definition: macro.lex.yy.c:714

Definition at line 777 of file sql.tab.c.

◆ YYBISON

#define YYBISON   1

Definition at line 44 of file sql.tab.c.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.0"

Definition at line 47 of file sql.tab.c.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 766 of file sql.tab.c.

◆ YYCOPY

#define YYCOPY (   Dst,
  Src,
  Count 
)
Value:
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
#define Dst
Definition: mesh.h:153

Definition at line 469 of file sql.tab.c.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 441 of file sql.tab.c.

◆ yydebug

#define yydebug   sql_debug

Definition at line 66 of file sql.tab.c.

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 157 of file sql.tab.c.

◆ YYDPRINTF

#define YYDPRINTF (   Args)

Definition at line 924 of file sql.tab.c.

◆ YYEMPTY

#define YYEMPTY   (-2)

Definition at line 767 of file sql.tab.c.

◆ YYEOF

#define YYEOF   0

Definition at line 768 of file sql.tab.c.

◆ YYERRCODE

#define YYERRCODE   256

Definition at line 796 of file sql.tab.c.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 765 of file sql.tab.c.

◆ yyerror

#define yyerror   sql_error

Definition at line 65 of file sql.tab.c.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 772 of file sql.tab.c.

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   0

Definition at line 148 of file sql.tab.c.

◆ YYFINAL

#define YYFINAL   36

Definition at line 482 of file sql.tab.c.

◆ YYFREE

#define YYFREE   free

Definition at line 412 of file sql.tab.c.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 933 of file sql.tab.c.

◆ YYLAST

#define YYLAST   156

Definition at line 484 of file sql.tab.c.

◆ yylex

#define yylex   sql_lex

Definition at line 64 of file sql.tab.c.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 406 of file sql.tab.c.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 944 of file sql.tab.c.

◆ YYMAXUTOK

#define YYMAXUTOK   319

Definition at line 498 of file sql.tab.c.

◆ yynerrs

#define yynerrs   sql_nerrs

Definition at line 67 of file sql.tab.c.

◆ YYNNTS

#define YYNNTS   37

Definition at line 489 of file sql.tab.c.

◆ YYNRULES

#define YYNRULES   87

Definition at line 491 of file sql.tab.c.

◆ YYNSTATES

#define YYNSTATES   154

Definition at line 493 of file sql.tab.c.

◆ YYNTOKENS

#define YYNTOKENS   65

Definition at line 487 of file sql.tab.c.

◆ YYPACT_NINF

#define YYPACT_NINF   -80

Definition at line 598 of file sql.tab.c.

◆ yypact_value_is_default

#define yypact_value_is_default (   Yystate)    (!!((Yystate) == (-80)))

Definition at line 600 of file sql.tab.c.

◆ yyparse

#define yyparse   sql_parse

Definition at line 63 of file sql.tab.c.

◆ YYPOPSTACK

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))

◆ YYPULL

#define YYPULL   1

Definition at line 59 of file sql.tab.c.

◆ YYPURE

#define YYPURE   1

Definition at line 53 of file sql.tab.c.

◆ YYPUSH

#define YYPUSH   0

Definition at line 56 of file sql.tab.c.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 775 of file sql.tab.c.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 304 of file sql.tab.c.

◆ YYSIZE_T

#define YYSIZE_T   size_t

Definition at line 298 of file sql.tab.c.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 50 of file sql.tab.c.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 392 of file sql.tab.c.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 395 of file sql.tab.c.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
short yytype_int16
union YYSTYPE YYSTYPE
Definition: sql.tab.c:234
#define YYSTACK_GAP_MAXIMUM
Definition: sql.tab.c:433

Definition at line 437 of file sql.tab.c.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 393 of file sql.tab.c.

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

Definition at line 433 of file sql.tab.c.

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (0)
#define YYSTACK_GAP_MAXIMUM
Definition: sql.tab.c:433

Definition at line 448 of file sql.tab.c.

◆ YYSTYPE_IS_DECLARED

#define YYSTYPE_IS_DECLARED   1

Definition at line 250 of file sql.tab.c.

◆ YYSTYPE_IS_TRIVIAL

#define YYSTYPE_IS_TRIVIAL   1

Definition at line 249 of file sql.tab.c.

◆ YYTABLE_NINF

#define YYTABLE_NINF   -85

Definition at line 603 of file sql.tab.c.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yytable_value)    0

Definition at line 605 of file sql.tab.c.

◆ YYTERROR

#define YYTERROR   1

Definition at line 795 of file sql.tab.c.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 165 of file sql.tab.c.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 500 of file sql.tab.c.

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

Definition at line 497 of file sql.tab.c.

◆ YYUSE

#define YYUSE (   E)    ((void) (E))

Definition at line 328 of file sql.tab.c.

Typedef Documentation

◆ YYSTYPE

typedef union YYSTYPE YYSTYPE

Definition at line 234 of file sql.tab.c.

◆ yytype_int16

Definition at line 288 of file sql.tab.c.

◆ yytype_int8

Definition at line 276 of file sql.tab.c.

◆ yytype_uint16

typedef unsigned short int yytype_uint16

Definition at line 282 of file sql.tab.c.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 270 of file sql.tab.c.

Enumeration Type Documentation

◆ yytokentype

Enumerator
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
INSTR_ADD 
INSTR_NOP 
INSTR_MOV 
INSTR_SUB 
INSTR_MAD 
INSTR_MUL 
INSTR_RCP 
INSTR_RSQ 
INSTR_DP3 
INSTR_DP4 
INSTR_MIN 
INSTR_MAX 
INSTR_SLT 
INSTR_SGE 
INSTR_ABS 
INSTR_EXP 
INSTR_LOG 
INSTR_EXPP 
INSTR_LOGP 
INSTR_DST 
INSTR_LRP 
INSTR_FRC 
INSTR_POW 
INSTR_CRS 
INSTR_SGN 
INSTR_NRM 
INSTR_SINCOS 
INSTR_M4x4 
INSTR_M4x3 
INSTR_M3x4 
INSTR_M3x3 
INSTR_M3x2 
INSTR_DCL 
INSTR_DEF 
INSTR_DEFB 
INSTR_DEFI 
INSTR_REP 
INSTR_ENDREP 
INSTR_IF 
INSTR_ELSE 
INSTR_ENDIF 
INSTR_BREAK 
INSTR_BREAKP 
INSTR_CALL 
INSTR_CALLNZ 
INSTR_LOOP 
INSTR_RET 
INSTR_ENDLOOP 
INSTR_LABEL 
INSTR_SETP 
INSTR_TEXLDL 
INSTR_LIT 
INSTR_MOVA 
INSTR_CND 
INSTR_CMP 
INSTR_DP2ADD 
INSTR_TEXCOORD 
INSTR_TEXCRD 
INSTR_TEXKILL 
INSTR_TEX 
INSTR_TEXLD 
INSTR_TEXBEM 
INSTR_TEXBEML 
INSTR_TEXREG2AR 
INSTR_TEXREG2GB 
INSTR_TEXREG2RGB 
INSTR_TEXM3x2PAD 
INSTR_TEXM3x2TEX 
INSTR_TEXM3x3PAD 
INSTR_TEXM3x3SPEC 
INSTR_TEXM3x3VSPEC 
INSTR_TEXM3x3TEX 
INSTR_TEXDP3TEX 
INSTR_TEXM3x2DEPTH 
INSTR_TEXDP3 
INSTR_TEXM3x3 
INSTR_TEXDEPTH 
INSTR_BEM 
INSTR_DSX 
INSTR_DSY 
INSTR_TEXLDP 
INSTR_TEXLDB 
INSTR_TEXLDD 
INSTR_PHASE 
REG_TEMP 
REG_OUTPUT 
REG_INPUT 
REG_CONSTFLOAT 
REG_CONSTINT 
REG_CONSTBOOL 
REG_TEXTURE 
REG_SAMPLER 
REG_TEXCRDOUT 
REG_OPOS 
REG_OFOG 
REG_OPTS 
REG_VERTEXCOLOR 
REG_FRAGCOLOR 
REG_FRAGDEPTH 
REG_VPOS 
REG_VFACE 
REG_ADDRESS 
REG_LOOP 
REG_PREDICATE 
REG_LABEL 
VER_VS10 
VER_VS11 
VER_VS20 
VER_VS2X 
VER_VS30 
VER_PS10 
VER_PS11 
VER_PS12 
VER_PS13 
VER_PS14 
VER_PS20 
VER_PS2X 
VER_PS30 
SHIFT_X2 
SHIFT_X4 
SHIFT_X8 
SHIFT_D2 
SHIFT_D4 
SHIFT_D8 
MOD_SAT 
MOD_PP 
MOD_CENTROID 
COMP_GT 
COMP_LT 
COMP_GE 
COMP_LE 
COMP_EQ 
COMP_NE 
SMOD_BIAS 
SMOD_SCALEBIAS 
SMOD_DZ 
SMOD_DW 
SMOD_ABS 
SMOD_NOT 
SAMPTYPE_1D 
SAMPTYPE_2D 
SAMPTYPE_CUBE 
SAMPTYPE_VOLUME 
USAGE_POSITION 
USAGE_BLENDWEIGHT 
USAGE_BLENDINDICES 
USAGE_NORMAL 
USAGE_PSIZE 
USAGE_TEXCOORD 
USAGE_TANGENT 
USAGE_BINORMAL 
USAGE_TESSFACTOR 
USAGE_POSITIONT 
USAGE_COLOR 
USAGE_FOG 
USAGE_DEPTH 
USAGE_SAMPLE 
COMPONENT 
IMMVAL 
IMMBOOL 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
KW_BLENDSTATE 
KW_BREAK 
KW_BUFFER 
KW_CBUFFER 
KW_COLUMN_MAJOR 
KW_COMPILE 
KW_CONST 
KW_CONTINUE 
KW_DEPTHSTENCILSTATE 
KW_DEPTHSTENCILVIEW 
KW_DISCARD 
KW_DO 
KW_DOUBLE 
KW_ELSE 
KW_EXTERN 
KW_FALSE 
KW_FOR 
KW_GEOMETRYSHADER 
KW_GROUPSHARED 
KW_IF 
KW_IN 
KW_INLINE 
KW_INOUT 
KW_MATRIX 
KW_NAMESPACE 
KW_NOINTERPOLATION 
KW_OUT 
KW_PASS 
KW_PIXELSHADER 
KW_PRECISE 
KW_RASTERIZERSTATE 
KW_RENDERTARGETVIEW 
KW_RETURN 
KW_REGISTER 
KW_ROW_MAJOR 
KW_SAMPLER 
KW_SAMPLER1D 
KW_SAMPLER2D 
KW_SAMPLER3D 
KW_SAMPLERCUBE 
KW_SAMPLER_STATE 
KW_SAMPLERCOMPARISONSTATE 
KW_SHARED 
KW_STATEBLOCK 
KW_STATEBLOCK_STATE 
KW_STATIC 
KW_STRING 
KW_STRUCT 
KW_SWITCH 
KW_TBUFFER 
KW_TECHNIQUE 
KW_TECHNIQUE10 
KW_TEXTURE 
KW_TEXTURE1D 
KW_TEXTURE1DARRAY 
KW_TEXTURE2D 
KW_TEXTURE2DARRAY 
KW_TEXTURE2DMS 
KW_TEXTURE2DMSARRAY 
KW_TEXTURE3D 
KW_TEXTURE3DARRAY 
KW_TEXTURECUBE 
KW_TRUE 
KW_TYPEDEF 
KW_UNIFORM 
KW_VECTOR 
KW_VERTEXSHADER 
KW_VOID 
KW_VOLATILE 
KW_WHILE 
OP_INC 
OP_DEC 
OP_AND 
OP_OR 
OP_EQ 
OP_LEFTSHIFT 
OP_LEFTSHIFTASSIGN 
OP_RIGHTSHIFT 
OP_RIGHTSHIFTASSIGN 
OP_ELLIPSIS 
OP_LE 
OP_GE 
OP_NE 
OP_ADDASSIGN 
OP_SUBASSIGN 
OP_MULASSIGN 
OP_DIVASSIGN 
OP_MODASSIGN 
OP_ANDASSIGN 
OP_ORASSIGN 
OP_XORASSIGN 
OP_UNKNOWN1 
OP_UNKNOWN2 
OP_UNKNOWN3 
OP_UNKNOWN4 
PRE_LINE 
VAR_IDENTIFIER 
TYPE_IDENTIFIER 
NEW_IDENTIFIER 
STRING 
C_FLOAT 
C_INTEGER 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
tEQ 
tEQEQ 
tNEQ 
tNEQEQ 
tLSHIFT 
tRSHIFT 
tRRSHIFT 
tOR 
tAND 
tLEQ 
tGEQ 
tCCValue 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
kBREAK 
kCASE 
kCATCH 
kCONTINUE 
kDEFAULT 
kDELETE 
kDO 
kELSE 
kFUNCTION 
kIF 
kFINALLY 
kFOR 
kGET 
kIN 
kSET 
kINSTANCEOF 
kNEW 
kNULL 
kRETURN 
kSWITCH 
kTHIS 
kTHROW 
kTRUE 
kFALSE 
kTRY 
kTYPEOF 
kVAR 
kVOID 
kWHILE 
kWITH 
tANDAND 
tOROR 
tINC 
tDEC 
tHTMLCOMMENT 
kDIVEQ 
kDCOL 
tIdentifier 
tAssignOper 
tEqOper 
tShiftOper 
tRelOper 
tNumericLiteral 
tBooleanLiteral 
tStringLiteral 
tEOF 
LOWER_THAN_ELSE 
COND_SPACE 
COND_EOF 
COND_OR 
COND_AND 
COND_NOT 
COND_XOR 
COND_IMP 
COND_EQV 
COND_LT 
COND_GT 
COND_EQ 
COND_NE 
COND_GE 
COND_LE 
COND_ILT 
COND_IGT 
COND_IEQ 
COND_INE 
COND_IGE 
COND_ILE 
COND_LPAR 
COND_RPAR 
COND_TILDA 
COND_SS 
COND_ISS 
COND_ILHS 
COND_IRHS 
COND_LHS 
COND_RHS 
COND_PERCENT 
COND_DOLLARS 
COND_QUESTION 
COND_AMPER 
COND_EXCLAM 
COND_IDENT 
COND_NUMBER 
COND_LITER 
COND_ERROR 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TK_ALTER 
TK_AND 
TK_BY 
TK_CHAR 
TK_COMMA 
TK_CREATE 
TK_DELETE 
TK_DROP 
TK_DISTINCT 
TK_DOT 
TK_EQ 
TK_FREE 
TK_FROM 
TK_GE 
TK_GT 
TK_HOLD 
TK_ADD 
TK_ID 
TK_ILLEGAL 
TK_INSERT 
TK_INT 
TK_INTEGER 
TK_INTO 
TK_IS 
TK_KEY 
TK_LE 
TK_LONG 
TK_LONGCHAR 
TK_LP 
TK_LT 
TK_LOCALIZABLE 
TK_MINUS 
TK_NE 
TK_NOT 
TK_NULL 
TK_OBJECT 
TK_OR 
TK_ORDER 
TK_PRIMARY 
TK_RP 
TK_SELECT 
TK_SET 
TK_SHORT 
TK_SPACE 
TK_STAR 
TK_STRING 
TK_TABLE 
TK_TEMPORARY 
TK_UPDATE 
TK_VALUES 
TK_WHERE 
TK_WILDCARD 
END_OF_FILE 
ILLEGAL 
SPACE 
UNCLOSED_STRING 
COMMENT 
FUNCTION 
COLUMN 
TK_LIKE 
TK_NEGATION 
TOK_Parent 
TOK_Self 
TOK_DblFSlash 
TOK_FSlash 
TOK_Axis 
TOK_Colon 
TOK_OpAnd 
TOK_OpOr 
TOK_OpNot 
TOK_OpEq 
TOK_OpIEq 
TOK_OpNEq 
TOK_OpINEq 
TOK_OpLt 
TOK_OpILt 
TOK_OpGt 
TOK_OpIGt 
TOK_OpLEq 
TOK_OpILEq 
TOK_OpGEq 
TOK_OpIGEq 
TOK_OpAll 
TOK_OpAny 
TOK_NCName 
TOK_Literal 
TOK_Number 
tEOF 
tNL 
tREM 
tEMPTYBRACKETS 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tNEQ 
tIS 
tLTEQ 
tGTEQ 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tPROPERTY 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tSTEP 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tEXPLICIT 
tSTOP 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tDEFAULT 
tME 
tERROR 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tLong 
tShort 
tDouble 
tEOF 
tNL 
tREM 
tEMPTYBRACKETS 
tTRUE 
tFALSE 
tNOT 
tAND 
tOR 
tXOR 
tEQV 
tIMP 
tNEQ 
tIS 
tLTEQ 
tGTEQ 
tMOD 
tCALL 
tDIM 
tSUB 
tFUNCTION 
tPROPERTY 
tGET 
tLET 
tCONST 
tIF 
tELSE 
tELSEIF 
tEND 
tTHEN 
tEXIT 
tWHILE 
tWEND 
tDO 
tLOOP 
tUNTIL 
tFOR 
tTO 
tSTEP 
tEACH 
tIN 
tSELECT 
tCASE 
tBYREF 
tBYVAL 
tOPTION 
tEXPLICIT 
tSTOP 
tNOTHING 
tEMPTY 
tNULL 
tCLASS 
tSET 
tNEW 
tPUBLIC 
tPRIVATE 
tDEFAULT 
tME 
tERROR 
tNEXT 
tON 
tRESUME 
tGOTO 
tIdentifier 
tString 
tLong 
tShort 
tDouble 
TK_SELECT 
TK_FROM 
TK_STAR 
TK_COMMA 
TK_DOT 
TK_IS 
TK_LP 
TK_RP 
TK_NULL 
TK_FALSE 
TK_TRUE 
TK_INTEGER 
TK_WHERE 
TK_SPACE 
TK_MINUS 
TK_ILLEGAL 
TK_BY 
TK_STRING 
TK_ID 
TK_OR 
TK_AND 
TK_NOT 
TK_EQ 
TK_NE 
TK_LT 
TK_GT 
TK_LE 
TK_GE 
TK_LIKE 
TK_SELECT 
TK_FROM 
TK_STAR 
TK_COMMA 
TK_DOT 
TK_IS 
TK_LP 
TK_RP 
TK_NULL 
TK_FALSE 
TK_TRUE 
TK_INTEGER 
TK_WHERE 
TK_SPACE 
TK_MINUS 
TK_ILLEGAL 
TK_BY 
TK_STRING 
TK_ID 
TK_OR 
TK_AND 
TK_NOT 
TK_EQ 
TK_NE 
TK_LT 
TK_GT 
TK_LE 
TK_GE 
TK_LIKE 
aIDENTIFIER 
aPRAGMA 
aKNOWNTYPE 
aNUM 
aHEXNUM 
aDOUBLE 
aSTRING 
aWSTRING 
aSQSTRING 
aUUID 
aEOF 
aACF 
SHL 
SHR 
MEMBERPTR 
EQUALITY 
INEQUALITY 
GREATEREQUAL 
LESSEQUAL 
LOGICALOR 
LOGICALAND 
ELLIPSIS 
tAGGREGATABLE 
tALLOCATE 
tANNOTATION 
tAPPOBJECT 
tASYNC 
tASYNCUUID 
tAUTOHANDLE 
tBINDABLE 
tBOOLEAN 
tBROADCAST 
tBYTE 
tBYTECOUNT 
tCALLAS 
tCALLBACK 
tCASE 
tCDECL 
tCHAR 
tCOCLASS 
tCODE 
tCOMMSTATUS 
tCONST 
tCONTEXTHANDLE 
tCONTEXTHANDLENOSERIALIZE 
tCONTEXTHANDLESERIALIZE 
tCONTROL 
tCPPQUOTE 
tDECODE 
tDEFAULT 
tDEFAULTBIND 
tDEFAULTCOLLELEM 
tDEFAULTVALUE 
tDEFAULTVTABLE 
tDISABLECONSISTENCYCHECK 
tDISPLAYBIND 
tDISPINTERFACE 
tDLLNAME 
tDOUBLE 
tDUAL 
tENABLEALLOCATE 
tENCODE 
tENDPOINT 
tENTRY 
tENUM 
tERRORSTATUST 
tEXPLICITHANDLE 
tEXTERN 
tFALSE 
tFASTCALL 
tFAULTSTATUS 
tFLOAT 
tFORCEALLOCATE 
tHANDLE 
tHANDLET 
tHELPCONTEXT 
tHELPFILE 
tHELPSTRING 
tHELPSTRINGCONTEXT 
tHELPSTRINGDLL 
tHIDDEN 
tHYPER 
tID 
tIDEMPOTENT 
tIGNORE 
tIIDIS 
tIMMEDIATEBIND 
tIMPLICITHANDLE 
tIMPORT 
tIMPORTLIB 
tIN 
tIN_LINE 
tINLINE 
tINPUTSYNC 
tINT 
tINT32 
tINT3264 
tINT64 
tINTERFACE 
tLCID 
tLENGTHIS 
tLIBRARY 
tLICENSED 
tLOCAL 
tLONG 
tMAYBE 
tMESSAGE 
tMETHODS 
tMODULE 
tNAMESPACE 
tNOCODE 
tNONBROWSABLE 
tNONCREATABLE 
tNONEXTENSIBLE 
tNOTIFY 
tNOTIFYFLAG 
tNULL 
tOBJECT 
tODL 
tOLEAUTOMATION 
tOPTIMIZE 
tOPTIONAL 
tOUT 
tPARTIALIGNORE 
tPASCAL 
tPOINTERDEFAULT 
tPRAGMA_WARNING 
tPROGID 
tPROPERTIES 
tPROPGET 
tPROPPUT 
tPROPPUTREF 
tPROXY 
tPTR 
tPUBLIC 
tRANGE 
tREADONLY 
tREF 
tREGISTER 
tREPRESENTAS 
tREQUESTEDIT 
tRESTRICTED 
tRETVAL 
tSAFEARRAY 
tSHORT 
tSIGNED 
tSIZEIS 
tSIZEOF 
tSMALL 
tSOURCE 
tSTATIC 
tSTDCALL 
tSTRICTCONTEXTHANDLE 
tSTRING 
tSTRUCT 
tSWITCH 
tSWITCHIS 
tSWITCHTYPE 
tTHREADING 
tTRANSMITAS 
tTRUE 
tTYPEDEF 
tUIDEFAULT 
tUNION 
tUNIQUE 
tUNSIGNED 
tUSESGETLASTERROR 
tUSERMARSHAL 
tUUID 
tV1ENUM 
tVARARG 
tVERSION 
tVIPROGID 
tVOID 
tWCHAR 
tWIREMARSHAL 
tAPARTMENT 
tNEUTRAL 
tSINGLE 
tFREE 
tBOTH 
CAST 
PPTR 
POS 
NEG 
ADDRESSOF 
aIDENTIFIER 
aPRAGMA 
aKNOWNTYPE 
aNUM 
aHEXNUM 
aDOUBLE 
aSTRING 
aWSTRING 
aSQSTRING 
aUUID 
aEOF 
aACF 
SHL 
SHR 
MEMBERPTR 
EQUALITY 
INEQUALITY 
GREATEREQUAL 
LESSEQUAL 
LOGICALOR 
LOGICALAND 
ELLIPSIS 
tAGGREGATABLE 
tALLOCATE 
tANNOTATION 
tAPPOBJECT 
tASYNC 
tASYNCUUID 
tAUTOHANDLE 
tBINDABLE 
tBOOLEAN 
tBROADCAST 
tBYTE 
tBYTECOUNT 
tCALLAS 
tCALLBACK 
tCASE 
tCDECL 
tCHAR 
tCOCLASS 
tCODE 
tCOMMSTATUS 
tCONST 
tCONTEXTHANDLE 
tCONTEXTHANDLENOSERIALIZE 
tCONTEXTHANDLESERIALIZE 
tCONTROL 
tCPPQUOTE 
tDECODE 
tDEFAULT 
tDEFAULTBIND 
tDEFAULTCOLLELEM 
tDEFAULTVALUE 
tDEFAULTVTABLE 
tDISABLECONSISTENCYCHECK 
tDISPLAYBIND 
tDISPINTERFACE 
tDLLNAME 
tDOUBLE 
tDUAL 
tENABLEALLOCATE 
tENCODE 
tENDPOINT 
tENTRY 
tENUM 
tERRORSTATUST 
tEXPLICITHANDLE 
tEXTERN 
tFALSE 
tFASTCALL 
tFAULTSTATUS 
tFLOAT 
tFORCEALLOCATE 
tHANDLE 
tHANDLET 
tHELPCONTEXT 
tHELPFILE 
tHELPSTRING 
tHELPSTRINGCONTEXT 
tHELPSTRINGDLL 
tHIDDEN 
tHYPER 
tID 
tIDEMPOTENT 
tIGNORE 
tIIDIS 
tIMMEDIATEBIND 
tIMPLICITHANDLE 
tIMPORT 
tIMPORTLIB 
tIN 
tIN_LINE 
tINLINE 
tINPUTSYNC 
tINT 
tINT32 
tINT3264 
tINT64 
tINTERFACE 
tLCID 
tLENGTHIS 
tLIBRARY 
tLICENSED 
tLOCAL 
tLONG 
tMAYBE 
tMESSAGE 
tMETHODS 
tMODULE 
tNAMESPACE 
tNOCODE 
tNONBROWSABLE 
tNONCREATABLE 
tNONEXTENSIBLE 
tNOTIFY 
tNOTIFYFLAG 
tNULL 
tOBJECT 
tODL 
tOLEAUTOMATION 
tOPTIMIZE 
tOPTIONAL 
tOUT 
tPARTIALIGNORE 
tPASCAL 
tPOINTERDEFAULT 
tPRAGMA_WARNING 
tPROGID 
tPROPERTIES 
tPROPGET 
tPROPPUT 
tPROPPUTREF 
tPROXY 
tPTR 
tPUBLIC 
tRANGE 
tREADONLY 
tREF 
tREGISTER 
tREPRESENTAS 
tREQUESTEDIT 
tRESTRICTED 
tRETVAL 
tSAFEARRAY 
tSHORT 
tSIGNED 
tSIZEIS 
tSIZEOF 
tSMALL 
tSOURCE 
tSTATIC 
tSTDCALL 
tSTRICTCONTEXTHANDLE 
tSTRING 
tSTRUCT 
tSWITCH 
tSWITCHIS 
tSWITCHTYPE 
tTHREADING 
tTRANSMITAS 
tTRUE 
tTYPEDEF 
tUIDEFAULT 
tUNION 
tUNIQUE 
tUNSIGNED 
tUSESGETLASTERROR 
tUSERMARSHAL 
tUUID 
tV1ENUM 
tVARARG 
tVERSION 
tVIPROGID 
tVOID 
tWCHAR 
tWIREMARSHAL 
tAPARTMENT 
tNEUTRAL 
tSINGLE 
tFREE 
tBOTH 
CAST 
PPTR 
POS 
NEG 
ADDRESSOF 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 
tRCINCLUDE 
tIF 
tIFDEF 
tIFNDEF 
tELSE 
tELIF 
tENDIF 
tDEFINED 
tNL 
tINCLUDE 
tLINE 
tGCCLINE 
tERROR 
tWARNING 
tPRAGMA 
tPPIDENT 
tUNDEF 
tMACROEND 
tCONCAT 
tELIPSIS 
tSTRINGIZE 
tIDENT 
tLITERAL 
tMACRO 
tDEFINE 
tDQSTRING 
tSQSTRING 
tIQSTRING 
tUINT 
tSINT 
tULONG 
tSLONG 
tULONGLONG 
tSLONGLONG 
tRCINCLUDEPATH 
tLOGOR 
tLOGAND 
tEQ 
tNE 
tLTE 
tGTE 
tLSHIFT 
tRSHIFT 

Definition at line 166 of file sql.tab.c.

167  {
168  TK_ALTER = 258,
169  TK_AND = 259,
170  TK_BY = 260,
171  TK_CHAR = 261,
172  TK_COMMA = 262,
173  TK_CREATE = 263,
174  TK_DELETE = 264,
175  TK_DROP = 265,
176  TK_DISTINCT = 266,
177  TK_DOT = 267,
178  TK_EQ = 268,
179  TK_FREE = 269,
180  TK_FROM = 270,
181  TK_GE = 271,
182  TK_GT = 272,
183  TK_HOLD = 273,
184  TK_ADD = 274,
185  TK_ID = 275,
186  TK_ILLEGAL = 276,
187  TK_INSERT = 277,
188  TK_INT = 278,
189  TK_INTEGER = 279,
190  TK_INTO = 280,
191  TK_IS = 281,
192  TK_KEY = 282,
193  TK_LE = 283,
194  TK_LONG = 284,
195  TK_LONGCHAR = 285,
196  TK_LP = 286,
197  TK_LT = 287,
198  TK_LOCALIZABLE = 288,
199  TK_MINUS = 289,
200  TK_NE = 290,
201  TK_NOT = 291,
202  TK_NULL = 292,
203  TK_OBJECT = 293,
204  TK_OR = 294,
205  TK_ORDER = 295,
206  TK_PRIMARY = 296,
207  TK_RP = 297,
208  TK_SELECT = 298,
209  TK_SET = 299,
210  TK_SHORT = 300,
211  TK_SPACE = 301,
212  TK_STAR = 302,
213  TK_STRING = 303,
214  TK_TABLE = 304,
215  TK_TEMPORARY = 305,
216  TK_UPDATE = 306,
217  TK_VALUES = 307,
218  TK_WHERE = 308,
219  TK_WILDCARD = 309,
220  END_OF_FILE = 310,
221  ILLEGAL = 311,
222  SPACE = 312,
223  UNCLOSED_STRING = 313,
224  COMMENT = 314,
225  FUNCTION = 315,
226  COLUMN = 316,
227  TK_LIKE = 318,
228  TK_NEGATION = 319
229  };
Definition: sql.tab.c:181
Definition: sql.tab.c:197
Definition: sql.tab.c:193
Definition: sql.tab.c:170
Definition: sql.tab.c:207
Definition: sql.tab.c:182
Definition: sql.tab.c:185
Definition: sql.tab.c:204
Definition: sql.tab.c:196
Definition: sql.tab.c:200
Definition: sql.tab.c:222
Definition: sql.tab.c:178
Definition: sql.tab.c:191

Function Documentation

◆ EXPR_column()

static struct expr * EXPR_column ( void info,
const column_info column 
)
static

Definition at line 2623 of file sql.tab.c.

2624 {
2625  struct expr *e = parser_alloc( info, sizeof *e );
2626  if( e )
2627  {
2628  e->type = EXPR_COLUMN;
2629  e->u.column.unparsed.column = column->column;
2630  e->u.column.unparsed.table = column->table;
2631  }
2632  return e;
2633 }
#define EXPR_COLUMN
Definition: query.h:48
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82

Referenced by yyparse().

◆ EXPR_complex()

static struct expr * EXPR_complex ( void info,
struct expr l,
UINT  op,
struct expr r 
)
static

Definition at line 2597 of file sql.tab.c.

2598 {
2599  struct expr *e = parser_alloc( info, sizeof *e );
2600  if( e )
2601  {
2602  e->type = EXPR_COMPLEX;
2603  e->u.expr.left = l;
2604  e->u.expr.op = op;
2605  e->u.expr.right = r;
2606  }
2607  return e;
2608 }
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82
r l[0]
Definition: byte_order.h:167
UINT op
Definition: effect.c:223

Referenced by yyparse().

◆ EXPR_ival()

static struct expr * EXPR_ival ( void info,
int  val 
)
static

Definition at line 2635 of file sql.tab.c.

2636 {
2637  struct expr *e = parser_alloc( info, sizeof *e );
2638  if( e )
2639  {
2640  e->type = EXPR_IVAL;
2641  e->u.ival = val;
2642  }
2643  return e;
2644 }
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82
GLuint GLfloat * val
Definition: glext.h:7180

Referenced by yyparse().

◆ EXPR_sval()

static struct expr * EXPR_sval ( void info,
const struct sql_str str 
)
static

Definition at line 2646 of file sql.tab.c.

2647 {
2648  struct expr *e = parser_alloc( info, sizeof *e );
2649  if( e )
2650  {
2651  e->type = EXPR_SVAL;
2652  if( SQL_getstring( info, str, (LPWSTR *)&e->u.sval ) != ERROR_SUCCESS )
2653  return NULL; /* e will be freed by query destructor */
2654  }
2655  return e;
2656 }
#define ERROR_SUCCESS
Definition: deptool.c:10
static UINT SQL_getstring(void *info, const struct sql_str *strdata, LPWSTR *str)
Definition: sql.tab.c:2537
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by yyparse().

◆ EXPR_unary()

static struct expr * EXPR_unary ( void info,
struct expr l,
UINT  op 
)
static

Definition at line 2610 of file sql.tab.c.

2611 {
2612  struct expr *e = parser_alloc( info, sizeof *e );
2613  if( e )
2614  {
2615  e->type = EXPR_UNARY;
2616  e->u.expr.left = l;
2617  e->u.expr.op = op;
2618  e->u.expr.right = NULL;
2619  }
2620  return e;
2621 }
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82
smooth NULL
Definition: ftsmooth.c:416
r l[0]
Definition: byte_order.h:167
UINT op
Definition: effect.c:223

Referenced by yyparse().

◆ EXPR_wildcard()

static struct expr * EXPR_wildcard ( void info)
static

Definition at line 2587 of file sql.tab.c.

2588 {
2589  struct expr *e = parser_alloc( info, sizeof *e );
2590  if( e )
2591  {
2592  e->type = EXPR_WILDCARD;
2593  }
2594  return e;
2595 }
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
Definition: query.h:86
#define e
Definition: ke_i.h:82
#define EXPR_WILDCARD
Definition: query.h:54

Referenced by yyparse().

◆ free()

void free ( void )

Definition at line 147 of file cabinet.c.

148 {
150 }
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:606
static PVOID ptr
Definition: dispmode.c:27
HANDLE ProcessHeap
Definition: servman.c:15

◆ malloc()

void* malloc ( YYSIZE_T  )

◆ MSI_ParseSQL()

UINT MSI_ParseSQL ( MSIDATABASE db,
LPCWSTR  command,
MSIVIEW **  phview,
struct list mem 
)

Definition at line 2714 of file sql.tab.c.

2716 {
2717  SQL_input sql;
2718  int r;
2719 
2720  *phview = NULL;
2721 
2722  sql.db = db;
2723  sql.command = command;
2724  sql.n = 0;
2725  sql.len = 0;
2726  sql.r = ERROR_BAD_QUERY_SYNTAX;
2727  sql.view = phview;
2728  sql.mem = mem;
2729 
2730  r = sql_parse(&sql);
2731 
2732  TRACE("Parse returned %d\n", r);
2733  if( r )
2734  {
2735  if (*sql.view)
2736  {
2737  (*sql.view)->ops->delete(*sql.view);
2738  *sql.view = NULL;
2739  }
2740  return sql.r;
2741  }
2742 
2743  return ERROR_SUCCESS;
2744 }
#define ERROR_SUCCESS
Definition: deptool.c:10
DWORD len
Definition: query.h:103
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
UINT r
Definition: query.h:104
int sql_parse(SQL_input *info)
DWORD n
Definition: query.h:103
LPCWSTR command
Definition: query.h:102
MSIVIEW ** view
Definition: query.h:105
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
struct list * mem
Definition: query.h:109
MSIDATABASE * db
Definition: query.h:101
int command(const char *fmt,...)
Definition: ftp.c:266
Definition: mem.c:156
#define ERROR_BAD_QUERY_SYNTAX
Definition: winerror.h:973

Referenced by MSI_DatabaseOpenViewW().

◆ parser_add_table()

static LPWSTR parser_add_table ( void info,
LPCWSTR  list,
LPCWSTR  table 
)
static

Definition at line 2468 of file sql.tab.c.

2469 {
2470  static const WCHAR space[] = {' ',0};
2471  DWORD len = strlenW( list ) + strlenW( table ) + 2;
2472  LPWSTR ret;
2473 
2474  ret = parser_alloc( info, len * sizeof(WCHAR) );
2475  if( ret )
2476  {
2477  strcpyW( ret, list );
2478  strcatW( ret, space );
2479  strcatW( ret, table );
2480  }
2481  return ret;
2482 }
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
int ret
GLenum GLsizei len
Definition: glext.h:6722
Definition: _list.h:228
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
WINE_UNICODE_INLINE WCHAR * strcatW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:242
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by yyparse().

◆ parser_alloc()

static void * parser_alloc ( void info,
unsigned int  sz 
)
static

Definition at line 2484 of file sql.tab.c.

2485 {
2486  SQL_input* sql = (SQL_input*) info;
2487  struct list *mem;
2488 
2489  mem = msi_alloc( sizeof (struct list) + sz );
2490  list_add_tail( sql->mem, mem );
2491  return &mem[1];
2492 }
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
Definition: list.h:102
Definition: _list.h:228
struct list * mem
Definition: query.h:109
Definition: mem.c:156
static void * msi_alloc(size_t len) __WINE_ALLOC_SIZE(1)
Definition: msipriv.h:1204

Referenced by EXPR_column(), EXPR_complex(), EXPR_ival(), EXPR_sval(), EXPR_unary(), EXPR_wildcard(), parser_add_table(), parser_alloc_column(), and SQL_getstring().

◆ parser_alloc_column()

static column_info * parser_alloc_column ( void info,
LPCWSTR  table,
LPCWSTR  column 
)
static

Definition at line 2494 of file sql.tab.c.

2495 {
2496  column_info *col;
2497 
2498  col = parser_alloc( info, sizeof (*col) );
2499  if( col )
2500  {
2501  col->table = table;
2502  col->column = column;
2503  col->val = NULL;
2504  col->type = 0;
2505  col->next = NULL;
2506  }
2507 
2508  return col;
2509 }
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: glext.h:5644
struct _column_info * next
Definition: msipriv.h:216
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
smooth NULL
Definition: ftsmooth.c:416
LPCWSTR column
Definition: msipriv.h:212
struct expr * val
Definition: msipriv.h:215
LPCWSTR table
Definition: msipriv.h:211
GLenum GLenum GLvoid GLvoid * column
Definition: glext.h:5664

Referenced by yyparse().

◆ sql_error()

static int sql_error ( SQL_input info,
const char str 
)
static

Definition at line 2582 of file sql.tab.c.

2583 {
2584  return 0;
2585 }

◆ SQL_getint()

INT SQL_getint ( void info)
static

Definition at line 2563 of file sql.tab.c.

2564 {
2565  SQL_input* sql = (SQL_input*) info;
2566  LPCWSTR p = &sql->command[sql->n];
2567  INT i, r = 0;
2568 
2569  for( i=0; i<sql->len; i++ )
2570  {
2571  if( '0' > p[i] || '9' < p[i] )
2572  {
2573  ERR("should only be numbers here!\n");
2574  break;
2575  }
2576  r = (p[i]-'0') + r*10;
2577  }
2578 
2579  return r;
2580 }
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
DWORD len
Definition: query.h:103
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
DWORD n
Definition: query.h:103
int32_t INT
Definition: typedefs.h:56
LPCWSTR command
Definition: query.h:102
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define ERR(fmt,...)
Definition: debug.h:109
GLfloat GLfloat p
Definition: glext.h:8902

Referenced by yyparse().

◆ SQL_getstring()

UINT SQL_getstring ( void info,
const struct sql_str strdata,
LPWSTR str 
)
static

Definition at line 2537 of file sql.tab.c.

2538 {
2539  LPCWSTR p = strdata->data;
2540  UINT len = strdata->len;
2541 
2542  /* match quotes */
2543  if( ( (p[0]=='`') && (p[len-1]!='`') ) ||
2544  ( (p[0]=='\'') && (p[len-1]!='\'') ) )
2545  return ERROR_FUNCTION_FAILED;
2546 
2547  /* if there are quotes, remove them */
2548  if( ( (p[0]=='`') && (p[len-1]=='`') ) ||
2549  ( (p[0]=='\'') && (p[len-1]=='\'') ) )
2550  {
2551  p++;
2552  len -= 2;
2553  }
2554  *str = parser_alloc( info, (len + 1)*sizeof(WCHAR) );
2555  if( !*str )
2556  return ERROR_OUTOFMEMORY;
2557  memcpy( *str, p, len*sizeof(WCHAR) );
2558  (*str)[len]=0;
2559 
2560  return ERROR_SUCCESS;
2561 }
#define ERROR_SUCCESS
Definition: deptool.c:10
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
static void * parser_alloc(void *info, unsigned int sz)
Definition: sql.tab.c:2484
#define ERROR_FUNCTION_FAILED
Definition: winerror.h:985
const WCHAR * str
INT len
Definition: query.h:61
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum GLsizei len
Definition: glext.h:6722
unsigned int UINT
Definition: ndis.h:50
GLfloat GLfloat p
Definition: glext.h:8902
#define ERROR_OUTOFMEMORY
Definition: deptool.c:13
LPCWSTR data
Definition: query.h:60

Referenced by EXPR_sval(), and yyparse().

◆ sql_lex()

static int sql_lex ( void SQL_lval,
SQL_input info 
)
static

Definition at line 2511 of file sql.tab.c.

2512 {
2513  int token, skip;
2514  struct sql_str * str = SQL_lval;
2515 
2516  do
2517  {
2518  sql->n += sql->len;
2519  if( ! sql->command[sql->n] )
2520  return 0; /* end of input */
2521 
2522  /* TRACE("string : %s\n", debugstr_w(&sql->command[sql->n])); */
2523  sql->len = sqliteGetToken( &sql->command[sql->n], &token, &skip );
2524  if( sql->len==0 )
2525  break;
2526  str->data = &sql->command[sql->n];
2527  str->len = sql->len;
2528  sql->n += skip;
2529  }
2530  while( token == TK_SPACE );
2531 
2532  /* TRACE("token : %d (%s)\n", token, debugstr_wn(&sql->command[sql->n], sql->len)); */
2533 
2534  return token;
2535 }
Definition: query.h:59
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
Definition: glfuncs.h:210
const WCHAR * str
int sqliteGetToken(const WCHAR *z, int *tokenType, int *skip) DECLSPEC_HIDDEN
Definition: tokenize.c:209
#define skip(...)
Definition: atltest.h:64

◆ SQL_MarkPrimaryKeys()

static BOOL SQL_MarkPrimaryKeys ( column_info **  cols,
column_info keys 
)
static

Definition at line 2687 of file sql.tab.c.

2689 {
2690  column_info *k;
2691  BOOL found = TRUE;
2692  int count;
2693 
2694  for( k = keys, count = 0; k && found; k = k->next, count++ )
2695  {
2696  column_info *c;
2697  int idx;
2698 
2699  found = FALSE;
2700  for( c = *cols, idx = 0; c && !found; c = c->next, idx++ )
2701  {
2702  if( strcmpW( k->column, c->column ) )
2703  continue;
2704  c->type |= MSITYPE_KEY;
2705  found = TRUE;
2706  if (idx != count)
2707  swap_columns( cols, c, count );
2708  }
2709  }
2710 
2711  return found;
2712 }
static void swap_columns(column_info **cols, column_info *A, int idx)
Definition: sql.tab.c:2658
#define TRUE
Definition: types.h:120
GLuint GLuint GLsizei count
Definition: gl.h:1545
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned int idx
Definition: utils.c:41
const GLubyte * c
Definition: glext.h:8905
#define MSITYPE_KEY
Definition: msipriv.h:49
WINE_UNICODE_INLINE int strcmpW(const WCHAR *str1, const WCHAR *str2)
Definition: unicode.h:229
#define c
Definition: ke_i.h:80
int k
Definition: mpi.c:3369

Referenced by yyparse().

◆ sql_parse()

int sql_parse ( SQL_input info)

Referenced by MSI_ParseSQL().

◆ swap_columns()

static void swap_columns ( column_info **  cols,
column_info A,
int  idx 
)
static

Definition at line 2658 of file sql.tab.c.

2659 {
2660  column_info *preA = NULL, *preB = NULL, *B, *ptr;
2661  int i = 0;
2662 
2663  B = NULL;
2664  ptr = *cols;
2665  while( ptr )
2666  {
2667  if( i++ == idx )
2668  B = ptr;
2669  else if( !B )
2670  preB = ptr;
2671 
2672  if( ptr->next == A )
2673  preA = ptr;
2674 
2675  ptr = ptr->next;
2676  }
2677 
2678  if( preB ) preB->next = A;
2679  if( preA ) preA->next = B;
2680  ptr = A->next;
2681  A->next = B->next;
2682  B->next = ptr;
2683  if( idx == 0 )
2684  *cols = A;
2685 }
struct _column_info * next
Definition: msipriv.h:216
#define A(row, col)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static PVOID ptr
Definition: dispmode.c:27
unsigned int idx
Definition: utils.c:41
smooth NULL
Definition: ftsmooth.c:416
Definition: ttei1.cpp:12
struct define * next
Definition: compiler.c:65
#define B(row, col)

Referenced by SQL_MarkPrimaryKeys().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( msi  )

◆ yydestruct()

static void yydestruct ( const char yymsg,
int  yytype,
YYSTYPE yyvaluep,
SQL_input info 
)
static

Definition at line 1175 of file sql.tab.c.

1176 {
1177  YYUSE (yyvaluep);
1178  YYUSE (info);
1179  if (!yymsg)
1180  yymsg = "Deleting";
1181  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1182 
1184  YYUSE (yytype);
1186 }
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: sql.tab.c:346
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: sql.tab.c:925
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: sql.tab.c:345
#define YYUSE(E)
Definition: sql.tab.c:328

Referenced by yyparse().

◆ yyparse()

int yyparse ( SQL_input info)

Definition at line 1196 of file sql.tab.c.

1197 {
1198 /* The lookahead symbol. */
1199 int yychar;
1200 
1201 
1202 /* The semantic value of the lookahead symbol. */
1203 /* Default value used for initialization, for pacifying older GCCs
1204  or non-GCC compilers. */
1205 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
1206 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
1207 
1208  /* Number of syntax errors so far. */
1209  int yynerrs;
1210 
1211  int yystate;
1212  /* Number of tokens to shift before error messages enabled. */
1213  int yyerrstatus;
1214 
1215  /* The stacks and their tools:
1216  'yyss': related to states.
1217  'yyvs': related to semantic values.
1218 
1219  Refer to the stacks through separate pointers, to allow yyoverflow
1220  to reallocate them elsewhere. */
1221 
1222  /* The state stack. */
1223  yytype_int16 yyssa[YYINITDEPTH];
1224  yytype_int16 *yyss;
1225  yytype_int16 *yyssp;
1226 
1227  /* The semantic value stack. */
1228  YYSTYPE yyvsa[YYINITDEPTH];
1229  YYSTYPE *yyvs;
1230  YYSTYPE *yyvsp;
1231 
1232  YYSIZE_T yystacksize;
1233 
1234  int yyn;
1235  int yyresult;
1236  /* Lookahead token as an internal (translated) token number. */
1237  int yytoken = 0;
1238  /* The variables used to return semantic value and location from the
1239  action routines. */
1240  YYSTYPE yyval;
1241 
1242 #if YYERROR_VERBOSE
1243  /* Buffer for error messages, and its allocated size. */
1244  char yymsgbuf[128];
1245  char *yymsg = yymsgbuf;
1246  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1247 #endif
1248 
1249 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1250 
1251  /* The number of symbols on the RHS of the reduced rule.
1252  Keep to zero when no symbol should be popped. */
1253  int yylen = 0;
1254 
1255  yyssp = yyss = yyssa;
1256  yyvsp = yyvs = yyvsa;
1257  yystacksize = YYINITDEPTH;
1258 
1259  YYDPRINTF ((stderr, "Starting parse\n"));
1260 
1261  yystate = 0;
1262  yyerrstatus = 0;
1263  yynerrs = 0;
1264  yychar = YYEMPTY; /* Cause a token to be read. */
1265  goto yysetstate;
1266 
1267 /*------------------------------------------------------------.
1268 | yynewstate -- Push a new state, which is found in yystate. |
1269 `------------------------------------------------------------*/
1270  yynewstate:
1271  /* In all cases, when you get here, the value and location stacks
1272  have just been pushed. So pushing a state here evens the stacks. */
1273  yyssp++;
1274 
1275  yysetstate:
1276  *yyssp = yystate;
1277 
1278  if (yyss + yystacksize - 1 <= yyssp)
1279  {
1280  /* Get the current used size of the three stacks, in elements. */
1281  YYSIZE_T yysize = yyssp - yyss + 1;
1282 
1283 #ifdef yyoverflow
1284  {
1285  /* Give user a chance to reallocate the stack. Use copies of
1286  these so that the &'s don't force the real ones into
1287  memory. */
1288  YYSTYPE *yyvs1 = yyvs;
1289  yytype_int16 *yyss1 = yyss;
1290 
1291  /* Each stack pointer address is followed by the size of the
1292  data in use in that stack, in bytes. This used to be a
1293  conditional around just the two extra args, but that might
1294  be undefined if yyoverflow is a macro. */
1295  yyoverflow (YY_("memory exhausted"),
1296  &yyss1, yysize * sizeof (*yyssp),
1297  &yyvs1, yysize * sizeof (*yyvsp),
1298  &yystacksize);
1299 
1300  yyss = yyss1;
1301  yyvs = yyvs1;
1302  }
1303 #else /* no yyoverflow */
1304 # ifndef YYSTACK_RELOCATE
1305  goto yyexhaustedlab;
1306 # else
1307  /* Extend the stack our own way. */
1308  if (YYMAXDEPTH <= yystacksize)
1309  goto yyexhaustedlab;
1310  yystacksize *= 2;
1311  if (YYMAXDEPTH < yystacksize)
1312  yystacksize = YYMAXDEPTH;
1313 
1314  {
1315  yytype_int16 *yyss1 = yyss;
1316  union yyalloc *yyptr =
1317  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1318  if (! yyptr)
1319  goto yyexhaustedlab;
1320  YYSTACK_RELOCATE (yyss_alloc, yyss);
1321  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1322 # undef YYSTACK_RELOCATE
1323  if (yyss1 != yyssa)
1324  YYSTACK_FREE (yyss1);
1325  }
1326 # endif
1327 #endif /* no yyoverflow */
1328 
1329  yyssp = yyss + yysize - 1;
1330  yyvsp = yyvs + yysize - 1;
1331 
1332  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1333  (unsigned long int) yystacksize));
1334 
1335  if (yyss + yystacksize - 1 <= yyssp)
1336  YYABORT;
1337  }
1338 
1339  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1340 
1341  if (yystate == YYFINAL)
1342  YYACCEPT;
1343 
1344  goto yybackup;
1345 
1346 /*-----------.
1347 | yybackup. |
1348 `-----------*/
1349 yybackup:
1350 
1351  /* Do appropriate processing given the current state. Read a
1352  lookahead token if we need one and don't already have one. */
1353 
1354  /* First try to decide what to do without reference to lookahead token. */
1355  yyn = yypact[yystate];
1356  if (yypact_value_is_default (yyn))
1357  goto yydefault;
1358 
1359  /* Not known => get a lookahead token if don't already have one. */
1360 
1361  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1362  if (yychar == YYEMPTY)
1363  {
1364  YYDPRINTF ((stderr, "Reading a token: "));
1365  yychar = yylex (&yylval, info);
1366  }
1367 
1368  if (yychar <= YYEOF)
1369  {
1370  yychar = yytoken = YYEOF;
1371  YYDPRINTF ((stderr, "Now at end of input.\n"));
1372  }
1373  else
1374  {
1375  yytoken = YYTRANSLATE (yychar);
1376  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1377  }
1378 
1379  /* If the proper action on seeing token YYTOKEN is to reduce or to
1380  detect an error, take that action. */
1381  yyn += yytoken;
1382  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1383  goto yydefault;
1384  yyn = yytable[yyn];
1385  if (yyn <= 0)
1386  {
1387  if (yytable_value_is_error (yyn))
1388  goto yyerrlab;
1389  yyn = -yyn;
1390  goto yyreduce;
1391  }
1392 
1393  /* Count tokens shifted since error; after three, turn off error
1394  status. */
1395  if (yyerrstatus)
1396  yyerrstatus--;
1397 
1398  /* Shift the lookahead token. */
1399  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1400 
1401  /* Discard the shifted token. */
1402  yychar = YYEMPTY;
1403 
1404  yystate = yyn;
1406  *++yyvsp = yylval;
1408 
1409  goto yynewstate;
1410 
1411 
1412 /*-----------------------------------------------------------.
1413 | yydefault -- do the default action for the current state. |
1414 `-----------------------------------------------------------*/
1415 yydefault:
1416  yyn = yydefact[yystate];
1417  if (yyn == 0)
1418  goto yyerrlab;
1419  goto yyreduce;
1420 
1421 
1422 /*-----------------------------.
1423 | yyreduce -- Do a reduction. |
1424 `-----------------------------*/
1425 yyreduce:
1426  /* yyn is the number of a rule to reduce with. */
1427  yylen = yyr2[yyn];
1428 
1429  /* If YYLEN is nonzero, implement the default value of the action:
1430  '$$ = $1'.
1431 
1432  Otherwise, the following line sets YYVAL to garbage.
1433  This behavior is undocumented and Bison
1434  users should not rely upon it. Assigning to YYVAL
1435  unconditionally makes the parser a bit smaller, and it avoids a
1436  GCC warning that YYVAL may be used uninitialized. */
1437  yyval = yyvsp[1-yylen];
1438 
1439 
1440  YY_REDUCE_PRINT (yyn);
1441  switch (yyn)
1442  {
1443  case 2:
1444 #line 118 "sql.y" /* yacc.c:1646 */
1445  {
1446  SQL_input* sql = (SQL_input*) info;
1447  *sql->view = (yyvsp[0].query);
1448  }
1449 #line 1450 "sql.tab.c" /* yacc.c:1646 */
1450  break;
1451 
1452  case 10:
1453 #line 136 "sql.y" /* yacc.c:1646 */
1454  {
1455  SQL_input *sql = (SQL_input*) info;
1456  MSIVIEW *insert = NULL;
1457 
1458  INSERT_CreateView( sql->db, &insert, (yyvsp[-7].string), (yyvsp[-5].column_list), (yyvsp[-1].column_list), FALSE );
1459  if( !insert )
1460  YYABORT;
1461 
1462  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), insert );
1463  }
1464 #line 1465 "sql.tab.c" /* yacc.c:1646 */
1465  break;
1466 
1467  case 11:
1468 #line 147 "sql.y" /* yacc.c:1646 */
1469  {
1470  SQL_input *sql = (SQL_input*) info;
1471  MSIVIEW *insert = NULL;
1472 
1473  INSERT_CreateView( sql->db, &insert, (yyvsp[-8].string), (yyvsp[-6].column_list), (yyvsp[-2].column_list), TRUE );
1474  if( !insert )
1475  YYABORT;
1476 
1477  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), insert );
1478  }
1479 #line 1480 "sql.tab.c" /* yacc.c:1646 */
1480  break;
1481 
1482  case 12:
1483 #line 161 "sql.y" /* yacc.c:1646 */
1484  {
1485  SQL_input* sql = (SQL_input*) info;
1486  MSIVIEW *create = NULL;
1487  UINT r;
1488 
1489  if( !(yyvsp[-1].column_list) )
1490  YYABORT;
1491  r = CREATE_CreateView( sql->db, &create, (yyvsp[-3].string), (yyvsp[-1].column_list), FALSE );
1492  if( !create )
1493  {
1494  sql->r = r;
1495  YYABORT;
1496  }
1497 
1498  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), create );
1499  }
1500 #line 1501 "sql.tab.c" /* yacc.c:1646 */
1501  break;
1502 
1503  case 13:
1504 #line 178 "sql.y" /* yacc.c:1646 */
1505  {
1506  SQL_input* sql = (SQL_input*) info;
1507  MSIVIEW *create = NULL;
1508 
1509  if( !(yyvsp[-2].column_list) )
1510  YYABORT;
1511  CREATE_CreateView( sql->db, &create, (yyvsp[-4].string), (yyvsp[-2].column_list), TRUE );
1512  if( !create )
1513  YYABORT;
1514 
1515  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), create );
1516  }
1517 #line 1518 "sql.tab.c" /* yacc.c:1646 */
1518  break;
1519 
1520  case 14:
1521 #line 194 "sql.y" /* yacc.c:1646 */
1522  {
1523  SQL_input* sql = (SQL_input*) info;
1524  MSIVIEW *update = NULL;
1525 
1526  UPDATE_CreateView( sql->db, &update, (yyvsp[-4].string), (yyvsp[-2].column_list), (yyvsp[0].expr) );
1527  if( !update )
1528  YYABORT;
1529 
1530  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), update );
1531  }
1532 #line 1533 "sql.tab.c" /* yacc.c:1646 */
1533  break;
1534 
1535  case 15:
1536 #line 205 "sql.y" /* yacc.c:1646 */
1537  {
1538  SQL_input* sql = (SQL_input*) info;
1539  MSIVIEW *update = NULL;
1540 
1541  UPDATE_CreateView( sql->db, &update, (yyvsp[-2].string), (yyvsp[0].column_list), NULL );
1542  if( !update )
1543  YYABORT;
1544 
1545  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), update );
1546  }
1547 #line 1548 "sql.tab.c" /* yacc.c:1646 */
1548  break;
1549 
1550  case 16:
1551 #line 219 "sql.y" /* yacc.c:1646 */
1552  {
1553  SQL_input* sql = (SQL_input*) info;
1554  MSIVIEW *delete = NULL;
1555 
1556  DELETE_CreateView( sql->db, &delete, (yyvsp[0].query) );
1557  if( !delete )
1558  YYABORT;
1559 
1560  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), delete );
1561  }
1562 #line 1563 "sql.tab.c" /* yacc.c:1646 */
1563  break;
1564 
1565  case 17:
1566 #line 233 "sql.y" /* yacc.c:1646 */
1567  {
1568  SQL_input* sql = (SQL_input*) info;
1569  MSIVIEW *alter = NULL;
1570 
1571  ALTER_CreateView( sql->db, &alter, (yyvsp[-1].string), NULL, (yyvsp[0].integer) );
1572  if( !alter )
1573  YYABORT;
1574 
1575  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), alter );
1576  }
1577 #line 1578 "sql.tab.c" /* yacc.c:1646 */
1578  break;
1579 
1580  case 18:
1581 #line 244 "sql.y" /* yacc.c:1646 */
1582  {
1583  SQL_input *sql = (SQL_input *)info;
1584  MSIVIEW *alter = NULL;
1585 
1586  ALTER_CreateView( sql->db, &alter, (yyvsp[-2].string), (yyvsp[0].column_list), 0 );
1587  if (!alter)
1588  YYABORT;
1589 
1590  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), alter );
1591  }
1592 #line 1593 "sql.tab.c" /* yacc.c:1646 */
1593  break;
1594 
1595  case 19:
1596 #line 255 "sql.y" /* yacc.c:1646 */
1597  {
1598  SQL_input *sql = (SQL_input *)info;
1599  MSIVIEW *alter = NULL;
1600 
1601  ALTER_CreateView( sql->db, &alter, (yyvsp[-3].string), (yyvsp[-1].column_list), 1 );
1602  if (!alter)
1603  YYABORT;
1604 
1605  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), alter );
1606  }
1607 #line 1608 "sql.tab.c" /* yacc.c:1646 */
1608  break;
1609 
1610  case 20:
1611 #line 269 "sql.y" /* yacc.c:1646 */
1612  {
1613  (yyval.integer) = 1;
1614  }
1615 #line 1616 "sql.tab.c" /* yacc.c:1646 */
1616  break;
1617 
1618  case 21:
1619 #line 273 "sql.y" /* yacc.c:1646 */
1620  {
1621  (yyval.integer) = -1;
1622  }
1623 #line 1624 "sql.tab.c" /* yacc.c:1646 */
1624  break;
1625 
1626  case 22:
1627 #line 280 "sql.y" /* yacc.c:1646 */
1628  {
1629  SQL_input* sql = (SQL_input*) info;
1630  MSIVIEW* drop = NULL;
1631  UINT r;
1632 
1633  r = DROP_CreateView( sql->db, &drop, (yyvsp[0].string) );
1634  if( r != ERROR_SUCCESS || !(yyval.query) )
1635  YYABORT;
1636 
1637  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), drop );
1638  }
1639 #line 1640 "sql.tab.c" /* yacc.c:1646 */
1640  break;
1641 
1642  case 23:
1643 #line 295 "sql.y" /* yacc.c:1646 */
1644  {
1645  if( SQL_MarkPrimaryKeys( &(yyvsp[-3].column_list), (yyvsp[0].column_list) ) )
1646  (yyval.column_list) = (yyvsp[-3].column_list);
1647  else
1648  (yyval.column_list) = NULL;
1649  }
1650 #line 1651 "sql.tab.c" /* yacc.c:1646 */
1651  break;
1652 
1653  case 24:
1654 #line 305 "sql.y" /* yacc.c:1646 */
1655  {
1656  column_info *ci;
1657 
1658  for( ci = (yyvsp[-2].column_list); ci->next; ci = ci->next )
1659  ;
1660 
1661  ci->next = (yyvsp[0].column_list);
1662  (yyval.column_list) = (yyvsp[-2].column_list);
1663  }
1664 #line 1665 "sql.tab.c" /* yacc.c:1646 */
1665  break;
1666 
1667  case 25:
1668 #line 315 "sql.y" /* yacc.c:1646 */
1669  {
1670  (yyval.column_list) = (yyvsp[0].column_list);
1671  }
1672 #line 1673 "sql.tab.c" /* yacc.c:1646 */
1673  break;
1674 
1675  case 26:
1676 #line 322 "sql.y" /* yacc.c:1646 */
1677  {
1678  (yyval.column_list) = (yyvsp[-1].column_list);
1679  (yyval.column_list)->type = ((yyvsp[0].column_type) | MSITYPE_VALID);
1680  (yyval.column_list)->temporary = (yyvsp[0].column_type) & MSITYPE_TEMPORARY ? TRUE : FALSE;
1681  }
1682 #line 1683 "sql.tab.c" /* yacc.c:1646 */
1683  break;
1684 
1685  case 27:
1686 #line 331 "sql.y" /* yacc.c:1646 */
1687  {
1688  (yyval.column_type) = (yyvsp[0].column_type);
1689  }
1690 #line 1691 "sql.tab.c" /* yacc.c:1646 */
1691  break;
1692 
1693  case 28:
1694 #line 335 "sql.y" /* yacc.c:1646 */
1695  {
1696  (yyval.column_type) = (yyvsp[-1].column_type) | MSITYPE_LOCALIZABLE;
1697  }
1698 #line 1699 "sql.tab.c" /* yacc.c:1646 */
1699  break;
1700 
1701  case 29:
1702 #line 339 "sql.y" /* yacc.c:1646 */
1703  {
1704  (yyval.column_type) = (yyvsp[-1].column_type) | MSITYPE_TEMPORARY;
1705  }
1706 #line 1707 "sql.tab.c" /* yacc.c:1646 */
1707  break;
1708 
1709  case 30:
1710 #line 346 "sql.y" /* yacc.c:1646 */
1711  {
1712  (yyval.column_type) |= MSITYPE_NULLABLE;
1713  }
1714 #line 1715 "sql.tab.c" /* yacc.c:1646 */
1715  break;
1716 
1717  case 31:
1718 #line 350 "sql.y" /* yacc.c:1646 */
1719  {
1720  (yyval.column_type) = (yyvsp[-2].column_type);
1721  }
1722 #line 1723 "sql.tab.c" /* yacc.c:1646 */
1723  break;
1724 
1725  case 32:
1726 #line 357 "sql.y" /* yacc.c:1646 */
1727  {
1728  (yyval.column_type) = MSITYPE_STRING | 0x400;
1729  }
1730 #line 1731 "sql.tab.c" /* yacc.c:1646 */
1731  break;
1732 
1733  case 33:
1734 #line 361 "sql.y" /* yacc.c:1646 */
1735  {
1736  (yyval.column_type) = MSITYPE_STRING | 0x400 | (yyvsp[-1].column_type);
1737  }
1738 #line 1739 "sql.tab.c" /* yacc.c:1646 */
1739  break;
1740 
1741  case 34:
1742 #line 365 "sql.y" /* yacc.c:1646 */
1743  {
1744  (yyval.column_type) = MSITYPE_STRING | 0x400;
1745  }
1746 #line 1747 "sql.tab.c" /* yacc.c:1646 */
1747  break;
1748 
1749  case 35:
1750 #line 369 "sql.y" /* yacc.c:1646 */
1751  {
1752  (yyval.column_type) = 2 | 0x400;
1753  }
1754 #line 1755 "sql.tab.c" /* yacc.c:1646 */
1755  break;
1756 
1757  case 36:
1758 #line 373 "sql.y" /* yacc.c:1646 */
1759  {
1760  (yyval.column_type) = 2 | 0x400;
1761  }
1762 #line 1763 "sql.tab.c" /* yacc.c:1646 */
1763  break;
1764 
1765  case 37:
1766 #line 377 "sql.y" /* yacc.c:1646 */
1767  {
1768  (yyval.column_type) = 4;
1769  }
1770 #line 1771 "sql.tab.c" /* yacc.c:1646 */
1771  break;
1772 
1773  case 38:
1774 #line 381 "sql.y" /* yacc.c:1646 */
1775  {
1777  }
1778 #line 1779 "sql.tab.c" /* yacc.c:1646 */
1779  break;
1780 
1781  case 39:
1782 #line 388 "sql.y" /* yacc.c:1646 */
1783  {
1784  if( ( (yyvsp[0].integer) > 255 ) || ( (yyvsp[0].integer) < 0 ) )
1785  YYABORT;
1786  (yyval.column_type) = (yyvsp[0].integer);
1787  }
1788 #line 1789 "sql.tab.c" /* yacc.c:1646 */
1789  break;
1790 
1791  case 40:
1792 #line 397 "sql.y" /* yacc.c:1646 */
1793  {
1794  (yyval.query) = (yyvsp[0].query);
1795  }
1796 #line 1797 "sql.tab.c" /* yacc.c:1646 */
1797  break;
1798 
1799  case 41:
1800 #line 401 "sql.y" /* yacc.c:1646 */
1801  {
1802  SQL_input* sql = (SQL_input*) info;
1803  MSIVIEW* distinct = NULL;
1804  UINT r;
1805 
1806  r = DISTINCT_CreateView( sql->db, &distinct, (yyvsp[0].query) );
1807  if (r != ERROR_SUCCESS)
1808  YYABORT;
1809 
1810  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), distinct );
1811  }
1812 #line 1813 "sql.tab.c" /* yacc.c:1646 */
1813  break;
1814 
1815  case 42:
1816 #line 416 "sql.y" /* yacc.c:1646 */
1817  {
1818  SQL_input* sql = (SQL_input*) info;
1819  MSIVIEW* select = NULL;
1820  UINT r;
1821 
1822  if( (yyvsp[-1].column_list) )
1823  {
1824  r = SELECT_CreateView( sql->db, &select, (yyvsp[0].query), (yyvsp[-1].column_list) );
1825  if (r != ERROR_SUCCESS)
1826  YYABORT;
1827 
1828  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), select );
1829  }
1830  else
1831  (yyval.query) = (yyvsp[0].query);
1832  }
1833 #line 1834 "sql.tab.c" /* yacc.c:1646 */
1834  break;
1835 
1836  case 44:
1837 #line 437 "sql.y" /* yacc.c:1646 */
1838  {
1839  (yyvsp[-2].column_list)->next = (yyvsp[0].column_list);
1840  }
1841 #line 1842 "sql.tab.c" /* yacc.c:1646 */
1842  break;
1843 
1844  case 45:
1845 #line 441 "sql.y" /* yacc.c:1646 */
1846  {
1847  (yyval.column_list) = NULL;
1848  }
1849 #line 1850 "sql.tab.c" /* yacc.c:1646 */
1850  break;
1851 
1852  case 47:
1853 #line 449 "sql.y" /* yacc.c:1646 */
1854  {
1855  (yyvsp[-2].column_list)->next = (yyvsp[0].column_list);
1856  }
1857 #line 1858 "sql.tab.c" /* yacc.c:1646 */
1858  break;
1859 
1860  case 48:
1861 #line 453 "sql.y" /* yacc.c:1646 */
1862  {
1863  (yyval.column_list) = NULL;
1864  }
1865 #line 1866 "sql.tab.c" /* yacc.c:1646 */
1866  break;
1867 
1868  case 49:
1869 #line 460 "sql.y" /* yacc.c:1646 */
1870  {
1871  SQL_input* sql = (SQL_input*) info;
1872  MSIVIEW* table = NULL;
1873  UINT r;
1874 
1875  r = TABLE_CreateView( sql->db, (yyvsp[0].string), &table );
1876  if( r != ERROR_SUCCESS || !(yyval.query) )
1877  YYABORT;
1878 
1879  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), table );
1880  }
1881 #line 1882 "sql.tab.c" /* yacc.c:1646 */
1882  break;
1883 
1884  case 50:
1885 #line 472 "sql.y" /* yacc.c:1646 */
1886  {
1887  UINT r;
1888 
1889  if( (yyvsp[0].column_list) )
1890  {
1891  r = (yyvsp[-3].query)->ops->sort( (yyvsp[-3].query), (yyvsp[0].column_list) );
1892  if ( r != ERROR_SUCCESS)
1893  YYABORT;
1894  }
1895 
1896  (yyval.query) = (yyvsp[-3].query);
1897  }
1898 #line 1899 "sql.tab.c" /* yacc.c:1646 */
1899  break;
1900 
1901  case 52:
1902 #line 489 "sql.y" /* yacc.c:1646 */
1903  {
1904  SQL_input* sql = (SQL_input*) info;
1905  MSIVIEW* where = NULL;
1906  UINT r;
1907 
1908  r = WHERE_CreateView( sql->db, &where, (yyvsp[0].string), NULL );
1909  if( r != ERROR_SUCCESS )
1910  YYABORT;
1911 
1912  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), where );
1913  }
1914 #line 1915 "sql.tab.c" /* yacc.c:1646 */
1915  break;
1916 
1917  case 53:
1918 #line 501 "sql.y" /* yacc.c:1646 */
1919  {
1920  SQL_input* sql = (SQL_input*) info;
1921  MSIVIEW* where = NULL;
1922  UINT r;
1923 
1924  r = WHERE_CreateView( sql->db, &where, (yyvsp[-2].string), (yyvsp[0].expr) );
1925  if( r != ERROR_SUCCESS )
1926  YYABORT;
1927 
1928  PARSER_BUBBLE_UP_VIEW( sql, (yyval.query), where );
1929  }
1930 #line 1931 "sql.tab.c" /* yacc.c:1646 */
1931  break;
1932 
1933  case 54:
1934 #line 516 "sql.y" /* yacc.c:1646 */
1935  {
1936  (yyval.string) = (yyvsp[0].string);
1937  }
1938 #line 1939 "sql.tab.c" /* yacc.c:1646 */
1939  break;
1940 
1941  case 55:
1942 #line 520 "sql.y" /* yacc.c:1646 */
1943  {
1944  (yyval.string) = parser_add_table( info, (yyvsp[0].string), (yyvsp[-2].string) );
1945  if (!(yyval.string))
1946  YYABORT;
1947  }
1948 #line 1949 "sql.tab.c" /* yacc.c:1646 */
1949  break;
1950 
1951  case 56:
1952 #line 529 "sql.y" /* yacc.c:1646 */
1953  {
1954  (yyval.expr) = (yyvsp[-1].expr);
1955  if( !(yyval.expr) )
1956  YYABORT;
1957  }
1958 #line 1959 "sql.tab.c" /* yacc.c:1646 */
1959  break;
1960 
1961  case 57:
1962 #line 535 "sql.y" /* yacc.c:1646 */
1963  {
1964  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_AND, (yyvsp[0].expr) );
1965  if( !(yyval.expr) )
1966  YYABORT;
1967  }
1968 #line 1969 "sql.tab.c" /* yacc.c:1646 */
1969  break;
1970 
1971  case 58:
1972 #line 541 "sql.y" /* yacc.c:1646 */
1973  {
1974  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_OR, (yyvsp[0].expr) );
1975  if( !(yyval.expr) )
1976  YYABORT;
1977  }
1978 #line 1979 "sql.tab.c" /* yacc.c:1646 */
1979  break;
1980 
1981  case 59:
1982 #line 547 "sql.y" /* yacc.c:1646 */
1983  {
1984  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_EQ, (yyvsp[0].expr) );
1985  if( !(yyval.expr) )
1986  YYABORT;
1987  }
1988 #line 1989 "sql.tab.c" /* yacc.c:1646 */
1989  break;
1990 
1991  case 60:
1992 #line 553 "sql.y" /* yacc.c:1646 */
1993  {
1994  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_GT, (yyvsp[0].expr) );
1995  if( !(yyval.expr) )
1996  YYABORT;
1997  }
1998 #line 1999 "sql.tab.c" /* yacc.c:1646 */
1999  break;
2000 
2001  case 61:
2002 #line 559 "sql.y" /* yacc.c:1646 */
2003  {
2004  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_LT, (yyvsp[0].expr) );
2005  if( !(yyval.expr) )
2006  YYABORT;
2007  }
2008 #line 2009 "sql.tab.c" /* yacc.c:1646 */
2009  break;
2010 
2011  case 62:
2012 #line 565 "sql.y" /* yacc.c:1646 */
2013  {
2014  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_LE, (yyvsp[0].expr) );
2015  if( !(yyval.expr) )
2016  YYABORT;
2017  }
2018 #line 2019 "sql.tab.c" /* yacc.c:1646 */
2019  break;
2020 
2021  case 63:
2022 #line 571 "sql.y" /* yacc.c:1646 */
2023  {
2024  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_GE, (yyvsp[0].expr) );
2025  if( !(yyval.expr) )
2026  YYABORT;
2027  }
2028 #line 2029 "sql.tab.c" /* yacc.c:1646 */
2029  break;
2030 
2031  case 64:
2032 #line 577 "sql.y" /* yacc.c:1646 */
2033  {
2034  (yyval.expr) = EXPR_complex( info, (yyvsp[-2].expr), OP_NE, (yyvsp[0].expr) );
2035  if( !(yyval.expr) )
2036  YYABORT;
2037  }
2038 #line 2039 "sql.tab.c" /* yacc.c:1646 */
2039  break;
2040 
2041  case 65:
2042 #line 583 "sql.y" /* yacc.c:1646 */
2043  {
2044  (yyval.expr) = EXPR_unary( info, (yyvsp[-2].expr), OP_ISNULL );
2045  if( !(yyval.expr) )
2046  YYABORT;
2047  }
2048 #line 2049 "sql.tab.c" /* yacc.c:1646 */
2049  break;
2050 
2051  case 66:
2052 #line 589 "sql.y" /* yacc.c:1646 */
2053  {
2054  (yyval.expr) = EXPR_unary( info, (yyvsp[-3].expr), OP_NOTNULL );
2055  if( !(yyval.expr) )
2056  YYABORT;
2057  }
2058 #line 2059 "sql.tab.c" /* yacc.c:1646 */
2059  break;
2060 
2061  case 69:
2062 #line 603 "sql.y" /* yacc.c:1646 */
2063  {
2064  (yyval.column_list) = parser_alloc_column( info, NULL, NULL );
2065  if( !(yyval.column_list) )
2066  YYABORT;
2067  (yyval.column_list)->val = (yyvsp[0].expr);
2068  }
2069 #line 2070 "sql.tab.c" /* yacc.c:1646 */
2070  break;
2071 
2072  case 70:
2073 #line 610 "sql.y" /* yacc.c:1646 */
2074  {
2075  (yyval.column_list) = parser_alloc_column( info, NULL, NULL );
2076  if( !(yyval.column_list) )
2077  YYABORT;
2078  (yyval.column_list)->val = (yyvsp[-2].expr);
2079  (yyval.column_list)->next = (yyvsp[0].column_list);
2080  }
2081 #line 2082 "sql.tab.c" /* yacc.c:1646 */
2082  break;
2083 
2084  case 72:
2085 #line 622 "sql.y" /* yacc.c:1646 */
2086  {
2087  (yyval.column_list) = (yyvsp[-2].column_list);
2088  (yyval.column_list)->next = (yyvsp[0].column_list);
2089  }
2090 #line 2091 "sql.tab.c" /* yacc.c:1646 */
2091  break;
2092 
2093  case 73:
2094 #line 630 "sql.y" /* yacc.c:1646 */
2095  {
2096  (yyval.column_list) = (yyvsp[-2].column_list);
2097  (yyval.column_list)->val = (yyvsp[0].expr);
2098  }
2099 #line 2100 "sql.tab.c" /* yacc.c:1646 */
2100  break;
2101 
2102  case 74:
2103 #line 638 "sql.y" /* yacc.c:1646 */
2104  {
2105  (yyval.expr) = EXPR_ival( info, (yyvsp[0].integer) );
2106  if( !(yyval.expr) )
2107  YYABORT;
2108  }
2109 #line 2110 "sql.tab.c" /* yacc.c:1646 */
2110  break;
2111 
2112  case 75:
2113 #line 644 "sql.y" /* yacc.c:1646 */
2114  {
2115  (yyval.expr) = EXPR_ival( info, -(yyvsp[0].integer) );
2116  if( !(yyval.expr) )
2117  YYABORT;
2118  }
2119 #line 2120 "sql.tab.c" /* yacc.c:1646 */
2120  break;
2121 
2122  case 76:
2123 #line 650 "sql.y" /* yacc.c:1646 */
2124  {
2125  (yyval.expr) = EXPR_sval( info, &(yyvsp[0].str) );
2126  if( !(yyval.expr) )
2127  YYABORT;
2128  }
2129 #line 2130 "sql.tab.c" /* yacc.c:1646 */
2130  break;
2131 
2132  case 77:
2133 #line 656 "sql.y" /* yacc.c:1646 */
2134  {
2135  (yyval.expr) = EXPR_wildcard( info );
2136  if( !(yyval.expr) )
2137  YYABORT;
2138  }
2139 #line 2140 "sql.tab.c" /* yacc.c:1646 */
2140  break;
2141 
2142  case 78:
2143 #line 665 "sql.y" /* yacc.c:1646 */
2144  {
2145  (yyval.expr) = EXPR_column( info, (yyvsp[0].column_list) );
2146  if( !(yyval.expr) )
2147  YYABORT;
2148  }
2149 #line 2150 "sql.tab.c" /* yacc.c:1646 */
2150  break;
2151 
2152  case 79:
2153 #line 674 "sql.y" /* yacc.c:1646 */
2154  {
2155  (yyval.column_list) = parser_alloc_column( info, (yyvsp[-2].string), (yyvsp[0].string) );
2156  if( !(yyval.column_list) )
2157  YYABORT;
2158  }
2159 #line 2160 "sql.tab.c" /* yacc.c:1646 */
2160  break;
2161 
2162  case 80:
2163 #line 680 "sql.y" /* yacc.c:1646 */
2164  {
2165  (yyval.column_list) = parser_alloc_column( info, NULL, (yyvsp[0].string) );
2166  if( !(yyval.column_list) )
2167  YYABORT;
2168  }
2169 #line 2170 "sql.tab.c" /* yacc.c:1646 */
2170  break;
2171 
2172  case 81:
2173 #line 689 "sql.y" /* yacc.c:1646 */
2174  {
2175  (yyval.column_list) = parser_alloc_column( info, (yyvsp[-2].string), (yyvsp[0].string) );
2176  if( !(yyval.column_list) )
2177  YYABORT;
2178  }
2179 #line 2180 "sql.tab.c" /* yacc.c:1646 */
2180  break;
2181 
2182  case 82:
2183 #line 695 "sql.y" /* yacc.c:1646 */
2184  {
2185  (yyval.column_list) = parser_alloc_column( info, NULL, (yyvsp[0].string) );
2186  if( !(yyval.column_list) )
2187  YYABORT;
2188  }
2189 #line 2190 "sql.tab.c" /* yacc.c:1646 */
2190  break;
2191 
2192  case 83:
2193 #line 701 "sql.y" /* yacc.c:1646 */
2194  {
2195  (yyval.column_list) = parser_alloc_column( info, NULL, (yyvsp[0].string) );
2196  if( !(yyval.column_list) )
2197  YYABORT;
2198  }
2199 #line 2200 "sql.tab.c" /* yacc.c:1646 */
2200  break;
2201 
2202  case 84:
2203 #line 710 "sql.y" /* yacc.c:1646 */
2204  {
2205  (yyval.string) = (yyvsp[0].string);
2206  }
2207 #line 2208 "sql.tab.c" /* yacc.c:1646 */
2208  break;
2209 
2210  case 85:
2211 #line 717 "sql.y" /* yacc.c:1646 */
2212  {
2213  if ( SQL_getstring( info, &(yyvsp[0].str), &(yyval.string) ) != ERROR_SUCCESS || !(yyval.string) )
2214  YYABORT;
2215  }
2216 #line 2217 "sql.tab.c" /* yacc.c:1646 */
2217  break;
2218 
2219  case 86:
2220 #line 725 "sql.y" /* yacc.c:1646 */
2221  {
2222  if ( SQL_getstring( info, &(yyvsp[0].str), &(yyval.string) ) != ERROR_SUCCESS || !(yyval.string) )
2223  YYABORT;
2224  }
2225 #line 2226 "sql.tab.c" /* yacc.c:1646 */
2226  break;
2227 
2228  case 87:
2229 #line 733 "sql.y" /* yacc.c:1646 */
2230  {
2231  (yyval.integer) = SQL_getint( info );
2232  }
2233 #line 2234 "sql.tab.c" /* yacc.c:1646 */
2234  break;
2235 
2236 
2237 #line 2238 "sql.tab.c" /* yacc.c:1646 */
2238  default: break;
2239  }
2240  /* User semantic actions sometimes alter yychar, and that requires
2241  that yytoken be updated with the new translation. We take the
2242  approach of translating immediately before every use of yytoken.
2243  One alternative is translating here after every semantic action,
2244  but that translation would be missed if the semantic action invokes
2245  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
2246  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
2247  incorrect destructor might then be invoked immediately. In the
2248  case of YYERROR or YYBACKUP, subsequent parser actions might lead
2249  to an incorrect destructor call or verbose syntax error message
2250  before the lookahead is translated. */
2251  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
2252 
2253  YYPOPSTACK (yylen);
2254  yylen = 0;
2255  YY_STACK_PRINT (yyss, yyssp);
2256 
2257  *++yyvsp = yyval;
2258 
2259  /* Now 'shift' the result of the reduction. Determine what state
2260  that goes to, based on the state we popped back to and the rule
2261  number reduced by. */
2262 
2263  yyn = yyr1[yyn];
2264 
2265  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
2266  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2267  yystate = yytable[yystate];
2268  else
2269  yystate = yydefgoto[yyn - YYNTOKENS];
2270 
2271  goto yynewstate;
2272 
2273 
2274 /*--------------------------------------.
2275 | yyerrlab -- here on detecting error. |
2276 `--------------------------------------*/
2277 yyerrlab:
2278  /* Make sure we have latest lookahead translation. See comments at
2279  user semantic actions for why this is necessary. */
2280  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
2281 
2282  /* If not already recovering from an error, report this error. */
2283  if (!yyerrstatus)
2284  {
2285  ++yynerrs;
2286 #if ! YYERROR_VERBOSE
2287  yyerror (info, YY_("syntax error"));
2288 #else
2289 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2290  yyssp, yytoken)
2291  {
2292  char const *yymsgp = YY_("syntax error");
2293  int yysyntax_error_status;
2294  yysyntax_error_status = YYSYNTAX_ERROR;
2295  if (yysyntax_error_status == 0)
2296  yymsgp = yymsg;
2297  else if (yysyntax_error_status == 1)
2298  {
2299  if (yymsg != yymsgbuf)
2300  YYSTACK_FREE (yymsg);
2301  yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
2302  if (!yymsg)
2303  {
2304  yymsg = yymsgbuf;
2305  yymsg_alloc = sizeof yymsgbuf;
2306  yysyntax_error_status = 2;
2307  }
2308  else
2309  {
2310  yysyntax_error_status = YYSYNTAX_ERROR;
2311  yymsgp = yymsg;
2312  }
2313  }
2314  yyerror (info, yymsgp);
2315  if (yysyntax_error_status == 2)
2316  goto yyexhaustedlab;
2317  }
2318 # undef YYSYNTAX_ERROR
2319 #endif
2320  }
2321 
2322 
2323 
2324  if (yyerrstatus == 3)
2325  {
2326  /* If just tried and failed to reuse lookahead token after an
2327  error, discard it. */
2328 
2329  if (yychar <= YYEOF)
2330  {
2331  /* Return failure if at end of input. */
2332  if (yychar == YYEOF)
2333  YYABORT;
2334  }
2335  else
2336  {
2337  yydestruct ("Error: discarding",
2338  yytoken, &yylval, info);
2339  yychar = YYEMPTY;
2340  }
2341  }
2342 
2343  /* Else will try to reuse lookahead token after shifting the error
2344  token. */
2345  goto yyerrlab1;
2346 
2347 
2348 /*---------------------------------------------------.
2349 | yyerrorlab -- error raised explicitly by YYERROR. |
2350 `---------------------------------------------------*/
2351 yyerrorlab:
2352 
2353  /* Pacify compilers like GCC when the user code never invokes
2354  YYERROR and the label yyerrorlab therefore never appears in user
2355  code. */
2356  if (/*CONSTCOND*/ 0)
2357  goto yyerrorlab;
2358 
2359  /* Do not reclaim the symbols of the rule whose action triggered
2360  this YYERROR. */
2361  YYPOPSTACK (yylen);
2362  yylen = 0;
2363  YY_STACK_PRINT (yyss, yyssp);
2364  yystate = *yyssp;
2365  goto yyerrlab1;
2366 
2367 
2368 /*-------------------------------------------------------------.
2369 | yyerrlab1 -- common code for both syntax error and YYERROR. |
2370 `-------------------------------------------------------------*/
2371 yyerrlab1:
2372  yyerrstatus = 3; /* Each real token shifted decrements this. */
2373 
2374  for (;;)
2375  {
2376  yyn = yypact[yystate];
2377  if (!yypact_value_is_default (yyn))
2378  {
2379  yyn += YYTERROR;
2380  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
2381  {
2382  yyn = yytable[yyn];
2383  if (0 < yyn)
2384  break;
2385  }
2386  }
2387 
2388  /* Pop the current state because it cannot handle the error token. */
2389  if (yyssp == yyss)
2390  YYABORT;
2391 
2392 
2393  yydestruct ("Error: popping",
2394  yystos[yystate], yyvsp, info);
2395  YYPOPSTACK (1);
2396  yystate = *yyssp;
2397  YY_STACK_PRINT (yyss, yyssp);
2398  }
2399 
2401  *++yyvsp = yylval;
2403 
2404 
2405  /* Shift the error token. */
2406  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2407 
2408  yystate = yyn;
2409  goto yynewstate;
2410 
2411 
2412 /*-------------------------------------.
2413 | yyacceptlab -- YYACCEPT comes here. |
2414 `-------------------------------------*/
2415 yyacceptlab:
2416  yyresult = 0;
2417  goto yyreturn;
2418 
2419 /*-----------------------------------.
2420 | yyabortlab -- YYABORT comes here. |
2421 `-----------------------------------*/
2422 yyabortlab:
2423  yyresult = 1;
2424  goto yyreturn;
2425 
2426 #if !defined yyoverflow || YYERROR_VERBOSE
2427 /*-------------------------------------------------.
2428 | yyexhaustedlab -- memory exhaustion comes here. |
2429 `-------------------------------------------------*/
2430 yyexhaustedlab:
2431  yyerror (info, YY_("memory exhausted"));
2432  yyresult = 2;
2433  /* Fall through. */
2434 #endif
2435 
2436 yyreturn:
2437  if (yychar != YYEMPTY)
2438  {
2439  /* Make sure we have latest lookahead translation. See comments at
2440  user semantic actions for why this is necessary. */
2441  yytoken = YYTRANSLATE (yychar);
2442  yydestruct ("Cleanup: discarding lookahead",
2443  yytoken, &yylval, info);
2444  }
2445  /* Do not reclaim the symbols of the rule whose action triggered
2446  this YYABORT or YYACCEPT. */
2447  YYPOPSTACK (yylen);
2448  YY_STACK_PRINT (yyss, yyssp);
2449  while (yyssp != yyss)
2450  {
2451  yydestruct ("Cleanup: popping",
2452  yystos[*yyssp], yyvsp, info);
2453  YYPOPSTACK (1);
2454  }
2455 #ifndef yyoverflow
2456  if (yyss != yyssa)
2457  YYSTACK_FREE (yyss);
2458 #endif
2459 #if YYERROR_VERBOSE
2460  if (yymsg != yymsgbuf)
2461  YYSTACK_FREE (yymsg);
2462 #endif
2463  return yyresult;
2464 }
static const yytype_int16 yycheck[]
Definition: sql.tab.c:694
static BOOL SQL_MarkPrimaryKeys(column_info **cols, column_info *keys)
Definition: sql.tab.c:2687
#define TRUE
Definition: types.h:120
#define YYINITDEPTH
Definition: sql.tab.c:933
#define YYSTACK_ALLOC
Definition: sql.tab.c:392
#define OP_EQ
Definition: query.h:36
#define yyerror
Definition: sql.tab.c:65
#define OP_GE
Definition: query.h:42
#define ERROR_SUCCESS
Definition: deptool.c:10
UINT INSERT_CreateView(MSIDATABASE *db, MSIVIEW **view, LPCWSTR table, column_info *columns, column_info *values, BOOL temp)
Definition: insert.c:361
MSIVIEW * query
Definition: sql.tab.c:242
UINT TABLE_CreateView(MSIDATABASE *db, LPCWSTR name, MSIVIEW **view) DECLSPEC_HIDDEN
Definition: table.c:2162