• unknown's avatar
    WL#2269 Enable query cache for NDB part 2 · 5329b3a6
    unknown authored
    -This is mostly fixes for correct behaviour when using query cache + transactions + the thread that
    fetches commit count from NDB at regular intervals. The major fix is to add a
    list in thd_ndb, that keeps a list of NDB_SHARE's that were modified by
    transaction and then "clearing" them in ndbcluster_commit.
    
    
    mysql-test/r/ndb_cache2.result:
      Updated test cases for the ndb_util thread, more simultaneous tables and more tesst
    mysql-test/t/ndb_cache2.test:
      Updated test cases for the ndb_util thread, more simultaneous tables and more advanced tesst
    sql/ha_ndbcluster.cc:
      Add table changed during transaction to list of changed tables in Thd_ndb, this list is then used in ndbcluster_commit to invalidate the cached commit_count in share
      Fix so that ndb_util_thread uses milliseconds "sleeps"
      Changed so that ndb_commit_count uses the commit_count from share if available
    sql/ha_ndbcluster.h:
      Add commit_count_lock to NBD_SHARE, use for detecting simultaneous attempts to update commit_count
      Add list of tables changed by transaction to Thd_ndb
      Change check_ndb_connection to take thd as argument, use current_thd as default
      Added m_rows_changed variable to keep track of if this handler has modified any records within the transaction
    sql/set_var.cc:
      Change format of code
      Sort sys__ variables in aplha order
    5329b3a6
ndb_cache2.result 13.3 KB