summaryrefslogtreecommitdiff
path: root/storage/innobase/include/pars0grm.h
diff options
context:
space:
mode:
authorunknown <aivanov/alexi@mysql.com/mysqld.localdomain>2006-07-26 13:28:51 +0400
committerunknown <aivanov/alexi@mysql.com/mysqld.localdomain>2006-07-26 13:28:51 +0400
commitd36f94791a5443b64d6ed9469dfbdd28b70fd687 (patch)
tree01e121069675cd78a8509890964b58b5f8f5d5b8 /storage/innobase/include/pars0grm.h
parent3a409d4a2afd9febb1c7be2e18a727b4e9ad9b05 (diff)
downloadmariadb-git-d36f94791a5443b64d6ed9469dfbdd28b70fd687.tar.gz
Applied innodb-5.1-ss660 snapshot.
Changes in SQL parser: * Change default mode of SELECT from "lock in share mode" to "consistent read". * Remove support from SELECT for specifying "consistent read". * Add support in SELECT for specifying "lock in share mode". * Change all uses of SQL parser to specify "lock in share mode". * Modify syntax so that the only valid top-level statement is a procedure definition, since it's the only one that actually works. * Add support for lock waits. sql/ha_innodb.cc: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flag. storage/innobase/btr/btr0cur.c: Applied innodb-5.1-ss660 snapshot. btr_cur_search_to_nth_level(): Reacquire btr_search_latch after inserting to the insert buffer. This was noticed while analysing Bug#19801, but this should not fix this bug since, according to Heikki, btr_search_latch is not reserved during an insert. storage/innobase/configure.in: Applied innodb-5.1-ss660 snapshot. Add -Wpointer-arith to CFLAGS when using GCC. storage/innobase/data/data0type.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/dict/dict0crea.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/dict/dict0dict.c: Applied innodb-5.1-ss660 snapshot. Make dict_remove_db_name() non-static. storage/innobase/ibuf/ibuf0ibuf.c: Applied innodb-5.1-ss660 snapshot. ibuf_fixed_addr_page(): Add parameter space. As the insert buffer B-tree is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0. storage/innobase/include/data0type.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/dict0dict.h: Applied innodb-5.1-ss660 snapshot. Make dict_remove_db_name() non-static. storage/innobase/include/pars0grm.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/pars0pars.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/que0que.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/include/sync0rw.ic: Applied innodb-5.1-ss660 snapshot. rw_lock_s_unlock_func(): Change a debug assertion to a production assertion in order to track down Bug#19081. storage/innobase/include/trx0trx.h: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/include/ut0ut.h: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flags. storage/innobase/mem/mem0mem.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/lexyy.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.h: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0grm.y: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0lex.l: Applied innodb-5.1-ss660 snapshot. storage/innobase/pars/pars0pars.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/que/que0que.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/row/row0mysql.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/row/row0sel.c: Applied innodb-5.1-ss660 snapshot. * Disable prefetch and adaptive hash index for tables with rows over 1024 bytes in InnoDB's SQL parser. * row_sel_try_search_shortcut(): Do not return SEL_FOUND when the record was not found. This bug was introduced in MySQL/InnoDB 5.0.3, but luckily it should never manifest itself, given that existing InnoDB SQL code never makes use of consistent reads. * Don't take unnecesary locks on supremum records when the srv_locks_unsafe_for_binlog option is enabled. Fixes an assertion failure in the innodb_unsafe_binlog testcase when compiled with UNIV_DEBUG. storage/innobase/row/row0upd.c: Applied innodb-5.1-ss660 snapshot. storage/innobase/trx/trx0roll.c: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/trx/trx0trx.c: Applied innodb-5.1-ss660 snapshot. trx_sig_send() always succeeds or asserts. storage/innobase/ut/ut0ut.c: Applied innodb-5.1-ss660 snapshot. Document better the "bool table_id" flags.
Diffstat (limited to 'storage/innobase/include/pars0grm.h')
-rw-r--r--storage/innobase/include/pars0grm.h208
1 files changed, 106 insertions, 102 deletions
diff --git a/storage/innobase/include/pars0grm.h b/storage/innobase/include/pars0grm.h
index 996fc37f13b..0062b8314ee 100644
--- a/storage/innobase/include/pars0grm.h
+++ b/storage/innobase/include/pars0grm.h
@@ -69,57 +69,59 @@
PARS_WHERE_TOKEN = 295,
PARS_FOR_TOKEN = 296,
PARS_DDOT_TOKEN = 297,
- PARS_CONSISTENT_TOKEN = 298,
- PARS_READ_TOKEN = 299,
- PARS_ORDER_TOKEN = 300,
- PARS_BY_TOKEN = 301,
- PARS_ASC_TOKEN = 302,
- PARS_DESC_TOKEN = 303,
- PARS_INSERT_TOKEN = 304,
- PARS_INTO_TOKEN = 305,
- PARS_VALUES_TOKEN = 306,
- PARS_UPDATE_TOKEN = 307,
- PARS_SET_TOKEN = 308,
- PARS_DELETE_TOKEN = 309,
- PARS_CURRENT_TOKEN = 310,
- PARS_OF_TOKEN = 311,
- PARS_CREATE_TOKEN = 312,
- PARS_TABLE_TOKEN = 313,
- PARS_INDEX_TOKEN = 314,
- PARS_UNIQUE_TOKEN = 315,
- PARS_CLUSTERED_TOKEN = 316,
- PARS_DOES_NOT_FIT_IN_MEM_TOKEN = 317,
- PARS_ON_TOKEN = 318,
- PARS_ASSIGN_TOKEN = 319,
- PARS_DECLARE_TOKEN = 320,
- PARS_CURSOR_TOKEN = 321,
- PARS_SQL_TOKEN = 322,
- PARS_OPEN_TOKEN = 323,
- PARS_FETCH_TOKEN = 324,
- PARS_CLOSE_TOKEN = 325,
- PARS_NOTFOUND_TOKEN = 326,
- PARS_TO_CHAR_TOKEN = 327,
- PARS_TO_NUMBER_TOKEN = 328,
- PARS_TO_BINARY_TOKEN = 329,
- PARS_BINARY_TO_NUMBER_TOKEN = 330,
- PARS_SUBSTR_TOKEN = 331,
- PARS_REPLSTR_TOKEN = 332,
- PARS_CONCAT_TOKEN = 333,
- PARS_INSTR_TOKEN = 334,
- PARS_LENGTH_TOKEN = 335,
- PARS_SYSDATE_TOKEN = 336,
- PARS_PRINTF_TOKEN = 337,
- PARS_ASSERT_TOKEN = 338,
- PARS_RND_TOKEN = 339,
- PARS_RND_STR_TOKEN = 340,
- PARS_ROW_PRINTF_TOKEN = 341,
- PARS_COMMIT_TOKEN = 342,
- PARS_ROLLBACK_TOKEN = 343,
- PARS_WORK_TOKEN = 344,
- PARS_UNSIGNED_TOKEN = 345,
- PARS_EXIT_TOKEN = 346,
- PARS_FUNCTION_TOKEN = 347,
- NEG = 348
+ 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,
+ NEG = 350
};
#endif
#define PARS_INT_LIT 258
@@ -162,57 +164,59 @@
#define PARS_WHERE_TOKEN 295
#define PARS_FOR_TOKEN 296
#define PARS_DDOT_TOKEN 297
-#define PARS_CONSISTENT_TOKEN 298
-#define PARS_READ_TOKEN 299
-#define PARS_ORDER_TOKEN 300
-#define PARS_BY_TOKEN 301
-#define PARS_ASC_TOKEN 302
-#define PARS_DESC_TOKEN 303
-#define PARS_INSERT_TOKEN 304
-#define PARS_INTO_TOKEN 305
-#define PARS_VALUES_TOKEN 306
-#define PARS_UPDATE_TOKEN 307
-#define PARS_SET_TOKEN 308
-#define PARS_DELETE_TOKEN 309
-#define PARS_CURRENT_TOKEN 310
-#define PARS_OF_TOKEN 311
-#define PARS_CREATE_TOKEN 312
-#define PARS_TABLE_TOKEN 313
-#define PARS_INDEX_TOKEN 314
-#define PARS_UNIQUE_TOKEN 315
-#define PARS_CLUSTERED_TOKEN 316
-#define PARS_DOES_NOT_FIT_IN_MEM_TOKEN 317
-#define PARS_ON_TOKEN 318
-#define PARS_ASSIGN_TOKEN 319
-#define PARS_DECLARE_TOKEN 320
-#define PARS_CURSOR_TOKEN 321
-#define PARS_SQL_TOKEN 322
-#define PARS_OPEN_TOKEN 323
-#define PARS_FETCH_TOKEN 324
-#define PARS_CLOSE_TOKEN 325
-#define PARS_NOTFOUND_TOKEN 326
-#define PARS_TO_CHAR_TOKEN 327
-#define PARS_TO_NUMBER_TOKEN 328
-#define PARS_TO_BINARY_TOKEN 329
-#define PARS_BINARY_TO_NUMBER_TOKEN 330
-#define PARS_SUBSTR_TOKEN 331
-#define PARS_REPLSTR_TOKEN 332
-#define PARS_CONCAT_TOKEN 333
-#define PARS_INSTR_TOKEN 334
-#define PARS_LENGTH_TOKEN 335
-#define PARS_SYSDATE_TOKEN 336
-#define PARS_PRINTF_TOKEN 337
-#define PARS_ASSERT_TOKEN 338
-#define PARS_RND_TOKEN 339
-#define PARS_RND_STR_TOKEN 340
-#define PARS_ROW_PRINTF_TOKEN 341
-#define PARS_COMMIT_TOKEN 342
-#define PARS_ROLLBACK_TOKEN 343
-#define PARS_WORK_TOKEN 344
-#define PARS_UNSIGNED_TOKEN 345
-#define PARS_EXIT_TOKEN 346
-#define PARS_FUNCTION_TOKEN 347
-#define NEG 348
+#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 NEG 350