MDEV-12273 Remove dict_table_t::does_not_fit_in_memory
In the InnoDB internal SQL parser, there is the keyword DOES_NOT_FIT_IN_MEMORY that is never specified in any CREATE TABLE statement that is passed to the InnoDB SQL parser (que_eval_sql() or pars_sql() or yyparse()). If this keyword were ever present, it would set the flag dict_table_t::does_not_fit_in_memory which is only present in debug builds. Let us remove all traces of this. Also, fix storage/innobase/pars/make_flex.sh so that no the generated file storage/innobase/pars/lexyy.cc works as is. FIXME: Always generate the InnoDB Bison files at build time, similar to how sql/sql_yacc.yy is handled. (This would still leave the generated scanner files, unless we want to add a build-time dependency for Flex.)
This commit is contained in:
parent
aad15eae89
commit
105f46ffb8
@ -568,12 +568,6 @@ btr_search_update_block_hash_info(
|
||||
block->left_side = info->left_side;
|
||||
}
|
||||
|
||||
#ifdef UNIV_DEBUG
|
||||
if (cursor->index->table->does_not_fit_in_memory) {
|
||||
block->n_hash_helps = 0;
|
||||
}
|
||||
#endif /* UNIV_DEBUG */
|
||||
|
||||
if ((block->n_hash_helps > page_get_n_recs(block->frame)
|
||||
/ BTR_SEARCH_PAGE_BUILD_LIMIT)
|
||||
&& (info->n_hash_potential >= BTR_SEARCH_BUILD_LIMIT)) {
|
||||
|
@ -1532,15 +1532,6 @@ struct dict_table_t {
|
||||
/*!< set of foreign key constraints which refer to this table */
|
||||
dict_foreign_set referenced_set;
|
||||
|
||||
#ifdef UNIV_DEBUG
|
||||
/** This field is used to specify in simulations tables which are so
|
||||
big that disk should be accessed. Disk access is simulated by putting
|
||||
the thread to sleep for a while. NOTE that this flag is not stored to
|
||||
the data dictionary on disk, and the database will forget about value
|
||||
TRUE if it has to reload the table definition from disk. */
|
||||
ibool does_not_fit_in_memory;
|
||||
#endif /* UNIV_DEBUG */
|
||||
|
||||
/** TRUE if the maximum length of a single row exceeds BIG_ROW_SIZE.
|
||||
Initialized in dict_table_add_to_cache(). */
|
||||
unsigned big_rows:1;
|
||||
|
@ -1,14 +1,13 @@
|
||||
/* A Bison parser, made by GNU Bison 2.3. */
|
||||
/* A Bison parser, made by GNU Bison 3.0.4. */
|
||||
|
||||
/* Skeleton interface for Bison's Yacc-like parsers in C
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
@ -16,9 +15,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* As a special exception, you may create a larger work that contains
|
||||
part or all of the Bison parser skeleton and distribute that work
|
||||
@ -33,229 +30,135 @@
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
/* Tokens. */
|
||||
#ifndef YY_YY_PARS0GRM_TAB_H_INCLUDED
|
||||
# define YY_YY_PARS0GRM_TAB_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
#if YYDEBUG
|
||||
extern int yydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||
know about them. */
|
||||
enum yytokentype {
|
||||
PARS_INT_LIT = 258,
|
||||
PARS_FLOAT_LIT = 259,
|
||||
PARS_STR_LIT = 260,
|
||||
PARS_FIXBINARY_LIT = 261,
|
||||
PARS_BLOB_LIT = 262,
|
||||
PARS_NULL_LIT = 263,
|
||||
PARS_ID_TOKEN = 264,
|
||||
PARS_AND_TOKEN = 265,
|
||||
PARS_OR_TOKEN = 266,
|
||||
PARS_NOT_TOKEN = 267,
|
||||
PARS_GE_TOKEN = 268,
|
||||
PARS_LE_TOKEN = 269,
|
||||
PARS_NE_TOKEN = 270,
|
||||
PARS_PROCEDURE_TOKEN = 271,
|
||||
PARS_IN_TOKEN = 272,
|
||||
PARS_OUT_TOKEN = 273,
|
||||
PARS_BINARY_TOKEN = 274,
|
||||
PARS_BLOB_TOKEN = 275,
|
||||
PARS_INT_TOKEN = 276,
|
||||
PARS_INTEGER_TOKEN = 277,
|
||||
PARS_FLOAT_TOKEN = 278,
|
||||
PARS_CHAR_TOKEN = 279,
|
||||
PARS_IS_TOKEN = 280,
|
||||
PARS_BEGIN_TOKEN = 281,
|
||||
PARS_END_TOKEN = 282,
|
||||
PARS_IF_TOKEN = 283,
|
||||
PARS_THEN_TOKEN = 284,
|
||||
PARS_ELSE_TOKEN = 285,
|
||||
PARS_ELSIF_TOKEN = 286,
|
||||
PARS_LOOP_TOKEN = 287,
|
||||
PARS_WHILE_TOKEN = 288,
|
||||
PARS_RETURN_TOKEN = 289,
|
||||
PARS_SELECT_TOKEN = 290,
|
||||
PARS_SUM_TOKEN = 291,
|
||||
PARS_COUNT_TOKEN = 292,
|
||||
PARS_DISTINCT_TOKEN = 293,
|
||||
PARS_FROM_TOKEN = 294,
|
||||
PARS_WHERE_TOKEN = 295,
|
||||
PARS_FOR_TOKEN = 296,
|
||||
PARS_DDOT_TOKEN = 297,
|
||||
PARS_READ_TOKEN = 298,
|
||||
PARS_ORDER_TOKEN = 299,
|
||||
PARS_BY_TOKEN = 300,
|
||||
PARS_ASC_TOKEN = 301,
|
||||
PARS_DESC_TOKEN = 302,
|
||||
PARS_INSERT_TOKEN = 303,
|
||||
PARS_INTO_TOKEN = 304,
|
||||
PARS_VALUES_TOKEN = 305,
|
||||
PARS_UPDATE_TOKEN = 306,
|
||||
PARS_SET_TOKEN = 307,
|
||||
PARS_DELETE_TOKEN = 308,
|
||||
PARS_CURRENT_TOKEN = 309,
|
||||
PARS_OF_TOKEN = 310,
|
||||
PARS_CREATE_TOKEN = 311,
|
||||
PARS_TABLE_TOKEN = 312,
|
||||
PARS_INDEX_TOKEN = 313,
|
||||
PARS_UNIQUE_TOKEN = 314,
|
||||
PARS_CLUSTERED_TOKEN = 315,
|
||||
PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 316,
|
||||
PARS_ON_TOKEN = 317,
|
||||
PARS_ASSIGN_TOKEN = 318,
|
||||
PARS_DECLARE_TOKEN = 319,
|
||||
PARS_CURSOR_TOKEN = 320,
|
||||
PARS_SQL_TOKEN = 321,
|
||||
PARS_OPEN_TOKEN = 322,
|
||||
PARS_FETCH_TOKEN = 323,
|
||||
PARS_CLOSE_TOKEN = 324,
|
||||
PARS_NOTFOUND_TOKEN = 325,
|
||||
PARS_TO_CHAR_TOKEN = 326,
|
||||
PARS_TO_NUMBER_TOKEN = 327,
|
||||
PARS_TO_BINARY_TOKEN = 328,
|
||||
PARS_BINARY_TO_NUMBER_TOKEN = 329,
|
||||
PARS_SUBSTR_TOKEN = 330,
|
||||
PARS_REPLSTR_TOKEN = 331,
|
||||
PARS_CONCAT_TOKEN = 332,
|
||||
PARS_INSTR_TOKEN = 333,
|
||||
PARS_LENGTH_TOKEN = 334,
|
||||
PARS_SYSDATE_TOKEN = 335,
|
||||
PARS_PRINTF_TOKEN = 336,
|
||||
PARS_ASSERT_TOKEN = 337,
|
||||
PARS_RND_TOKEN = 338,
|
||||
PARS_RND_STR_TOKEN = 339,
|
||||
PARS_ROW_PRINTF_TOKEN = 340,
|
||||
PARS_COMMIT_TOKEN = 341,
|
||||
PARS_ROLLBACK_TOKEN = 342,
|
||||
PARS_WORK_TOKEN = 343,
|
||||
PARS_UNSIGNED_TOKEN = 344,
|
||||
PARS_EXIT_TOKEN = 345,
|
||||
PARS_FUNCTION_TOKEN = 346,
|
||||
PARS_LOCK_TOKEN = 347,
|
||||
PARS_SHARE_TOKEN = 348,
|
||||
PARS_MODE_TOKEN = 349,
|
||||
PARS_LIKE_TOKEN = 350,
|
||||
PARS_LIKE_TOKEN_EXACT = 351,
|
||||
PARS_LIKE_TOKEN_PREFIX = 352,
|
||||
PARS_LIKE_TOKEN_SUFFIX = 353,
|
||||
PARS_LIKE_TOKEN_SUBSTR = 354,
|
||||
PARS_TABLE_NAME_TOKEN = 355,
|
||||
PARS_COMPACT_TOKEN = 356,
|
||||
PARS_BLOCK_SIZE_TOKEN = 357,
|
||||
PARS_BIGINT_TOKEN = 358,
|
||||
NEG = 359
|
||||
};
|
||||
enum yytokentype
|
||||
{
|
||||
PARS_INT_LIT = 258,
|
||||
PARS_FLOAT_LIT = 259,
|
||||
PARS_STR_LIT = 260,
|
||||
PARS_FIXBINARY_LIT = 261,
|
||||
PARS_BLOB_LIT = 262,
|
||||
PARS_NULL_LIT = 263,
|
||||
PARS_ID_TOKEN = 264,
|
||||
PARS_AND_TOKEN = 265,
|
||||
PARS_OR_TOKEN = 266,
|
||||
PARS_NOT_TOKEN = 267,
|
||||
PARS_GE_TOKEN = 268,
|
||||
PARS_LE_TOKEN = 269,
|
||||
PARS_NE_TOKEN = 270,
|
||||
PARS_PROCEDURE_TOKEN = 271,
|
||||
PARS_IN_TOKEN = 272,
|
||||
PARS_OUT_TOKEN = 273,
|
||||
PARS_BINARY_TOKEN = 274,
|
||||
PARS_BLOB_TOKEN = 275,
|
||||
PARS_INT_TOKEN = 276,
|
||||
PARS_INTEGER_TOKEN = 277,
|
||||
PARS_FLOAT_TOKEN = 278,
|
||||
PARS_CHAR_TOKEN = 279,
|
||||
PARS_IS_TOKEN = 280,
|
||||
PARS_BEGIN_TOKEN = 281,
|
||||
PARS_END_TOKEN = 282,
|
||||
PARS_IF_TOKEN = 283,
|
||||
PARS_THEN_TOKEN = 284,
|
||||
PARS_ELSE_TOKEN = 285,
|
||||
PARS_ELSIF_TOKEN = 286,
|
||||
PARS_LOOP_TOKEN = 287,
|
||||
PARS_WHILE_TOKEN = 288,
|
||||
PARS_RETURN_TOKEN = 289,
|
||||
PARS_SELECT_TOKEN = 290,
|
||||
PARS_SUM_TOKEN = 291,
|
||||
PARS_COUNT_TOKEN = 292,
|
||||
PARS_DISTINCT_TOKEN = 293,
|
||||
PARS_FROM_TOKEN = 294,
|
||||
PARS_WHERE_TOKEN = 295,
|
||||
PARS_FOR_TOKEN = 296,
|
||||
PARS_DDOT_TOKEN = 297,
|
||||
PARS_READ_TOKEN = 298,
|
||||
PARS_ORDER_TOKEN = 299,
|
||||
PARS_BY_TOKEN = 300,
|
||||
PARS_ASC_TOKEN = 301,
|
||||
PARS_DESC_TOKEN = 302,
|
||||
PARS_INSERT_TOKEN = 303,
|
||||
PARS_INTO_TOKEN = 304,
|
||||
PARS_VALUES_TOKEN = 305,
|
||||
PARS_UPDATE_TOKEN = 306,
|
||||
PARS_SET_TOKEN = 307,
|
||||
PARS_DELETE_TOKEN = 308,
|
||||
PARS_CURRENT_TOKEN = 309,
|
||||
PARS_OF_TOKEN = 310,
|
||||
PARS_CREATE_TOKEN = 311,
|
||||
PARS_TABLE_TOKEN = 312,
|
||||
PARS_INDEX_TOKEN = 313,
|
||||
PARS_UNIQUE_TOKEN = 314,
|
||||
PARS_CLUSTERED_TOKEN = 315,
|
||||
PARS_ON_TOKEN = 316,
|
||||
PARS_ASSIGN_TOKEN = 317,
|
||||
PARS_DECLARE_TOKEN = 318,
|
||||
PARS_CURSOR_TOKEN = 319,
|
||||
PARS_SQL_TOKEN = 320,
|
||||
PARS_OPEN_TOKEN = 321,
|
||||
PARS_FETCH_TOKEN = 322,
|
||||
PARS_CLOSE_TOKEN = 323,
|
||||
PARS_NOTFOUND_TOKEN = 324,
|
||||
PARS_TO_CHAR_TOKEN = 325,
|
||||
PARS_TO_NUMBER_TOKEN = 326,
|
||||
PARS_TO_BINARY_TOKEN = 327,
|
||||
PARS_BINARY_TO_NUMBER_TOKEN = 328,
|
||||
PARS_SUBSTR_TOKEN = 329,
|
||||
PARS_REPLSTR_TOKEN = 330,
|
||||
PARS_CONCAT_TOKEN = 331,
|
||||
PARS_INSTR_TOKEN = 332,
|
||||
PARS_LENGTH_TOKEN = 333,
|
||||
PARS_SYSDATE_TOKEN = 334,
|
||||
PARS_PRINTF_TOKEN = 335,
|
||||
PARS_ASSERT_TOKEN = 336,
|
||||
PARS_RND_TOKEN = 337,
|
||||
PARS_RND_STR_TOKEN = 338,
|
||||
PARS_ROW_PRINTF_TOKEN = 339,
|
||||
PARS_COMMIT_TOKEN = 340,
|
||||
PARS_ROLLBACK_TOKEN = 341,
|
||||
PARS_WORK_TOKEN = 342,
|
||||
PARS_UNSIGNED_TOKEN = 343,
|
||||
PARS_EXIT_TOKEN = 344,
|
||||
PARS_FUNCTION_TOKEN = 345,
|
||||
PARS_LOCK_TOKEN = 346,
|
||||
PARS_SHARE_TOKEN = 347,
|
||||
PARS_MODE_TOKEN = 348,
|
||||
PARS_LIKE_TOKEN = 349,
|
||||
PARS_LIKE_TOKEN_EXACT = 350,
|
||||
PARS_LIKE_TOKEN_PREFIX = 351,
|
||||
PARS_LIKE_TOKEN_SUFFIX = 352,
|
||||
PARS_LIKE_TOKEN_SUBSTR = 353,
|
||||
PARS_TABLE_NAME_TOKEN = 354,
|
||||
PARS_COMPACT_TOKEN = 355,
|
||||
PARS_BLOCK_SIZE_TOKEN = 356,
|
||||
PARS_BIGINT_TOKEN = 357,
|
||||
NEG = 358
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define PARS_INT_LIT 258
|
||||
#define PARS_FLOAT_LIT 259
|
||||
#define PARS_STR_LIT 260
|
||||
#define PARS_FIXBINARY_LIT 261
|
||||
#define PARS_BLOB_LIT 262
|
||||
#define PARS_NULL_LIT 263
|
||||
#define PARS_ID_TOKEN 264
|
||||
#define PARS_AND_TOKEN 265
|
||||
#define PARS_OR_TOKEN 266
|
||||
#define PARS_NOT_TOKEN 267
|
||||
#define PARS_GE_TOKEN 268
|
||||
#define PARS_LE_TOKEN 269
|
||||
#define PARS_NE_TOKEN 270
|
||||
#define PARS_PROCEDURE_TOKEN 271
|
||||
#define PARS_IN_TOKEN 272
|
||||
#define PARS_OUT_TOKEN 273
|
||||
#define PARS_BINARY_TOKEN 274
|
||||
#define PARS_BLOB_TOKEN 275
|
||||
#define PARS_INT_TOKEN 276
|
||||
#define PARS_INTEGER_TOKEN 277
|
||||
#define PARS_FLOAT_TOKEN 278
|
||||
#define PARS_CHAR_TOKEN 279
|
||||
#define PARS_IS_TOKEN 280
|
||||
#define PARS_BEGIN_TOKEN 281
|
||||
#define PARS_END_TOKEN 282
|
||||
#define PARS_IF_TOKEN 283
|
||||
#define PARS_THEN_TOKEN 284
|
||||
#define PARS_ELSE_TOKEN 285
|
||||
#define PARS_ELSIF_TOKEN 286
|
||||
#define PARS_LOOP_TOKEN 287
|
||||
#define PARS_WHILE_TOKEN 288
|
||||
#define PARS_RETURN_TOKEN 289
|
||||
#define PARS_SELECT_TOKEN 290
|
||||
#define PARS_SUM_TOKEN 291
|
||||
#define PARS_COUNT_TOKEN 292
|
||||
#define PARS_DISTINCT_TOKEN 293
|
||||
#define PARS_FROM_TOKEN 294
|
||||
#define PARS_WHERE_TOKEN 295
|
||||
#define PARS_FOR_TOKEN 296
|
||||
#define PARS_DDOT_TOKEN 297
|
||||
#define PARS_READ_TOKEN 298
|
||||
#define PARS_ORDER_TOKEN 299
|
||||
#define PARS_BY_TOKEN 300
|
||||
#define PARS_ASC_TOKEN 301
|
||||
#define PARS_DESC_TOKEN 302
|
||||
#define PARS_INSERT_TOKEN 303
|
||||
#define PARS_INTO_TOKEN 304
|
||||
#define PARS_VALUES_TOKEN 305
|
||||
#define PARS_UPDATE_TOKEN 306
|
||||
#define PARS_SET_TOKEN 307
|
||||
#define PARS_DELETE_TOKEN 308
|
||||
#define PARS_CURRENT_TOKEN 309
|
||||
#define PARS_OF_TOKEN 310
|
||||
#define PARS_CREATE_TOKEN 311
|
||||
#define PARS_TABLE_TOKEN 312
|
||||
#define PARS_INDEX_TOKEN 313
|
||||
#define PARS_UNIQUE_TOKEN 314
|
||||
#define PARS_CLUSTERED_TOKEN 315
|
||||
#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 316
|
||||
#define PARS_ON_TOKEN 317
|
||||
#define PARS_ASSIGN_TOKEN 318
|
||||
#define PARS_DECLARE_TOKEN 319
|
||||
#define PARS_CURSOR_TOKEN 320
|
||||
#define PARS_SQL_TOKEN 321
|
||||
#define PARS_OPEN_TOKEN 322
|
||||
#define PARS_FETCH_TOKEN 323
|
||||
#define PARS_CLOSE_TOKEN 324
|
||||
#define PARS_NOTFOUND_TOKEN 325
|
||||
#define PARS_TO_CHAR_TOKEN 326
|
||||
#define PARS_TO_NUMBER_TOKEN 327
|
||||
#define PARS_TO_BINARY_TOKEN 328
|
||||
#define PARS_BINARY_TO_NUMBER_TOKEN 329
|
||||
#define PARS_SUBSTR_TOKEN 330
|
||||
#define PARS_REPLSTR_TOKEN 331
|
||||
#define PARS_CONCAT_TOKEN 332
|
||||
#define PARS_INSTR_TOKEN 333
|
||||
#define PARS_LENGTH_TOKEN 334
|
||||
#define PARS_SYSDATE_TOKEN 335
|
||||
#define PARS_PRINTF_TOKEN 336
|
||||
#define PARS_ASSERT_TOKEN 337
|
||||
#define PARS_RND_TOKEN 338
|
||||
#define PARS_RND_STR_TOKEN 339
|
||||
#define PARS_ROW_PRINTF_TOKEN 340
|
||||
#define PARS_COMMIT_TOKEN 341
|
||||
#define PARS_ROLLBACK_TOKEN 342
|
||||
#define PARS_WORK_TOKEN 343
|
||||
#define PARS_UNSIGNED_TOKEN 344
|
||||
#define PARS_EXIT_TOKEN 345
|
||||
#define PARS_FUNCTION_TOKEN 346
|
||||
#define PARS_LOCK_TOKEN 347
|
||||
#define PARS_SHARE_TOKEN 348
|
||||
#define PARS_MODE_TOKEN 349
|
||||
#define PARS_LIKE_TOKEN 350
|
||||
#define PARS_LIKE_TOKEN_EXACT 351
|
||||
#define PARS_LIKE_TOKEN_PREFIX 352
|
||||
#define PARS_LIKE_TOKEN_SUFFIX 353
|
||||
#define PARS_LIKE_TOKEN_SUBSTR 354
|
||||
#define PARS_TABLE_NAME_TOKEN 355
|
||||
#define PARS_COMPACT_TOKEN 356
|
||||
#define PARS_BLOCK_SIZE_TOKEN 357
|
||||
#define PARS_BIGINT_TOKEN 358
|
||||
#define NEG 359
|
||||
|
||||
|
||||
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
typedef int YYSTYPE;
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
|
||||
int yyparse (void);
|
||||
|
||||
#endif /* !YY_YY_PARS0GRM_TAB_H_INCLUDED */
|
||||
|
@ -373,18 +373,7 @@ pars_create_table(
|
||||
table */
|
||||
sym_node_t* column_defs, /*!< in: list of column names */
|
||||
sym_node_t* compact, /* in: non-NULL if COMPACT table. */
|
||||
sym_node_t* block_size, /* in: block size (can be NULL) */
|
||||
void* not_fit_in_memory);
|
||||
/*!< in: a non-NULL pointer means that
|
||||
this is a table which in simulations
|
||||
should be simulated as not fitting
|
||||
in memory; thread is put to sleep
|
||||
to simulate disk accesses; NOTE that
|
||||
this flag is not stored to the data
|
||||
dictionary on disk, and the database
|
||||
will forget about non-NULL value if
|
||||
it has to reload the table definition
|
||||
from disk */
|
||||
sym_node_t* block_size); /* in: block size (can be NULL) */
|
||||
/*********************************************************************//**
|
||||
Parses an index creation operation.
|
||||
@return index create subgraph */
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
# Copyright (c) 2017, MariaDB Corporation.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
@ -31,6 +32,7 @@ echo '#include "univ.i"' > $OUTFILE
|
||||
# a warning on Win64. Add the cast. Also define some symbols as static.
|
||||
sed -e '
|
||||
s/'"$TMPFILE"'/'"$OUTFILE"'/;
|
||||
s/^void yyset_extra *(YY_EXTRA_TYPE *user_defined *);//
|
||||
s/\(int offset = \)\((yy_c_buf_p) - (yytext_ptr)\);/\1(int)(\2);/;
|
||||
s/\(void yy\(restart\|_\(delete\|flush\)_buffer\)\)/static \1/;
|
||||
s/\(void yy_switch_to_buffer\)/MY_ATTRIBUTE((unused)) static \1/;
|
||||
@ -38,10 +40,12 @@ s/\(void yy\(push\|pop\)_buffer_state\)/MY_ATTRIBUTE((unused)) static \1/;
|
||||
s/\(YY_BUFFER_STATE yy_create_buffer\)/static \1/;
|
||||
s/\(\(int\|void\) yy[gs]et_\)/MY_ATTRIBUTE((unused)) static \1/;
|
||||
s/\(void \*\?yy\(\(re\)\?alloc\|free\)\)/static \1/;
|
||||
s/\(extern \)\?\(int yy\(leng\|lineno\|_flex_debug\)\)/static \2/;
|
||||
s/extern int yy\(leng\|_flex_debug\|lineno\);//;
|
||||
s/\(int yy\(leng\|lineno\|_flex_debug\)\)/static \1/;
|
||||
s/\(int yylex_destroy\)/MY_ATTRIBUTE((unused)) static \1/;
|
||||
s/^\(\(FILE\|char\) *\* *yyget\)/MY_ATTRIBUTE((unused)) static \1/;
|
||||
s/^\(extern \)\?\(\(FILE\|char\) *\* *yy\)/static \2/;
|
||||
s/^extern \(\(FILE\|char\) *\* *yy\).*//;
|
||||
s/^\(FILE\|char\) *\* *yy/static &/;
|
||||
' < $TMPFILE >> $OUTFILE
|
||||
|
||||
rm $TMPFILE
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -102,7 +103,6 @@ yylex(void);
|
||||
%token PARS_INDEX_TOKEN
|
||||
%token PARS_UNIQUE_TOKEN
|
||||
%token PARS_CLUSTERED_TOKEN
|
||||
%token PARS_DOES_NOT_FIT_IN_MEM_TOKEN
|
||||
%token PARS_ON_TOKEN
|
||||
%token PARS_ASSIGN_TOKEN
|
||||
%token PARS_DECLARE_TOKEN
|
||||
@ -154,6 +154,8 @@ yylex(void);
|
||||
%left NEG /* negation--unary minus */
|
||||
%left '%'
|
||||
|
||||
%expect 41
|
||||
|
||||
/* Grammar follows */
|
||||
%%
|
||||
|
||||
@ -573,13 +575,6 @@ opt_not_null:
|
||||
/* pass any non-NULL pointer */ }
|
||||
;
|
||||
|
||||
not_fit_in_memory:
|
||||
/* Nothing */ { $$ = NULL; }
|
||||
| PARS_DOES_NOT_FIT_IN_MEM_TOKEN
|
||||
{ $$ = &pars_int_token;
|
||||
/* pass any non-NULL pointer */ }
|
||||
;
|
||||
|
||||
compact:
|
||||
/* Nothing */ { $$ = NULL; }
|
||||
| PARS_COMPACT_TOKEN { $$ = &pars_int_token;
|
||||
@ -595,12 +590,12 @@ block_size:
|
||||
create_table:
|
||||
PARS_CREATE_TOKEN PARS_TABLE_TOKEN
|
||||
table_name '(' column_def_list ')'
|
||||
not_fit_in_memory compact block_size
|
||||
compact block_size
|
||||
{ $$ = pars_create_table(
|
||||
static_cast<sym_node_t*>($3),
|
||||
static_cast<sym_node_t*>($5),
|
||||
static_cast<sym_node_t*>($8),
|
||||
static_cast<sym_node_t*>($9), $7); }
|
||||
static_cast<sym_node_t*>($7),
|
||||
static_cast<sym_node_t*>($8)); }
|
||||
;
|
||||
|
||||
column_list:
|
||||
|
@ -1,6 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -66,7 +67,7 @@ Created 12/14/1997 Heikki Tuuri
|
||||
|
||||
/* Note: We cast &result to int* from yysize_t* */
|
||||
#define YY_INPUT(buf, result, max_size) \
|
||||
pars_get_lex_chars(buf, (int*) &result, max_size)
|
||||
(result = pars_get_lex_chars(buf, max_size))
|
||||
|
||||
/* String buffer for removing quotes */
|
||||
static ulint stringbuf_len_alloc = 0; /* Allocated length */
|
||||
@ -425,10 +426,6 @@ In the state 'id', only two actions are possible (defined below). */
|
||||
return(PARS_CLUSTERED_TOKEN);
|
||||
}
|
||||
|
||||
"DOES_NOT_FIT_IN_MEMORY" {
|
||||
return(PARS_DOES_NOT_FIT_IN_MEM_TOKEN);
|
||||
}
|
||||
|
||||
"ON" {
|
||||
return(PARS_ON_TOKEN);
|
||||
}
|
||||
|
@ -1857,18 +1857,7 @@ pars_create_table(
|
||||
table */
|
||||
sym_node_t* column_defs, /*!< in: list of column names */
|
||||
sym_node_t* compact, /* in: non-NULL if COMPACT table. */
|
||||
sym_node_t* block_size, /* in: block size (can be NULL) */
|
||||
void* not_fit_in_memory MY_ATTRIBUTE((unused)))
|
||||
/*!< in: a non-NULL pointer means that
|
||||
this is a table which in simulations
|
||||
should be simulated as not fitting
|
||||
in memory; thread is put to sleep
|
||||
to simulate disk accesses; NOTE that
|
||||
this flag is not stored to the data
|
||||
dictionary on disk, and the database
|
||||
will forget about non-NULL value if
|
||||
it has to reload the table definition
|
||||
from disk */
|
||||
sym_node_t* block_size) /* in: block size (can be NULL) */
|
||||
{
|
||||
dict_table_t* table;
|
||||
sym_node_t* column;
|
||||
@ -1932,11 +1921,6 @@ pars_create_table(
|
||||
table = dict_mem_table_create(
|
||||
table_sym->name, 0, n_cols, 0, flags, flags2);
|
||||
|
||||
#ifdef UNIV_DEBUG
|
||||
if (not_fit_in_memory != NULL) {
|
||||
table->does_not_fit_in_memory = TRUE;
|
||||
}
|
||||
#endif /* UNIV_DEBUG */
|
||||
column = column_defs;
|
||||
|
||||
while (column) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user