Fix libpq parsing and refactors/code cleanup

This commit is contained in:
eelke 2025-08-31 13:11:59 +02:00
parent 0090f39910
commit 739d6bd65a
12 changed files with 234 additions and 543 deletions

View file

@ -48,7 +48,7 @@ public ref struct PqConnectionStringParser
//service
//target_session_attrs
public static IDictionary<string, string> Parse(string input)
public static Result<IDictionary<string, string>> Parse(string input)
{
return new PqConnectionStringParser(
new PqConnectionStringTokenizer(input)
@ -63,12 +63,16 @@ public ref struct PqConnectionStringParser
this._tokenizer = tokenizer;
}
public IDictionary<string, string> Parse()
public Result<IDictionary<string, string>> Parse()
{
_result.Clear();
while (!_tokenizer.IsEof)
ParsePair();
{
var result = ParsePair();
if (result.IsFailed)
return result;
}
return _result;
}