Skip to content

Commit e7deb1b

Browse files
author
Marcos Magueta
committed
reuse stored proc parser
1 parent 43c21f4 commit e7deb1b

File tree

1 file changed

+1
-33
lines changed

1 file changed

+1
-33
lines changed

src/SQLProvider.Runtime/Ssdt.DacpacParser.fs

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -378,38 +378,6 @@ let parseXml(xml: string) =
378378
Name = parts.[1]
379379
Parameters = parameters |> Seq.toList }
380380

381-
let parseFunctions (funElement: XmlNode) =
382-
let fullName = funElement |> att "Name" |> RegexParsers.splitFullName |> fun n -> String.Join(".", n) |> fun n -> n.ToUpper()
383-
let parameters =
384-
let paramsNode = funElement |> nodes "x:Relationship" |> Seq.tryFind (fun r -> r |> att "Name" = "Parameters")
385-
match paramsNode with
386-
| Some e ->
387-
e
388-
|> nodes "x:Entry"
389-
|> Seq.map (fun entry ->
390-
let el = entry |> node "x:Element"
391-
let parameterName = el |> att "Name"
392-
let isOutput =
393-
match el |> nodes "x:Property" |> Seq.tryFind (fun p -> p |> att "Name" = "IsOutput") with
394-
| Some p when p |> att "Value" = "True" -> true
395-
| _ -> false
396-
let dataType =
397-
el
398-
|> node "x:Relationship/x:Entry/x:Element/x:Relationship/x:Entry/x:References"
399-
|> att "Name"
400-
{ FullName = parameterName
401-
Name = parameterName |> RegexParsers.splitFullName |> Array.last
402-
DataType = dataType |> removeBrackets
403-
Length = ValueNone
404-
IsOutput = isOutput })
405-
| None -> Seq.empty
406-
407-
let parts = fullName |> RegexParsers.splitFullName
408-
{ FullName = fullName
409-
Schema = parts.[0]
410-
Name = parts.[1]
411-
Parameters = parameters |> Seq.toList }
412-
413381
let parseDescription (extElement: XmlNode) =
414382
let fullName = extElement |> att "Name"
415383
let parts = fullName |> RegexParsers.splitFullName
@@ -452,7 +420,7 @@ let parseXml(xml: string) =
452420
model
453421
|> nodes "x:Element"
454422
|> Seq.filter filterPredicate
455-
|> Seq.map parseFunctions
423+
|> Seq.map parseStoredProc
456424
|> Seq.toList
457425

458426
let storedProcs =

0 commit comments

Comments
 (0)