Skip to content

Commit 4874471

Browse files
Filter duplicate dependencies
Avoid SQL UNIQUE error discovered analyzing large buildlayout
1 parent 17d8eb4 commit 4874471

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

Analyzer/SQLite/Writers/AddressablesBuildLayoutSQLWriter.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Collections.Generic;
23
using System.IO;
34
using Microsoft.Data.Sqlite;
45
using Newtonsoft.Json;
@@ -245,11 +246,16 @@ private void WriteBuildLayoutBundle(Reference reference, long buildId, SqliteTra
245246
m_AddressablesBuildBundle.SetValue("result_type", reference.data.ResultType);
246247
m_AddressablesBuildBundle.ExecuteNonQuery();
247248

249+
var visited = new Dictionary<string, bool>();
248250
// Insert bundle dependencies
249251
if (reference.data.BundleDependencies != null)
250252
{
251253
foreach (var dep in reference.data.BundleDependencies)
252254
{
255+
var key = $"{buildId}_{reference.rid}_{dep.rid}";
256+
if (visited.ContainsKey(key))
257+
continue;
258+
visited.Add(key, true);
253259
m_AddressablesBuildBundleDependency.SetTransaction(transaction);
254260
m_AddressablesBuildBundleDependency.SetValue("bundle_id", reference.rid);
255261
m_AddressablesBuildBundleDependency.SetValue("build_id", buildId);

0 commit comments

Comments
 (0)