Skip to content
  • John David Duncan's avatar
    86da46bf
    wl#9048 NDB Support for MySQL Server access to VIRTUAL GENERATED columns · 86da46bf
    John David Duncan authored
    Squashed commit of the following:
    
    commit f893c00ca96267e0fbd759da33fa534058ab9236
    Merge: 3647279 da63d14
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:13:02 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit da63d14ede4b9746fbac6ffd57828b6f12050c0c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:11:31 2016 -0700
    
        Improve comments in Ndb_table_map header
    
    commit 0e43d0ee423b7a2d1f51beeef4d11f7a2e034b93
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 13:53:39 2016 -0700
    
        suite/gcol: apply changes based on ReviewBoard #11355 comments for wl#9048
    
    commit 0d28cd9c8f3f4955b09e25876c8b26935e912688
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 11:23:21 2016 -0700
    
        wl#9048: Ndb_table_map now wraps a const NdbDictionary::Table *
        (or a null pointer, in the CREATE TABLE use case) and its getColumn()
        method.
    
    commit e65f75b67fe4aa11f71f1797debdd9cfb506ccee
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 21:13:40 2016 -0700
    
        suite gcol_ndb cosmetic change
    
    commit 3647279b996e633afd13cec0a9c74b32335bcc72
    Merge: 9819c67 21f36a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:51 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 21f36a07b2f2cc7060316bcfefb2c436c62722f7
    Merge: 2c30e80 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:37 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 9819c6795dab4925c0cf109668c4380eef69faf1
    Merge: 2149fb0 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:45:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 2c30e8003047d777218527320d760433140e273c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:43:46 2016 -0700
    
        wl#9048: improve test case in ndb_rpl to test replication for both stored and virtual gcol
    
    commit 2149fb089d31173bf584497bfdf5c13f94a657e3
    Merge: a7a5d8a 5fd29e7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 18:30:44 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 5fd29e784aae1b39a15e2c6e2886b223502b30a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
        merge me
    
    commit a7a5d8a2cae436998302c59939c05ab254ae4c6d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
    commit 6143a23090c8e7ee62588b9c4fc8dd799e3f97c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:27:02 2016 -0700
    
        wl#9048 add more test cases for joins
    
    commit cbd012ea92e60286fc11546cb7acf32bb2cddc0d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:11:15 2016 -0700
    
        wl#9048: Rather than creating an Ndb_table_map on the stack for each joined table, use the existing m_table_map from each table's handler
    
    commit bfa42ed1625aff9541750042e1afe0e84f8f2c98
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 12:50:28 2016 -0700
    
        wl#9048: fix bitmasks in several more places
    
    commit cf46dc1bf7e1ef9045d901cb9dacf9c788fb845c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:50:03 2016 -0700
    
        wl#9048: Optimize Ndb_table_map constructor in trivial case.
    
    commit 3645679ad6eaf7f123aeb8f7c5f87ce46ecafde6
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:48:44 2016 -0700
    
        wl#9048: In create_pushed_join() use a correct Ndb_table_map for each joined table.
    
    commit 1b7679e7dc9f3fa64bebb2fb76090888fbce3f36
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:52:14 2016 -0700
    
        wl#9048 update result file
    
    commit 7729cf0e40331ded1499be6c88102a9aa71e87c2
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:45:52 2016 -0700
    
        wl#9048 misc. style revisions
    
    commit 5aa5cff8c520f3c97e270689102b05176c68bf32
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:44:22 2016 -0700
    
        wl#9048 renaming.
         Rename m_col_id_map to m_table_map
         Rename Ndb_table_map::rewrite_bitmap() to Ndb_table_map::get_column_mask()
    
    commit 44ca4f096131534a0aa4e5391279115c460ac0bc
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:40:21 2016 -0700
    
        wl#9048: additional SELECT tests
    
    commit 3be4a9f5a8048bc86064d6c50177ba8436089cc2
    Merge: 41de158 7c3e740
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:29:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 41de1589c6ed8c8f92dbe4232492effedbe199ce
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:27:43 2016 -0700
    
        wl#9048: work on gcol_select_ndb test failures
    
    commit d168833d032208b639021b5d35490390da18d201
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 16 11:43:12 2016 -0700
    
        Two more cases in suite/gcol/ where results must be sorted for NDB
    
    commit f425e3a92a64c68058fd41091e1d58f33d270a92
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:57:29 2016 -0700
    
        Add mtr collection for testing of this branch
    
    commit dd3f3195594e62cd2fab791945f72064b4c953c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:52:22 2016 -0700
    
        wl#9048 -- some revisions after code review.
        Not all of this is meant to be kept.
    
    commit b5249c28f3ac9b5b4a3afa5da3380b197112c7bf
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:44 2016 +0200
    
        WL#9048
    
         - add and fix comments
    
    commit dbee585185197bb6787dd1635d573fcbf9785864
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:43 2016 +0200
    
        wl#9048
    
         - data type questions.
    
    commit bce6e2c46f910fe2b2690a5cec9e39f076810a6e
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:42 2016 +0200
    
        wl#9048
    
         - move variables to scope where they are used.
         - would actually prefer if they were only in the for loop scope.
    
    commit 4e7b0672de339b772ca81a5a004b099648f36169
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:41 2016 +0200
    
        wl#9048
    
         - const fixes
    
    commit 70e2411ef4f1948ea1d086c5847d080d04733d8f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:40 2016 +0200
    
        wl#9048
    
         - remove the almost unused operator[]
         - think it should go since there are two mappings which can be
           performed and without calling a function it's hard to know which
           one.
         - clearer code if we call a function.
    
    commit e35b5042209ccdd4c786ffdb36b7e36f047d973f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:39 2016 +0200
    
        wl#9048
    
         - add TABLE* which could be used to check functions
           calls programatically.
         - Perhaps only needed for DBUG compile?
         - Perhaps not _all_ properties need to be stored and instead we can
            look them up from m_table. For example m_trivial?
         - we should of course not add it if not used...
    
    commit a6086095a520c5651d13748215383873e6ce9660
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:38 2016 +0200
    
        wl#9048
    
         - initialize member variables early and make them const
    
    commit 501042a8d60379ecd558bf86da0450db6e8acb67
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:37 2016 +0200
    
        wl#9048
    
         - remove Ndb_table_map::init()
    
    commit b3cb28577376aee9e70b3854fd60350841ae933c
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:36 2016 +0200
    
        wl#9048
    
         - remove default constructor for Ndb_table_map, instead create
           the m_col_id_map* from ::open() and close() when it's well known
           which TABLE* to use.
         - should make us detect if the Ndb_table_map is used from
           not open'ed ha_ndbcluster(since m_col_id_mape will be NULL).
         - didn't remember syntax for how to use operator[] from pointer
         - also allows the constructor to be changed to make much more things
        const.
         - think we might even be able to save a pointer to TABLE* to allow
        checking field->stored_in_db etc.
         - starting to see Ndb_table_map more as a wrapper around TABLE
    
    commit 9ca68d82c864a6b8b509a2664a60dde18a5c2569
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:35 2016 +0200
    
        wl#9048
    
         - use stack allocated Ndb_table_map in ha_ndbcluster::create()
         - should try to use ha_ndbcluster member variables only between open()
            and close() and the handler is not open when calling create().
         - trying to make ha_ndcluster::create() a const function at least.
         - yes, I know it already uses m_table and m_tabname etc. but if we
           could get this new code to work without m_col_id_map it would be
           nice.
    
    commit 2a9787158764ef299b37a36366a024d62d6dd41f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:34 2016 +0200
    
        wl#9048
    
         - remove unused parameter for create_table_set_up_partition_info()
    
    commit 9649b13cedecc88ecd1d27b01ff25763d6e9b884
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:33 2016 +0200
    
        wl#9048
    
         - don't use ha_ndbcluster_glue.h which we intend to remove
           as it includes and exposes too much
         - reduce interface of Ndb_table_map, forward declare usage of TABLE
           and onlky include parts which are really used in the implementation
    
    commit 801461babfaa30cbc0303b963131e810d6419317
    Merge: bb268ec a438906
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 12:06:04 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit bb268ec306860367aee7dc07e2c1c9b20f610c10
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 13:49:14 2016 -0700
    
        More result sorting in gcol_view test
    
    commit d277c141023e0ead16322e41433975b0ec214c72
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 12:45:11 2016 -0700
    
        wl#9048: Add test case for various NDB column layouts
        including generated, blob, hidden pk, and char(0) columns
    
    commit f1340826d9fc9812c3c8f1e074ca612aca2d775c
    Merge: 1b701d8 45c99c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 11:33:21 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 1b701d84265dff9947a3639a10975b6cfac6132f
    Merge: 0a94d97 b708ebf
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 11 10:13:39 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 0a94d975a159f78f2c7701de769f6e7ce130ad15
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 16:28:20 2016 -0700
    
        revert bug where table->s->fields was wrongly changed to table->s->stored_fields
    
    commit f8a39d1a422e31b682b7b91d26fb379bbd161fc7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:19:59 2016 -0700
    
        wl#9048: In suite/gcol_ndb add tests based on suite/gcol/inc/
    
    commit 804a19d5bcd858109b5ab066da29214a65820ac3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:16:50 2016 -0700
    
        wl#9048: Add "ORDER BY" and "--sorted_result" in suite/gcol as needed for tests have repeatable results in NDB.
    
    commit 14e7129ccd3a1e990c2397e2fce839f9e4505362
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:13:21 2016 -0700
    
        wl#9048 Fix crashing bug in online ALTER TABLE where generated columns are present.
        The binlog injector thread must call lex_start(thd) to initialize lexer so that
        it can parse the SQL expressions for generated columns.
    
    commit 8f818e9abec7d24d47730845097bfbb28ca468a5
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:11:58 2016 -0700
    
        wl#9048: Move TableMap class from ha_ndbcluster to new ndb_table_map.h|cc files.
    
    commit ab62f7ed23cac892d08e5602cb01b0708bcb72fd
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 15:25:22 2016 -0700
    
        wl#9048: in suite/gcol/ add "ORDER BY" needed to make results deterministic for NDB.
    
    commit 1e8f6221cca79e2b5ee0673c305c9ae924d4a735
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:17:02 2016 -0700
    
        Add dbug output to ndb_set_record_specification
    
    commit abdb3459f09e368b75909f708bae8257bc9a4510
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:11:39 2016 -0700
    
        wl#9048: when using a MySQL bitmask with NdbRecord, rewrite it if necessary to compensate for virtual columns
    
    commit 871f30bc39e227aa0d3361fb38587e2ffff2a7b0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 14:01:20 2016 -0700
    
        wl#9048: add ORDER BY to all table scans in gcol_colum_def_options test
    
    commit e32186e61eda39ad0121c4c931cf3d58c6b6045b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 13:22:14 2016 -0700
    
        wl#9048: adapt gcol test suite
        Some ALTER TABLE statements return error 1846 from NDB vs. error 1845 from MyISAM
    
    commit 8d94baf585541c7eceb7d8e60d385f3cea6de57f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 12:00:30 2016 -0700
    
        wl#9048 BLOB handling: more checks for virtual columns
    
    commit 12a0e2982d4f2adcc1d67cc8b5027e40f22f542f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 13:41:52 2016 -0700
    
        wl#9048 reclength vs. stored_rec_length
        stored_rec_length is the length of stored columns only in MySQL's record buffer.
        MySQL lays out the buffer with all stored columns first, then all virtual columns.
        This patch takes a conservative approach: in the case of copying data from NDB
        to MySQL, we only copy stored_rec_length bytes; but when using the length as
        an allocation size, we assume we need to allocate enough space for both stored
        and virtual columns.
        This also fixes one more case of virtual fields not being computed in MRR results.
    
    commit 5970f5a031c6c91351217b08ae94c4f8775dca3d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 12:16:08 2016 -0700
    
        wl#9048: Support ALTER TABLE
        Note that online ALTER TABLE where the resulting table contains a virtual gcol
        is currently disabled due to crashing bug in NDB binlog injector thread.
    
    commit cc1ab4e2b8f044af6fcb447f5a8caf829e8087c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 11:59:32 2016 -0700
    
        wl#9048: Check for virtual fields in NDB binlog code
    
    commit 00a34d25c31c3cc01329a03aa60da267ef1abf78
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:06:30 2016 -0700
    
        wl#9048 update generated columns when reading in MRR and SPJ queries.
        Here we call update_generated_read_fields() from the NDB handler,
        though it is normally called from higher levels in the server, because
        these code paths are not shared with any other storage engines.
    
    commit c634530390abc8f6099169d7da9553b2def45637
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:00:06 2016 -0700
    
        wl#9048: check whether a query field is a virtual generated column in MRR and SPJ query plans.
    
    commit e0b762b57c47281d870e34a1e3b6d30c1beab831
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:56:26 2016 -0700
    
        wl#9048: Check for virtual fields and use TableMap to relate field number to column number
    
    commit 9b4faa95263ff34341f9d8d14e06f78013858d7f
    Merge: 3375e48 24d181f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:34:45 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 3375e48c9236982025b2fca9a89647d9b7444161
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:05:02 2016 -0700
    
        wl#9048: fix calculation of column number for hidden pk
    
    commit 1d7d830685361769c3c58dff5324c524cce01b5b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:01:14 2016 -0700
    
        wl#9048: Handle virtual columns in CREATE TABLE
    
    commit db97a0019d4a57670a01004b625172861a634624
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 13:44:26 2016 -0700
    
        wl#9048 Create TableMap class.  http://rb.no.oracle.com/rb/r/12582
        Map between NDB column id and MySQL field id.
    
    commit 4c6f56537d11251bf778feda1879dc6d8de658b9
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:41:30 2016 -0700
    
        wl#9048: Commit gcol_ndb and ndb_rpl tests from original wl#8818 patch
        This creates suite gcol_ndb with some basic tests for stored generated columns
        and adds a simple generated column replication test to suite ndb_rpl.
        This commit does *not* include the ha_ndbcluster.cc implementation of stored
        generated columns from wl#8818, which is quite small and will be included
        in the wl#9048 implementation.
    
    commit 3a2cfc9b2175f6e5064499bddb8dff2a557e8483
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:17:57 2016 -0700
    
        wl#9048 Changes to mysql-test/suite/gcol/ -- http://rb.no.oracle.com/rb/r/11355/
        Update gcol suite for better reuse with NDB
    86da46bf
    wl#9048 NDB Support for MySQL Server access to VIRTUAL GENERATED columns
    John David Duncan authored
    Squashed commit of the following:
    
    commit f893c00ca96267e0fbd759da33fa534058ab9236
    Merge: 3647279 da63d14
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:13:02 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit da63d14ede4b9746fbac6ffd57828b6f12050c0c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:11:31 2016 -0700
    
        Improve comments in Ndb_table_map header
    
    commit 0e43d0ee423b7a2d1f51beeef4d11f7a2e034b93
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 13:53:39 2016 -0700
    
        suite/gcol: apply changes based on ReviewBoard #11355 comments for wl#9048
    
    commit 0d28cd9c8f3f4955b09e25876c8b26935e912688
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 11:23:21 2016 -0700
    
        wl#9048: Ndb_table_map now wraps a const NdbDictionary::Table *
        (or a null pointer, in the CREATE TABLE use case) and its getColumn()
        method.
    
    commit e65f75b67fe4aa11f71f1797debdd9cfb506ccee
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 21:13:40 2016 -0700
    
        suite gcol_ndb cosmetic change
    
    commit 3647279b996e633afd13cec0a9c74b32335bcc72
    Merge: 9819c67 21f36a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:51 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 21f36a07b2f2cc7060316bcfefb2c436c62722f7
    Merge: 2c30e80 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:37 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 9819c6795dab4925c0cf109668c4380eef69faf1
    Merge: 2149fb0 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:45:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 2c30e8003047d777218527320d760433140e273c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:43:46 2016 -0700
    
        wl#9048: improve test case in ndb_rpl to test replication for both stored and virtual gcol
    
    commit 2149fb089d31173bf584497bfdf5c13f94a657e3
    Merge: a7a5d8a 5fd29e7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 18:30:44 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 5fd29e784aae1b39a15e2c6e2886b223502b30a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
        merge me
    
    commit a7a5d8a2cae436998302c59939c05ab254ae4c6d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
    commit 6143a23090c8e7ee62588b9c4fc8dd799e3f97c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:27:02 2016 -0700
    
        wl#9048 add more test cases for joins
    
    commit cbd012ea92e60286fc11546cb7acf32bb2cddc0d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:11:15 2016 -0700
    
        wl#9048: Rather than creating an Ndb_table_map on the stack for each joined table, use the existing m_table_map from each table's handler
    
    commit bfa42ed1625aff9541750042e1afe0e84f8f2c98
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 12:50:28 2016 -0700
    
        wl#9048: fix bitmasks in several more places
    
    commit cf46dc1bf7e1ef9045d901cb9dacf9c788fb845c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:50:03 2016 -0700
    
        wl#9048: Optimize Ndb_table_map constructor in trivial case.
    
    commit 3645679ad6eaf7f123aeb8f7c5f87ce46ecafde6
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:48:44 2016 -0700
    
        wl#9048: In create_pushed_join() use a correct Ndb_table_map for each joined table.
    
    commit 1b7679e7dc9f3fa64bebb2fb76090888fbce3f36
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:52:14 2016 -0700
    
        wl#9048 update result file
    
    commit 7729cf0e40331ded1499be6c88102a9aa71e87c2
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:45:52 2016 -0700
    
        wl#9048 misc. style revisions
    
    commit 5aa5cff8c520f3c97e270689102b05176c68bf32
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:44:22 2016 -0700
    
        wl#9048 renaming.
         Rename m_col_id_map to m_table_map
         Rename Ndb_table_map::rewrite_bitmap() to Ndb_table_map::get_column_mask()
    
    commit 44ca4f096131534a0aa4e5391279115c460ac0bc
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:40:21 2016 -0700
    
        wl#9048: additional SELECT tests
    
    commit 3be4a9f5a8048bc86064d6c50177ba8436089cc2
    Merge: 41de158 7c3e740
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:29:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 41de1589c6ed8c8f92dbe4232492effedbe199ce
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:27:43 2016 -0700
    
        wl#9048: work on gcol_select_ndb test failures
    
    commit d168833d032208b639021b5d35490390da18d201
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 16 11:43:12 2016 -0700
    
        Two more cases in suite/gcol/ where results must be sorted for NDB
    
    commit f425e3a92a64c68058fd41091e1d58f33d270a92
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:57:29 2016 -0700
    
        Add mtr collection for testing of this branch
    
    commit dd3f3195594e62cd2fab791945f72064b4c953c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:52:22 2016 -0700
    
        wl#9048 -- some revisions after code review.
        Not all of this is meant to be kept.
    
    commit b5249c28f3ac9b5b4a3afa5da3380b197112c7bf
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:44 2016 +0200
    
        WL#9048
    
         - add and fix comments
    
    commit dbee585185197bb6787dd1635d573fcbf9785864
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:43 2016 +0200
    
        wl#9048
    
         - data type questions.
    
    commit bce6e2c46f910fe2b2690a5cec9e39f076810a6e
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:42 2016 +0200
    
        wl#9048
    
         - move variables to scope where they are used.
         - would actually prefer if they were only in the for loop scope.
    
    commit 4e7b0672de339b772ca81a5a004b099648f36169
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:41 2016 +0200
    
        wl#9048
    
         - const fixes
    
    commit 70e2411ef4f1948ea1d086c5847d080d04733d8f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:40 2016 +0200
    
        wl#9048
    
         - remove the almost unused operator[]
         - think it should go since there are two mappings which can be
           performed and without calling a function it's hard to know which
           one.
         - clearer code if we call a function.
    
    commit e35b5042209ccdd4c786ffdb36b7e36f047d973f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:39 2016 +0200
    
        wl#9048
    
         - add TABLE* which could be used to check functions
           calls programatically.
         - Perhaps only needed for DBUG compile?
         - Perhaps not _all_ properties need to be stored and instead we can
            look them up from m_table. For example m_trivial?
         - we should of course not add it if not used...
    
    commit a6086095a520c5651d13748215383873e6ce9660
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:38 2016 +0200
    
        wl#9048
    
         - initialize member variables early and make them const
    
    commit 501042a8d60379ecd558bf86da0450db6e8acb67
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:37 2016 +0200
    
        wl#9048
    
         - remove Ndb_table_map::init()
    
    commit b3cb28577376aee9e70b3854fd60350841ae933c
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:36 2016 +0200
    
        wl#9048
    
         - remove default constructor for Ndb_table_map, instead create
           the m_col_id_map* from ::open() and close() when it's well known
           which TABLE* to use.
         - should make us detect if the Ndb_table_map is used from
           not open'ed ha_ndbcluster(since m_col_id_mape will be NULL).
         - didn't remember syntax for how to use operator[] from pointer
         - also allows the constructor to be changed to make much more things
        const.
         - think we might even be able to save a pointer to TABLE* to allow
        checking field->stored_in_db etc.
         - starting to see Ndb_table_map more as a wrapper around TABLE
    
    commit 9ca68d82c864a6b8b509a2664a60dde18a5c2569
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:35 2016 +0200
    
        wl#9048
    
         - use stack allocated Ndb_table_map in ha_ndbcluster::create()
         - should try to use ha_ndbcluster member variables only between open()
            and close() and the handler is not open when calling create().
         - trying to make ha_ndcluster::create() a const function at least.
         - yes, I know it already uses m_table and m_tabname etc. but if we
           could get this new code to work without m_col_id_map it would be
           nice.
    
    commit 2a9787158764ef299b37a36366a024d62d6dd41f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:34 2016 +0200
    
        wl#9048
    
         - remove unused parameter for create_table_set_up_partition_info()
    
    commit 9649b13cedecc88ecd1d27b01ff25763d6e9b884
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:33 2016 +0200
    
        wl#9048
    
         - don't use ha_ndbcluster_glue.h which we intend to remove
           as it includes and exposes too much
         - reduce interface of Ndb_table_map, forward declare usage of TABLE
           and onlky include parts which are really used in the implementation
    
    commit 801461babfaa30cbc0303b963131e810d6419317
    Merge: bb268ec a438906
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 12:06:04 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit bb268ec306860367aee7dc07e2c1c9b20f610c10
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 13:49:14 2016 -0700
    
        More result sorting in gcol_view test
    
    commit d277c141023e0ead16322e41433975b0ec214c72
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 12:45:11 2016 -0700
    
        wl#9048: Add test case for various NDB column layouts
        including generated, blob, hidden pk, and char(0) columns
    
    commit f1340826d9fc9812c3c8f1e074ca612aca2d775c
    Merge: 1b701d8 45c99c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 11:33:21 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 1b701d84265dff9947a3639a10975b6cfac6132f
    Merge: 0a94d97 b708ebf
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 11 10:13:39 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 0a94d975a159f78f2c7701de769f6e7ce130ad15
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 16:28:20 2016 -0700
    
        revert bug where table->s->fields was wrongly changed to table->s->stored_fields
    
    commit f8a39d1a422e31b682b7b91d26fb379bbd161fc7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:19:59 2016 -0700
    
        wl#9048: In suite/gcol_ndb add tests based on suite/gcol/inc/
    
    commit 804a19d5bcd858109b5ab066da29214a65820ac3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:16:50 2016 -0700
    
        wl#9048: Add "ORDER BY" and "--sorted_result" in suite/gcol as needed for tests have repeatable results in NDB.
    
    commit 14e7129ccd3a1e990c2397e2fce839f9e4505362
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:13:21 2016 -0700
    
        wl#9048 Fix crashing bug in online ALTER TABLE where generated columns are present.
        The binlog injector thread must call lex_start(thd) to initialize lexer so that
        it can parse the SQL expressions for generated columns.
    
    commit 8f818e9abec7d24d47730845097bfbb28ca468a5
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:11:58 2016 -0700
    
        wl#9048: Move TableMap class from ha_ndbcluster to new ndb_table_map.h|cc files.
    
    commit ab62f7ed23cac892d08e5602cb01b0708bcb72fd
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 15:25:22 2016 -0700
    
        wl#9048: in suite/gcol/ add "ORDER BY" needed to make results deterministic for NDB.
    
    commit 1e8f6221cca79e2b5ee0673c305c9ae924d4a735
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:17:02 2016 -0700
    
        Add dbug output to ndb_set_record_specification
    
    commit abdb3459f09e368b75909f708bae8257bc9a4510
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:11:39 2016 -0700
    
        wl#9048: when using a MySQL bitmask with NdbRecord, rewrite it if necessary to compensate for virtual columns
    
    commit 871f30bc39e227aa0d3361fb38587e2ffff2a7b0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 14:01:20 2016 -0700
    
        wl#9048: add ORDER BY to all table scans in gcol_colum_def_options test
    
    commit e32186e61eda39ad0121c4c931cf3d58c6b6045b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 13:22:14 2016 -0700
    
        wl#9048: adapt gcol test suite
        Some ALTER TABLE statements return error 1846 from NDB vs. error 1845 from MyISAM
    
    commit 8d94baf585541c7eceb7d8e60d385f3cea6de57f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 12:00:30 2016 -0700
    
        wl#9048 BLOB handling: more checks for virtual columns
    
    commit 12a0e2982d4f2adcc1d67cc8b5027e40f22f542f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 13:41:52 2016 -0700
    
        wl#9048 reclength vs. stored_rec_length
        stored_rec_length is the length of stored columns only in MySQL's record buffer.
        MySQL lays out the buffer with all stored columns first, then all virtual columns.
        This patch takes a conservative approach: in the case of copying data from NDB
        to MySQL, we only copy stored_rec_length bytes; but when using the length as
        an allocation size, we assume we need to allocate enough space for both stored
        and virtual columns.
        This also fixes one more case of virtual fields not being computed in MRR results.
    
    commit 5970f5a031c6c91351217b08ae94c4f8775dca3d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 12:16:08 2016 -0700
    
        wl#9048: Support ALTER TABLE
        Note that online ALTER TABLE where the resulting table contains a virtual gcol
        is currently disabled due to crashing bug in NDB binlog injector thread.
    
    commit cc1ab4e2b8f044af6fcb447f5a8caf829e8087c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 11:59:32 2016 -0700
    
        wl#9048: Check for virtual fields in NDB binlog code
    
    commit 00a34d25c31c3cc01329a03aa60da267ef1abf78
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:06:30 2016 -0700
    
        wl#9048 update generated columns when reading in MRR and SPJ queries.
        Here we call update_generated_read_fields() from the NDB handler,
        though it is normally called from higher levels in the server, because
        these code paths are not shared with any other storage engines.
    
    commit c634530390abc8f6099169d7da9553b2def45637
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:00:06 2016 -0700
    
        wl#9048: check whether a query field is a virtual generated column in MRR and SPJ query plans.
    
    commit e0b762b57c47281d870e34a1e3b6d30c1beab831
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:56:26 2016 -0700
    
        wl#9048: Check for virtual fields and use TableMap to relate field number to column number
    
    commit 9b4faa95263ff34341f9d8d14e06f78013858d7f
    Merge: 3375e48 24d181f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:34:45 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 3375e48c9236982025b2fca9a89647d9b7444161
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:05:02 2016 -0700
    
        wl#9048: fix calculation of column number for hidden pk
    
    commit 1d7d830685361769c3c58dff5324c524cce01b5b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:01:14 2016 -0700
    
        wl#9048: Handle virtual columns in CREATE TABLE
    
    commit db97a0019d4a57670a01004b625172861a634624
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 13:44:26 2016 -0700
    
        wl#9048 Create TableMap class.  http://rb.no.oracle.com/rb/r/12582
        Map between NDB column id and MySQL field id.
    
    commit 4c6f56537d11251bf778feda1879dc6d8de658b9
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:41:30 2016 -0700
    
        wl#9048: Commit gcol_ndb and ndb_rpl tests from original wl#8818 patch
        This creates suite gcol_ndb with some basic tests for stored generated columns
        and adds a simple generated column replication test to suite ndb_rpl.
        This commit does *not* include the ha_ndbcluster.cc implementation of stored
        generated columns from wl#8818, which is quite small and will be included
        in the wl#9048 implementation.
    
    commit 3a2cfc9b2175f6e5064499bddb8dff2a557e8483
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:17:57 2016 -0700
    
        wl#9048 Changes to mysql-test/suite/gcol/ -- http://rb.no.oracle.com/rb/r/11355/
        Update gcol suite for better reuse with NDB
Loading