libraries/sqlite/parse.c
static void yy_destructor(
  yyParser *yypParser,    /* The parser */
  YYCODETYPE yymajor,     /* Type code for object to destroy */
  YYMINORTYPE *yypminor   /* The object to be destroyed */
){
  sqlite3ParserARG_FETCH
  sqlite3ParserCTX_FETCH
  switch( yymajor ){
    /* Here is inserted the actions which take place when a
    ** terminal or non-terminal is destroyed.  This can happen
    ** when the symbol is popped from the stack during a
    ** reduce or during error processing or when a parser is 
    ** being destroyed before it is finished parsing.
    **
    ** Note: during a reduce, the only symbols destroyed are those
    ** which appear on the RHS of the rule, but which are *not* used
    ** inside the C code.
    */
/********* Begin destructor definitions ***************************************/
    case 174: /* select */
    case 206: /* selectnowith */
    case 207: /* oneselect */
    case 219: /* values */
{
#line 445 "parse.y"
sqlite3SelectDelete(pParse->db, (yypminor->yy423));
#line 1911 "parse.c"
}
      break;
    case 184: /* term */
    case 185: /* expr */
    case 213: /* where_opt */
    case 215: /* having_opt */
    case 227: /* on_opt */
    case 242: /* case_operand */
    case 244: /* case_else */
    case 247: /* vinto */
    case 254: /* when_clause */
    case 259: /* key_opt */
    case 273: /* filter_opt */
{
#line 935 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy490));
#line 1928 "parse.c"
}
      break;
    case 189: /* eidlist_opt */
    case 198: /* sortlist */
    case 199: /* eidlist */
    case 211: /* selcollist */
    case 214: /* groupby_opt */
    case 216: /* orderby_opt */
    case 220: /* nexprlist */
    case 221: /* sclp */
    case 229: /* exprlist */
    case 233: /* setlist */
    case 241: /* paren_exprlist */
    case 243: /* case_exprlist */
    case 272: /* part_opt */
{
#line 1326 "parse.y"
sqlite3ExprListDelete(pParse->db, (yypminor->yy42));
#line 1947 "parse.c"
}
      break;
    case 205: /* fullname */
    case 212: /* from */
    case 223: /* seltablist */
    case 224: /* stl_prefix */
    case 230: /* xfullname */
{
#line 691 "parse.y"
sqlite3SrcListDelete(pParse->db, (yypminor->yy167));
#line 1958 "parse.c"
}
      break;
    case 208: /* wqlist */
{
#line 1609 "parse.y"
sqlite3WithDelete(pParse->db, (yypminor->yy499));
#line 1965 "parse.c"
}
      break;
    case 218: /* window_clause */
    case 268: /* windowdefn_list */
{
#line 1705 "parse.y"
sqlite3WindowListDelete(pParse->db, (yypminor->yy147));
#line 1973 "parse.c"
}
      break;
    case 228: /* using_opt */
    case 231: /* idlist */
    case 235: /* idlist_opt */
{
#line 763 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy336));
#line 1982 "parse.c"
}
      break;
    case 237: /* over_clause */
    case 269: /* windowdefn */
    case 270: /* window */
    case 271: /* frame_opt */
{
#line 1709 "parse.y"
sqlite3WindowDelete(pParse->db, (yypminor->yy147));
#line 1992 "parse.c"
}
      break;
    case 250: /* trigger_cmd_list */
    case 255: /* trigger_cmd */
{
#line 1443 "parse.y"
sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy119));
#line 2000 "parse.c"
}
      break;
    case 252: /* trigger_event */
{
#line 1429 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy350).b);
#line 2007 "parse.c"
}
      break;
    case 275: /* frame_bound */
    case 276: /* frame_bound_s */
    case 277: /* frame_bound_e */
{
#line 1664 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy317).pExpr);
#line 2016 "parse.c"
}
      break;
