Skip to content

Commit 4edfaf8

Browse files
authored
Merge pull request #4 from elastacloud/codex/locate-and-fix-critical-bug
Fix prompt loading enumeration
2 parents 9b95c0d + ae5d59a commit 4edfaf8

1 file changed

Lines changed: 26 additions & 24 deletions

File tree

DotPrompt.Sql/SqlPromptRepository.cs

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -96,33 +96,35 @@ public IEnumerable<SqlPromptEntity> Load()
9696

9797
if (query != null)
9898
{
99-
var result = _connection.Query<SqlPromptEntity, PromptParameter, SqlPromptEntity>(
100-
query,
101-
(prompt, param) =>
102-
{
103-
if (!promptDictionary.TryGetValue(prompt.PromptId, out var promptEntity))
104-
{
105-
promptEntity = prompt;
106-
promptEntity.Parameters = new Dictionary<string, string>();
107-
promptEntity.Default = new Dictionary<string, object>();
108-
promptDictionary.Add(prompt.PromptId, promptEntity);
109-
}
110-
111-
if (string.IsNullOrEmpty(param.ParameterName)) return promptEntity;
112-
if (promptEntity.Parameters != null && !promptEntity.Parameters.ContainsKey(param.ParameterName))
99+
_connection
100+
.Query<SqlPromptEntity, PromptParameter, SqlPromptEntity>(
101+
query,
102+
(prompt, param) =>
113103
{
114-
promptEntity.Parameters.Add(param.ParameterName, param.ParameterValue);
115-
}
104+
if (!promptDictionary.TryGetValue(prompt.PromptId, out var promptEntity))
105+
{
106+
promptEntity = prompt;
107+
promptEntity.Parameters = new Dictionary<string, string>();
108+
promptEntity.Default = new Dictionary<string, object>();
109+
promptDictionary.Add(prompt.PromptId, promptEntity);
110+
}
111+
112+
if (string.IsNullOrEmpty(param.ParameterName)) return promptEntity;
113+
if (promptEntity.Parameters != null && !promptEntity.Parameters.ContainsKey(param.ParameterName))
114+
{
115+
promptEntity.Parameters.Add(param.ParameterName, param.ParameterValue);
116+
}
117+
118+
if (promptEntity.Default == null || promptEntity.Default.ContainsKey(param.ParameterName))
119+
return promptEntity;
120+
if (param.DefaultValue != null)
121+
promptEntity.Default.Add(param.ParameterName, param.DefaultValue);
116122

117-
if (promptEntity.Default == null || promptEntity.Default.ContainsKey(param.ParameterName))
118123
return promptEntity;
119-
if (param.DefaultValue != null)
120-
promptEntity.Default.Add(param.ParameterName, param.DefaultValue);
121-
122-
return promptEntity;
123-
},
124-
splitOn: "ParameterId"
125-
);
124+
},
125+
splitOn: "ParameterId"
126+
)
127+
.AsList(); // Force enumeration so mapping executes
126128
}
127129

128130
return promptDictionary.Values;

0 commit comments

Comments
 (0)