Skip to content

Commit ea1bb4a

Browse files
committed
Add exception if schema owner cannot be resolved
1 parent 2ac6aa8 commit ea1bb4a

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/Resources/Strings.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/Resources/Strings.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,7 @@
135135
<data name="ExSchemaXDoesNotExistOrBelongsToAnotherUser" xml:space="preserve">
136136
<value>Schema '{0}' either does not exist or belongs to another user.</value>
137137
</data>
138+
<data name="ExCantFindSchemaXOwnerWithIdYInTheListOfUsers" xml:space="preserve">
139+
<value>Can't find schema '{0}' owner with oid '{1}' in the list of users.</value>
140+
</data>
138141
</root>

Orm/Xtensive.Orm.PostgreSql/Sql.Drivers.PostgreSql/v8_0/Extractor.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,12 @@ protected virtual void ReadSchemaData(DbDataReader dataReader, ExtractionContext
522522
catalog.DefaultSchema = schema;
523523
}
524524

525-
schema.Owner = context.UserLookup[owner];
525+
if (context.UserLookup.TryGetValue(owner, out var ownerName)) {
526+
schema.Owner = ownerName;
527+
}
528+
else {
529+
throw new InvalidOperationException(string.Format(Resources.Strings.ExCantFindSchemaXOwnerWithIdYInTheListOfUsers, name, owner));
530+
}
526531
context.SchemaMap[oid] = schema;
527532
context.ReversedSchemaMap[schema] = oid;
528533
}

0 commit comments

Comments
 (0)