Skip to content

Commit 26f51ba

Browse files
authored
Merge pull request #2384 from schemacrawler/sort
Use pre-sorted used by objects
2 parents 3371c16 + 51dd2a0 commit 26f51ba

2 files changed

Lines changed: 16 additions & 20 deletions

File tree

schemacrawler-dbtest/src/test/resources/testDuckDBWithConnection.txt

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
System Information
44
========================================================================
55

6-
generated by SchemaCrawler 17.11.2
7-
generated on 2026-05-31 01:53:42
8-
database version DuckDB v1.5.3
6+
generated by SchemaCrawler 17.11.3
7+
generated on 2026-06-21 18:16:16
8+
database version DuckDB v1.5.4
99
driver version DuckDBJ 1.0
1010

1111

@@ -293,7 +293,7 @@ System Information
293293
Database Information
294294
-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
295295
database product name DuckDB
296-
database product version v1.5.3
296+
database product version v1.5.4
297297
database user name
298298

299299

@@ -434,7 +434,7 @@ uses local files true
434434

435435
JDBC Driver Information
436436
-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
437-
connection url jdbc:duckdb:/tmp/17782424039801126026/sc.145d1ece-9fe9-4bd6-bc58-5d007439b4d2.db
437+
connection url jdbc:duckdb:/tmp/6959291878553654738/sc.5d3b1960-8169-4712-888a-796a80abc683.db
438438
driver name DuckDBJ
439439
driver version 1.0
440440
driver class name org.duckdb.DuckDBDriver
@@ -854,6 +854,11 @@ force_bitpacking_mode [driver property]
854854
not required
855855
value AUTO
856856

857+
force_column_metadata_reuse [driver property]
858+
Force re-use of row group metadata on a column-level when checkpointing on older storage versions 6 and 7. This breaks storage backward-compatibility with older DuckDB versions.
859+
not required
860+
value false
861+
857862
force_compression [driver property]
858863
DEBUG SETTING: forces a specific compression method to be used
859864
not required
@@ -1182,7 +1187,7 @@ streaming_buffer_size [driver property]
11821187
temp_directory [driver property]
11831188
Set the directory to which to write temp files
11841189
not required
1185-
value /tmp/17782424039801126026/sc.145d1ece-9fe9-4bd6-bc58-5d007439b4d2.db.tmp
1190+
value /tmp/6959291878553654738/sc.5d3b1960-8169-4712-888a-796a80abc683.db.tmp
11861191

11871192
temp_file_encryption [driver property]
11881193
Encrypt all temporary files if database is encrypted
@@ -1197,7 +1202,7 @@ threads [driver property]
11971202
TimeZone [driver property]
11981203
The current time zone
11991204
not required
1200-
value GMT
1205+
value Etc/UTC
12011206

12021207
user [driver property]
12031208
The username to use. Ignored for legacy compatibility.
@@ -1210,7 +1215,7 @@ username [driver property]
12101215
value
12111216

12121217
vacuum_rebuild_indexes [driver property]
1213-
(Experimental) Allow vacuum to compact row groups on tables with bound ART indexes, rebuilding the indexes afterward. Tables with a row count exceeding this threshold are skipped. 0 = disabled.
1218+
(Experimental) Allow vacuum to compact row groups on tables with bound ART indexes, rebuilding the indexes afterward. Tables with a row count exceeding this threshold are skipped. 0 = disabled. Can also be set per-database via the 'vacuum_rebuild_indexes' ATTACH option, which overrides this default.
12141219
not required
12151220
value 0
12161221

schemacrawler-text/src/main/java/schemacrawler/tools/text/formatter/schema/SchemaTextFormatter.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import java.util.ArrayList;
4040
import java.util.Collection;
4141
import java.util.Collections;
42-
import java.util.Comparator;
4342
import java.util.EnumSet;
4443
import java.util.List;
4544
import java.util.Locale;
@@ -87,7 +86,6 @@
8786
import schemacrawler.tools.text.formatter.base.helper.TextFormattingHelper.DocumentHeaderType;
8887
import schemacrawler.tools.traversal.ModelHelper;
8988
import schemacrawler.tools.traversal.SchemaTraversalHandler;
90-
import schemacrawler.utility.MetaDataUtility;
9189
import schemacrawler.utility.NamedObjectSort;
9290
import us.fatehi.utility.html.Alignment;
9391
import us.fatehi.utility.property.Property;
@@ -1120,19 +1118,12 @@ private void printTableUsedByObjects(final Table table) {
11201118
if (table == null) {
11211119
return;
11221120
}
1123-
final Collection<DatabaseObject> usedByObjectsCollection = table.getUsedByObjects();
1124-
if (usedByObjectsCollection.isEmpty()) {
1121+
// Get used by objects that are pre-sorted
1122+
final Collection<DatabaseObject> usedByObjects = table.getUsedByObjects();
1123+
if (usedByObjects.isEmpty()) {
11251124
return;
11261125
}
11271126

1128-
final List<DatabaseObject> usedByObjects = new ArrayList<>(usedByObjectsCollection);
1129-
Collections.sort(
1130-
usedByObjects,
1131-
Comparator.comparing(
1132-
(final DatabaseObject databaseObject) ->
1133-
MetaDataUtility.getSimpleTypeName(databaseObject))
1134-
.thenComparing(DatabaseObject::getFullName));
1135-
11361127
formattingHelper.writeEmptyRow();
11371128
formattingHelper.writeWideRow("Used By Objects", "section");
11381129

0 commit comments

Comments
 (0)