summaryrefslogtreecommitdiff
path: root/storage/maria/ma_state.c
diff options
context:
space:
mode:
authorMichael Widenius <monty@mysql.com>2008-11-01 01:14:58 +0200
committerMichael Widenius <monty@mysql.com>2008-11-01 01:14:58 +0200
commit2b521320fb66c6f0635103b3fa3ee1b86f6b7a2c (patch)
tree42aff63b09c43037fe04f96ec85031748054115f /storage/maria/ma_state.c
parentca4d512aa46df2f231940d20f1b94b8409a7c691 (diff)
downloadmariadb-git-2b521320fb66c6f0635103b3fa3ee1b86f6b7a2c.tar.gz
Added ha_maria::is_changed() (needed for Query cache)
storage/maria/ha_maria.cc: Added ha_maria::is_changed() storage/maria/ha_maria.h: Added ha_maria::is_changed() storage/maria/ma_delete.c: Mark that table changed storage/maria/ma_open.c: Ensure that info->state->changed is always reset from thr_lock() storage/maria/ma_state.c: Reset handler->state->changed at first usage of transactional table Reset handler->state->changed when taking lock for not transactional table storage/maria/ma_state.h: Added variable and function to track changes of table storage/maria/ma_update.c: Mark that table changed storage/maria/ma_write.c: Mark that table changed
Diffstat (limited to 'storage/maria/ma_state.c')
-rw-r--r--storage/maria/ma_state.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/storage/maria/ma_state.c b/storage/maria/ma_state.c
index cfe0de62929..36e2dbc669a 100644
--- a/storage/maria/ma_state.c
+++ b/storage/maria/ma_state.c
@@ -96,6 +96,8 @@ my_bool _ma_setup_live_state(MARIA_HA *info)
pthread_mutex_unlock(&share->intern_lock);
/* The current item can't be deleted as it's the first one visible for us */
tables->state_start= tables->state_current= history->state;
+ tables->state_current.changed= 0;
+
DBUG_PRINT("info", ("records: %ld", (ulong) tables->state_start.records));
end:
@@ -262,6 +264,7 @@ void _ma_get_status(void* param, my_bool concurrent_insert)
#endif
info->state_save= info->s->state.state;
info->state= &info->state_save;
+ info->state->changed= 0;
info->append_insert_at_end= concurrent_insert;
DBUG_VOID_RETURN;
}
@@ -315,6 +318,13 @@ void _ma_copy_status(void* to, void *from)
}
+void _ma_reset_update_flag(void *param)
+{
+ MARIA_HA *info=(MARIA_HA*) param;
+ info->state->changed= 0;
+}
+
+
/**
@brief Check if should allow concurrent inserts