Kirill Simonov avatar Kirill Simonov committed a3d0f2e

Omit the schema name only when the schema is the first in the search path.

Comments (0)

Files changed (1)

src/htsql/tr/dump.py

         # or the default schema.
         if table.schema.name:
             need_schema = True
-            # Check if the table schema is in the search path and there is
-            # no higher priority schema having a table with the same name.
+            # Check if the table schema is the first in the search path,
+            # in which case, we could omit the schema name.
             if table.schema.priority > 0:
                 need_schema = False
-                for schema in table.schema.catalog.schemas:
-                    if (schema != table.schema and
-                            schema.priority >= table.schema.priority and
-                            table.name in schema.tables):
-                        need_schema = True
-                        break
+                if any(schema.priority > table.schema.priority
+                       for schema in table.schema.catalog.schemas):
+                    need_schema = True
         # Serialize the table name.
         if need_schema:
             self.format("{schema:name}.{table:name}",
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.