Skip to content

Commit 5e0e710

Browse files
committed
#949 FBManager#setPageSize should accept "use default" value
1 parent 94f07c7 commit 5e0e710

4 files changed

Lines changed: 10 additions & 6 deletions

File tree

src/docs/asciidoc/release_notes.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,8 @@ See also https://github.com/FirebirdSQL/jaybird/blob/master/devdoc/jdp/jdp-2026-
688688
* Improvement: Clear warnings on connection close (https://github.com/FirebirdSQL/jaybird/pull/943[#943])
689689
+
690690
This change was contributed by https://github.com/FuriousFourier[FuriousFourier^]
691-
* Improvement: Add getters to BackupManager and allow "`use default`" to be set (https://github.com/FirebirdSQL/jaybird/issues/948[#948])
691+
* Improvement: Add getters to `BackupManager` and allow "`use default`" to be set (https://github.com/FirebirdSQL/jaybird/issues/948[#948])
692+
* Improvement: Allow "`use default`" (`-1`) on `FBManager#setPageSize` (https://github.com/FirebirdSQL/jaybird/issues/949[#949])
692693
* ...
693694
694695
[#compatibility-changes]

src/main/org/firebirdsql/management/FBManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,9 @@ public int getDialect() {
265265

266266
@Override
267267
public void setPageSize(int pageSize) {
268-
this.pageSize = PageSizeConstants.requireValidPageSize(pageSize);
268+
this.pageSize = pageSize != PageSizeConstants.USE_DEFAULT
269+
? PageSizeConstants.requireValidPageSize(pageSize)
270+
: PageSizeConstants.USE_DEFAULT;
269271
}
270272

271273
@Override

src/main/org/firebirdsql/management/FBManagerMBean.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,8 @@ public interface FBManagerMBean extends AttachmentProperties, AutoCloseable {
195195
/**
196196
* Set the page size to use when creating a new database.
197197
* <p>
198-
* The value for {@code pageSize} must be one of {@link PageSizeConstants}. The default value depends on the
199-
* Firebird version.
198+
* The value for {@code pageSize} must be one of {@link PageSizeConstants}. Use
199+
* {@link PageSizeConstants#USE_DEFAULT} ({@code -1}) for the default size of the Firebird server.
200200
* </p>
201201
* <p>
202202
* Some values are not valid on all Firebird versions.

src/test/org/firebirdsql/management/FBManagerTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,14 @@ void testSetPageSize_Invalid_throwsIllegalArgumentException() {
111111
assertThrows(IllegalArgumentException.class, () -> m.setPageSize(4000));
112112
}
113113

114-
@SuppressWarnings("resource")
114+
@SuppressWarnings({ "resource", "deprecation" })
115115
@ParameterizedTest
116-
@ValueSource(ints = { SIZE_1K, SIZE_2K, SIZE_4K, SIZE_8K, SIZE_16K, SIZE_32K })
116+
@ValueSource(ints = { USE_DEFAULT, SIZE_1K, SIZE_2K, SIZE_4K, SIZE_8K, SIZE_16K, SIZE_32K })
117117
void testSetPageSize_ValidValues(int pageSize) {
118118
FBManager m = FBTestProperties.createFBManager();
119119

120120
assertDoesNotThrow(() -> m.setPageSize(pageSize));
121+
assertEquals(pageSize, m.getPageSize(), "pageSize");
121122
}
122123

123124
@Test

0 commit comments

Comments
 (0)