3863 Marko Mäkelä 2012-05-24
WL#6255 preparation, to allow creation of a dummy que_thr_t object.
pars_complete_graph_for_exec(): Allow node=NULL.
modified:
storage/innobase/include/pars0pars.h
storage/innobase/pars/pars0pars.cc
3862 Marko Mäkelä 2012-05-24
Fix errors in the rec_get_offsets() elimination.
btr_root_raise_and_insert(), btr_page_split_and_insert(),
btr_cur_pessimistic_insert(): Note that the memory heap for offsets
can be emptied.
btr_cur_pessimistic_update(), row_ins_sec_index_entry_by_modify(),
row_ins_sec_index_entry_low(), row_log_apply_op_low(),
row_log_apply_op(), row_undo_mod_clust_low(): Add offsets_heap for
allocating offsets only. Note that it can be emptied.
modified:
storage/innobase/btr/btr0cur.cc
storage/innobase/ibuf/ibuf0ibuf.cc
storage/innobase/include/btr0btr.h
storage/innobase/include/btr0cur.h
storage/innobase/row/row0ins.cc
storage/innobase/row/row0log.cc
storage/innobase/row/row0umod.cc
storage/innobase/row/row0upd.cc
=== modified file 'storage/innobase/include/pars0pars.h'
--- a/storage/innobase/include/pars0pars.h revid:marko.makela@stripped20120524111223-1l0272sb9upilai2
+++ b/storage/innobase/include/pars0pars.h revid:marko.makela@stripped21228-5x1s5s74n8p3eygo
@@ -1,6 +1,6 @@
/*****************************************************************************
-Copyright (c) 1996, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
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
@@ -469,9 +469,10 @@ que_thr_t*
pars_complete_graph_for_exec(
/*=========================*/
que_node_t* node, /*!< in: root node for an incomplete
- query graph */
+ query graph, or NULL for dummy graph */
trx_t* trx, /*!< in: transaction handle */
- mem_heap_t* heap); /*!< in: memory heap from which allocated */
+ mem_heap_t* heap) /*!< in: memory heap from which allocated */
+ __attribute__((nonnull(2,3), warn_unused_result));
/****************************************************************//**
Create parser info struct.
=== modified file 'storage/innobase/pars/pars0pars.cc'
--- a/storage/innobase/pars/pars0pars.cc revid:marko.makela@strippedi2
+++ b/storage/innobase/pars/pars0pars.cc revid:marko.makela@stripped
@@ -1,6 +1,6 @@
/*****************************************************************************
-Copyright (c) 1996, 2011, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
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
@@ -2252,7 +2252,7 @@ que_thr_t*
pars_complete_graph_for_exec(
/*=========================*/
que_node_t* node, /*!< in: root node for an incomplete
- query graph */
+ query graph, or NULL for dummy graph */
trx_t* trx, /*!< in: transaction handle */
mem_heap_t* heap) /*!< in: memory heap from which allocated */
{
@@ -2266,7 +2266,9 @@ pars_complete_graph_for_exec(
thr->child = node;
- que_node_set_parent(node, thr);
+ if (node) {
+ que_node_set_parent(node, thr);
+ }
trx->graph = NULL;
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk-wl6255 branch (marko.makela:3862 to 3863) WL#6255 | marko.makela | 24 May |