/********* End destructor definitions *****************************************/
    default:  break;   /* If no destructor action specified: do nothing */
  }
}
/* The following function deletes the "minor type" or semantic value
** associated with a symbol.  The symbol can be either a terminal
** or nonterminal. "yymajor" is the symbol code, and "yypminor" is
** a pointer to the value to be deleted.  The code used to do the 
** deletions is derived from the %destructor and/or %token_destructor
** directives of the input grammar.
*/
The following function deletes the "minor type" or semantic value
associated with a symbol.  The symbol can be either a terminal
or nonterminal. "yymajor" is the symbol code, and "yypminor" is
a pointer to the value to be deleted.  The code used to do the
deletions is derived from the %destructor and/or %token_destructor
directives of the input grammar.
The following function deletes the " minor type " or semantic value associated with a symbol . The symbol can be either a terminal or nonterminal . " yymajor " is the symbol code and " yypminor " is a pointer to the value to be deleted . The code used to do the deletions is derived from the %destructor and / or %token_destructor directives of the input grammar .
static void yy_destructor(
  yyParser *yypParser,    
  YYCODETYPE yymajor,     
  YYMINORTYPE *yypminor   
){
  sqlite3ParserARG_FETCH
  sqlite3ParserCTX_FETCH
  switch( yymajor ){
    case 174: 
    case 206: 
    case 207: 
    case 219: 
{
#line 445 "parse.y"
sqlite3SelectDelete(pParse->db, (yypminor->yy423));
#line 1911 "parse.c"
}
      break;
    case 184: 
    case 185: 
    case 213: 
    case 215: 
    case 227: 
    case 242: 
    case 244: 
    case 247: 
    case 254: 
    case 259: 
    case 273: 
{
#line 935 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy490));
#line 1928 "parse.c"
}
      break;
    case 189: 
    case 198: 
    case 199: 
    case 211: 
    case 214: 
    case 216: 
    case 220: 
    case 221: 
    case 229: 
    case 233: 
    case 241: 
    case 243: 
    case 272: 
{
#line 1326 "parse.y"
sqlite3ExprListDelete(pParse->db, (yypminor->yy42));
#line 1947 "parse.c"
}
      break;
    case 205: 
    case 212: 
    case 223: 
    case 224: 
    case 230: 
{
#line 691 "parse.y"
sqlite3SrcListDelete(pParse->db, (yypminor->yy167));
#line 1958 "parse.c"
}
      break;
    case 208: 
{
#line 1609 "parse.y"
sqlite3WithDelete(pParse->db, (yypminor->yy499));
#line 1965 "parse.c"
}
      break;
    case 218: 
    case 268: 
{
#line 1705 "parse.y"
sqlite3WindowListDelete(pParse->db, (yypminor->yy147));
#line 1973 "parse.c"
}
      break;
    case 228: 
    case 231: 
    case 235: 
{
#line 763 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy336));
#line 1982 "parse.c"
}
      break;
    case 237: 
    case 269: 
    case 270: 
    case 271: 
{
#line 1709 "parse.y"
sqlite3WindowDelete(pParse->db, (yypminor->yy147));
#line 1992 "parse.c"
}
      break;
    case 250: 
    case 255: 
{
#line 1443 "parse.y"
sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy119));
#line 2000 "parse.c"
}
      break;
    case 252: 
{
#line 1429 "parse.y"
sqlite3IdListDelete(pParse->db, (yypminor->yy350).b);
#line 2007 "parse.c"
}
      break;
    case 275: 
    case 276: 
    case 277: 
{
#line 1664 "parse.y"
sqlite3ExprDelete(pParse->db, (yypminor->yy317).pExpr);
#line 2016 "parse.c"
}
      break;
    default:  break;   
  }
}
static void yy_destructor ( yyParser * yypParser , YYCODETYPE yymajor , YYMINORTYPE * yypminor ) { sqlite3ParserARG_FETCH sqlite3ParserCTX_FETCH switch ( yymajor ) { case 174 : case 206 : case 207 : case 219 : { #line  445 "parse.y" sqlite3SelectDelete ( pParse -> db , ( yypminor -> yy423 ) ) ; #line  1911 "parse.c" } break ; case 184 : case 185 : case 213 : case 215 : case 227 : case 242 : case 244 : case 247 : case 254 : case 259 : case 273 : { #line  935 "parse.y" sqlite3ExprDelete ( pParse -> db , ( yypminor -> yy490 ) ) ; #line  1928 "parse.c" } break ; case 189 : case 198 : case 199 : case 211 : case 214 : case 216 : case 220 : case 221 : case 229 : case 233 : case 241 : case 243 : case 272 : { #line  1326 "parse.y" sqlite3ExprListDelete ( pParse -> db , ( yypminor -> yy42 ) ) ; #line  1947 "parse.c" } break ; case 205 : case 212 : case 223 : case 224 : case 230 : { #line  691 "parse.y" sqlite3SrcListDelete ( pParse -> db , ( yypminor -> yy167 ) ) ; #line  1958 "parse.c" } break ; case 208 : { #line  1609 "parse.y" sqlite3WithDelete ( pParse -> db , ( yypminor -> yy499 ) ) ; #line  1965 "parse.c" } break ; case 218 : case 268 : { #line  1705 "parse.y" sqlite3WindowListDelete ( pParse -> db , ( yypminor -> yy147 ) ) ; #line  1973 "parse.c" } break ; case 228 : case 231 : case 235 : { #line  763 "parse.y" sqlite3IdListDelete ( pParse -> db , ( yypminor -> yy336 ) ) ; #line  1982 "parse.c" } break ; case 237 : case 269 : case 270 : case 271 : { #line  1709 "parse.y" sqlite3WindowDelete ( pParse -> db , ( yypminor -> yy147 ) ) ; #line  1992 "parse.c" } break ; case 250 : case 255 : { #line  1443 "parse.y" sqlite3DeleteTriggerStep ( pParse -> db , ( yypminor -> yy119 ) ) ; #line  2000 "parse.c" } break ; case 252 : { #line  1429 "parse.y" sqlite3IdListDelete ( pParse -> db , ( yypminor -> yy350 ) . b ) ; #line  2007 "parse.c" } break ; case 275 : case 276 : case 277 : { #line  1664 "parse.y" sqlite3ExprDelete ( pParse -> db , ( yypminor -> yy317 ) . pExpr ) ; #line  2016 "parse.c" } break ; default : break ; } }
The following function deletes the "minor type" or semantic value
associated with a symbol.
The following function deletes the " minor type " or semantic value associated with a symbol .
/* The parser */ /* Type code for object to destroy */ /* The object to be destroyed */ /* Here is inserted the actions which take place when a
    ** terminal or non-terminal is destroyed.  This can happen
    ** when the symbol is popped from the stack during a
    ** reduce or during error processing or when a parser is 
    ** being destroyed before it is finished parsing.
    **
    ** Note: during a reduce, the only symbols destroyed are those
    ** which appear on the RHS of the rule, but which are *not* used
    ** inside the C code.
    */ /********* Begin destructor definitions ***************************************/ /* select */ /* selectnowith */ /* oneselect */ /* values */ /* term */ /* expr */ /* where_opt */ /* having_opt */ /* on_opt */ /* case_operand */ /* case_else */ /* vinto */ /* when_clause */ /* key_opt */ /* filter_opt */ /* eidlist_opt */ /* sortlist */ /* eidlist */ /* selcollist */ /* groupby_opt */ /* orderby_opt */ /* nexprlist */ /* sclp */ /* exprlist */ /* setlist */ /* paren_exprlist */ /* case_exprlist */ /* part_opt */ /* fullname */ /* from */ /* seltablist */ /* stl_prefix */ /* xfullname */ /* wqlist */ /* window_clause */ /* windowdefn_list */ /* using_opt */ /* idlist */ /* idlist_opt */ /* over_clause */ /* windowdefn */ /* window */ /* frame_opt */ /* trigger_cmd_list */ /* trigger_cmd */ /* trigger_event */ /* frame_bound */ /* frame_bound_s */ /* frame_bound_e */ /********* End destructor definitions *****************************************/ /* If no destructor action specified: do nothing */