~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/include/pars0pars.h

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*****************************************************************************
2
2
 
3
 
Copyright (c) 1996, 2009, Innobase Oy. All Rights Reserved.
 
3
Copyright (C) 1996, 2010, Innobase Oy. All Rights Reserved.
4
4
 
5
5
This program is free software; you can redistribute it and/or modify it under
6
6
the terms of the GNU General Public License as published by the Free Software
11
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
12
 
13
13
You should have received a copy of the GNU General Public License along with
14
 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15
 
Place, Suite 330, Boston, MA 02111-1307 USA
 
14
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
 
15
St, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
*****************************************************************************/
18
18
 
106
106
        const char*     str);   /*!< in: SQL string */
107
107
/*************************************************************//**
108
108
Retrieves characters to the lexical analyzer. */
 
109
#ifdef __cplusplus
 
110
extern "C"
 
111
#endif
109
112
UNIV_INTERN
110
113
void
111
114
pars_get_lex_chars(
521
524
 
522
525
char buf[8];
523
526
mach_write_to_8(buf, val);
524
 
pars_info_add_literal(info, name, buf, 8, DATA_BINARY, 0);
 
527
pars_info_add_literal(info, name, buf, 8, DATA_FIXBINARY, 0);
525
528
 
526
529
except that the buffer is dynamically allocated from the info struct's
527
530
heap. */
528
531
UNIV_INTERN
529
532
void
530
 
pars_info_add_dulint_literal(
531
 
/*=========================*/
 
533
pars_info_add_ull_literal(
 
534
/*======================*/
532
535
        pars_info_t*    info,           /*!< in: info struct */
533
536
        const char*     name,           /*!< in: name */
534
 
        dulint          val);           /*!< in: value */
 
537
        ib_uint64_t     val);           /*!< in: value */
535
538
/****************************************************************//**
536
539
Add user function. */
537
540
UNIV_INTERN
583
586
        pars_info_t*            info,   /*!< in: info struct */
584
587
        const char*             name);  /*!< in: bound id name to find */
585
588
 
 
589
/******************************************************************//**
 
590
Release any resources used by the lexer. */
 
591
#ifdef __cplusplus
 
592
extern "C"
 
593
#endif
 
594
UNIV_INTERN
 
595
void
 
596
pars_lexer_close(void);
 
597
/*==================*/
586
598
 
587
599
/** Extra information supplied for pars_sql(). */
588
600
struct pars_info_struct {
624
636
/** Struct used to denote a reserved word in a parsing tree */
625
637
struct pars_res_word_struct{
626
638
        int     code;   /*!< the token code for the reserved word from
627
 
                        pars0grm.h */
 
639
                        pars0grm.hh */
628
640
};
629
641
 
630
642
/** A predefined function or operator node in a parsing tree; this construct
632
644
struct func_node_struct{
633
645
        que_common_t    common; /*!< type: QUE_NODE_FUNC */
634
646
        int             func;   /*!< token code of the function name */
635
 
        ulint           class;  /*!< class of the function */
 
647
        ulint           func_class;     /*!< class of the function */
636
648
        que_node_t*     args;   /*!< argument(s) of the function */
637
649
        UT_LIST_NODE_T(func_node_t) cond_list;
638
650
                                /*!< list of comparison conditions; defined