Skip to content

Commit d764b54

Browse files
committed
Ignore non-public AuthIds
1 parent 163265f commit d764b54

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -514,17 +514,19 @@ protected virtual void ReadSchemaData(DbDataReader dataReader, ExtractionContext
514514
{
515515
var oid = Convert.ToInt64(dataReader["oid"]);
516516
var name = dataReader["nspname"].ToString();
517-
var owner = Convert.ToInt64(dataReader["nspowner"]);
517+
var ownerOid = Convert.ToInt64(dataReader["nspowner"]);
518518

519519
var catalog = context.Catalog;
520-
var schema = catalog.Schemas[name] ?? catalog.CreateSchema(name);
521-
if (name == "public") {
522-
catalog.DefaultSchema = schema;
523-
}
520+
if (context.UserLookup.TryGetValue(ownerOid, out var ownerName)) {
521+
var schema = catalog.Schemas[name] ?? catalog.CreateSchema(name);
522+
if (name == "public") {
523+
catalog.DefaultSchema = schema;
524+
}
524525

525-
schema.Owner = context.UserLookup[owner];
526-
context.SchemaMap[oid] = schema;
527-
context.ReversedSchemaMap[schema] = oid;
526+
schema.Owner = ownerName;
527+
context.SchemaMap[oid] = schema;
528+
context.ReversedSchemaMap[schema] = oid;
529+
}
528530
}
529531

530532
private void ExtractSchemaContents(ExtractionContext context)
@@ -1432,4 +1434,4 @@ public Extractor(SqlDriver driver)
14321434
{
14331435
}
14341436
}
1435-
}
1437+
}

Orm/Xtensive.Orm.Tests.Framework/Orm.config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
connectionUrl="postgresql://dotest:dotest@localhost:54150/dotest" />
7474

7575
<domain name="pgsql160"
76-
connectionUrl="postgresql://dotest:dotest@localhost:5432/dotest" />
76+
connectionUrl="postgresql://dotest:dotest@pghost:5432/dotest" />
7777

7878
<domain name="oracle10"
7979
connectionUrl="oracle://dotest:dotest@localhost:5510/ora10" />
@@ -170,6 +170,9 @@
170170
<domain name="pgsql150cs" provider="postgresql"
171171
connectionString="HOST=localhost;PORT=54150;DATABASE=dotest;USER ID=dotest;PASSWORD=dotest" />
172172

173+
<domain name="pgsql160cs" provider="postgresql"
174+
connectionString="HOST=pghost;PORT=5432;DATABASE=dotest;USER ID=dotest;PASSWORD=dotest" />
175+
173176
<domain name="oracle10cs" provider="oracle"
174177
connectionString="DATA SOURCE=&quot;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=5510))(CONNECT_DATA=(SERVICE_NAME=ora10)))&quot;;USER ID=dotest;PASSWORD=dotest" />
175178

0 commit comments

Comments
 (0)