[agent/codex:gpt-5.4-mini] Read ~/spec/code/core/go/store/RFC.md fully. Find ONE featur... #102

Merged
Virgil merged 1 commit from agent/read---spec-code-core-go-store-rfc-md-fu into dev 2026-04-04 08:41:43 +00:00
3 changed files with 28 additions and 5 deletions

View file

@ -127,6 +127,14 @@ func (storeInstance *Store) JournalConfiguration() JournalConfiguration {
}
}
// Usage example: `if storeInstance.JournalConfigured() { fmt.Println("journal is enabled") }`
func (storeInstance *Store) JournalConfigured() bool {
if storeInstance == nil {
return false
}
return storeInstance.journalConfiguration != (journalConfiguration{})
}
// Usage example: `config := storeInstance.Config(); fmt.Println(config.DatabasePath, config.PurgeInterval)`
func (storeInstance *Store) Config() StoreConfig {
if storeInstance == nil {

View file

@ -121,6 +121,21 @@ func TestStore_JournalConfiguration_Good(t *testing.T) {
}, config)
}
func TestStore_JournalConfigured_Good(t *testing.T) {
storeInstance, err := New(":memory:", WithJournal("http://127.0.0.1:8086", "core", "events"))
require.NoError(t, err)
defer storeInstance.Close()
assert.True(t, storeInstance.JournalConfigured())
assert.False(t, (*Store)(nil).JournalConfigured())
unconfiguredStore, err := New(":memory:")
require.NoError(t, err)
defer unconfiguredStore.Close()
assert.False(t, unconfiguredStore.JournalConfigured())
}
func TestStore_Config_Good(t *testing.T) {
storeInstance, err := NewConfigured(StoreConfig{
DatabasePath: ":memory:",

View file

@ -475,24 +475,24 @@ func (storeInstance *Store) commitWorkspaceAggregate(workspaceName string, field
func openWorkspaceDatabase(databasePath string) (*sql.DB, error) {
workspaceDatabase, err := sql.Open("sqlite", databasePath)
if err != nil {
return nil, err
return nil, core.E("store.openWorkspaceDatabase", "open workspace database", err)
}
workspaceDatabase.SetMaxOpenConns(1)
if _, err := workspaceDatabase.Exec("PRAGMA journal_mode=WAL"); err != nil {
workspaceDatabase.Close()
return nil, err
return nil, core.E("store.openWorkspaceDatabase", "set WAL journal mode", err)
}
if _, err := workspaceDatabase.Exec("PRAGMA busy_timeout=5000"); err != nil {
workspaceDatabase.Close()
return nil, err
return nil, core.E("store.openWorkspaceDatabase", "set busy timeout", err)
}
if _, err := workspaceDatabase.Exec(createWorkspaceEntriesTableSQL); err != nil {
workspaceDatabase.Close()
return nil, err
return nil, core.E("store.openWorkspaceDatabase", "create workspace entries table", err)
}
if _, err := workspaceDatabase.Exec(createWorkspaceEntriesViewSQL); err != nil {
workspaceDatabase.Close()
return nil, err
return nil, core.E("store.openWorkspaceDatabase", "create workspace entries view", err)
}
return workspaceDatabase, nil
}