Skip to content

Commit 8e1ffc8

Browse files
committed
Avoid AOT error in iOS, caused by Indexed attr
1 parent ec7b882 commit 8e1ffc8

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

SQLite4Unity3d/SQLite4Unity3d/SQLite.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,8 +418,18 @@ public int CreateTable(Type ty, CreateFlags createFlags = CreateFlags.None)
418418

419419
foreach (var indexName in indexes.Keys) {
420420
var index = indexes[indexName];
421-
var columns = index.Columns.OrderBy(i => i.Order).Select(i => i.ColumnName).ToArray();
422-
count += CreateIndex(indexName, index.TableName, columns, index.Unique);
421+
string[] columnNames = new string[index.Columns.Count];
422+
if (index.Columns.Count == 1) {
423+
columnNames[0] = index.Columns[0].ColumnName;
424+
} else {
425+
index.Columns.Sort((lhs, rhs) => {
426+
return lhs.Order - rhs.Order;
427+
});
428+
for (int i = 0, end = index.Columns.Count; i < end; ++i) {
429+
columnNames[i] = index.Columns[i].ColumnName;
430+
}
431+
}
432+
count += CreateIndex(indexName, index.TableName, columnNames, index.Unique);
423433
}
424434

425435
return count;

0 commit comments

Comments
 (0)