From 8d9a28a5830839c639f282f00cf0fc45630cac46 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Sat, 6 Jun 2015 09:24:42 -0700 Subject: [PATCH] Store supports auto-creating retention policy --- meta/store.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/meta/store.go b/meta/store.go index 1e140bc9aa..db6c553adc 100644 --- a/meta/store.go +++ b/meta/store.go @@ -66,6 +66,8 @@ type Store struct { closing chan struct{} wg sync.WaitGroup + RetentionAutocreate bool + // The listeners to accept raft and remote exec connections from. RaftListener net.Listener ExecListener net.Listener @@ -562,6 +564,20 @@ func (s *Store) CreateDatabase(name string) (*DatabaseInfo, error) { ); err != nil { return nil, err } + + if s.RetentionAutocreate { + rpi := NewRetentionPolicyInfo("default") + rpi.ReplicaN = 1 + _, err := s.CreateRetentionPolicy(name, rpi) + if err != nil { + return nil, err + } + + if err := s.SetDefaultRetentionPolicy(name, "default"); err != nil { + return nil, err + } + } + return s.Database(name) }