Skip to content

Commit 85b5432

Browse files
committed
tiny memory optimisations
1 parent 15443a4 commit 85b5432

4 files changed

Lines changed: 13 additions & 15 deletions

File tree

paket.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1501,7 +1501,7 @@ GITHUB
15011501
src/ProvidedTypes.fs (ce34c1cc71096857b8342f1dedf93391addc9df6)
15021502
src/ProvidedTypes.fsi (ce34c1cc71096857b8342f1dedf93391addc9df6)
15031503
remote: Thorium/Linq.Expression.Optimizer
1504-
src/Code/ExpressionOptimizer.fs (5e1a0d610e6b8dd1e2347091c3b5e1fe694e1e3c)
1504+
src/Code/ExpressionOptimizer.fs (d89d2f7a8f04f268ad7b9ea3bc4279a9253edc66)
15051505
GROUP Tests
15061506
STORAGE: PACKAGES
15071507
NUGET

src/SQLProvider.Common/SqlRuntime.Common.fs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -361,34 +361,30 @@ type SqlEntity(dc: ISqlDataContext, tableName, columns: ColumnLookup, activeColu
361361
member __.SetColumnOptionSilent(key,value) =
362362
match value with
363363
| Some value ->
364-
if data.ContainsKey key then
365-
data.[key] <- value
366-
else data.Add(key,value)
364+
data.[key] <- value
367365
| None -> data.Remove key |> ignore
368366

369367
member __.SetPkColumnOptionSilent(keys,value) =
370368
match value with
371369
| Some value ->
372370
keys |> List.iter(fun x ->
373-
if data.ContainsKey x then data.[x] <- value
374-
else data.Add(x,value))
371+
data.[x] <- value
372+
)
375373
| None ->
376374
keys |> List.iter(fun x -> data.Remove x |> ignore)
377375

378376
member e.SetColumnOption(key,value) =
379377
match value with
380378
| Some value ->
381-
if data.ContainsKey key then data.[key] <- value
382-
else data.Add(key,value)
379+
data.[key] <- value
383380
e.TriggerPropertyChange key
384381
| None -> if data.Remove key then e.TriggerPropertyChange key
385382
e.UpdateField key
386383

387384
member e.SetColumnValueOption(key,value) =
388385
match value with
389386
| ValueSome value ->
390-
if data.ContainsKey key then data.[key] <- value
391-
else data.Add(key,value)
387+
data.[key] <- value
392388
e.TriggerPropertyChange key
393389
| ValueNone -> if data.Remove key then e.TriggerPropertyChange key
394390
e.UpdateField key
@@ -1161,7 +1157,7 @@ module public OfflineTools =
11611157
match dummydata.TryGetValue(arg1.ToLower()) with
11621158
| true, tableData -> createMockEntitiesDc this arg1 tableData
11631159
| false, _ ->
1164-
match dummydata |> Map.toSeq |> Seq.tryFind(fun (k,v) -> k.ToUpperInvariant() = arg1.ToUpperInvariant()) with
1160+
match dummydata |> Map.toSeq |> Seq.tryFind(fun (k,v) -> String.Equals(k, arg1, StringComparison.InvariantCultureIgnoreCase)) with
11651161
| Some (k, tableData) -> createMockEntitiesDc this arg1 tableData
11661162
| None -> failwith ("Add table to dummydata: " + arg1)
11671163
member this.CreateEntity(arg1: string): SqlEntity =

src/SQLProvider.Common/SqlRuntime.QueryExpression.fs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,10 @@ module internal QueryExpressionTransformer =
450450
| false, _ -> projectionMap.Add(en, ResizeArray<_>())
451451
upcast databaseParam
452452
| _ ->
453-
if (not (isNull replaceParams)) && replaceParams.ContainsKey(e) then
454-
replaceParams.[e].Body
453+
if (not (isNull replaceParams)) then
454+
match replaceParams.TryGetValue e with
455+
| true, re -> re.Body
456+
| false, _ -> upcast e
455457
else
456458
upcast e
457459
| ExpressionType.MemberAccess, (:? MemberExpression as e) -> let memb = Expression.MakeMemberAccess(transform en e.Expression, e.Member)

src/SQLProvider.Common/Ssdt.DacpacParser.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ let parseXml(xml: string) =
325325
|> ValueOption.defaultValue "SQL_VARIANT"
326326
let allowNulls =
327327
match annotation with
328-
| ValueSome { Nullability = ValueSome nlb } -> nlb.ToUpperInvariant() = "NULL"
328+
| ValueSome { Nullability = ValueSome nlb } -> String.Equals(nlb, "NULL", StringComparison.InvariantCultureIgnoreCase)
329329
| ValueSome { Nullability = ValueNone } -> true // Sql Server column declarations allow nulls by default
330330
| ValueNone -> false // Default to "SQL_VARIANT" (obj) with no nulls if annotation is not found
331331

@@ -555,7 +555,7 @@ let parseXml(xml: string) =
555555
|> Option.defaultValue "SQL_VARIANT"
556556
let allowNulls =
557557
match annotation with
558-
| Some { Nullability = ValueSome nlb } -> nlb.ToUpperInvariant() = "NULL"
558+
| Some { Nullability = ValueSome nlb } -> String.Equals(nlb, "NULL", StringComparison.InvariantCultureIgnoreCase)
559559
| Some { Nullability = ValueNone } -> true // Sql Server column declarations allow nulls by default
560560
| None -> false // Default to "SQL_VARIANT" (obj) with no nulls if annotation is not found
561561
let description =

0 commit comments

Comments
 (0)