You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(site): Convert properties.adoc Feature Flags/Properties to tables
Convert the per-item subsections into two consolidated tables:
Feature Flags (Flag/Feature ID/Default/Description) and Properties
(Property ID/Default/Description/Note). All 17 existing anchors are
preserved via inline anchor: macros, since several other pages
(anttask.adoc, the database vendor guides, datatypes.adoc, faq.fml)
link to specific properties.html# fragments.
Discovered and worked around a pre-existing rendering limitation in
this project's Doxia/Asciidoctor table integration: the `a|`
AsciiDoc-content cell style is not processed at all here -- anchors,
bullet lists, and inline formatting inside it render as literal,
unprocessed text. Confirmed empirically (a diagnostic table) and
reproduced against the unmodified pre-session file, so this is a
toolchain limitation, not something introduced by this change. Plain
`|` cells work correctly, including inline anchors, links, xrefs, and
`+` explicit line breaks, so both new tables use plain cells
exclusively; multi-item lists (DataType Factory's and Metadata
Handler's available implementations) are `+`-separated lines instead
of AsciiDoc bullet lists.
Refs: 864
Add a "What This Automates For You" section to testcases/PrepAndExpectedTestCase.adoc, documenting DefaultPrepAndExpectedTestCase's automatic behaviors confirmed against its source (multi-file dataset composition, row sorting via SortedTable, expected/actual column type and case reconciliation, VerifyTableDefinition column include/exclude filtering, ValueComparer dispatch, and the expected-table/VerifyTableDefinition count safety check) that a hand-coded approach would otherwise need to implement itself.
Convert properties.adoc's per-item Feature Flags and Properties subsections into two consolidated tables (Flag/Feature ID/Default/Description; Property ID/Default/Description/Note), preserving all 17 existing anchors that other pages link to. Discovered and worked around a pre-existing rendering limitation in this project's Doxia/Asciidoctor table integration: the `a|` AsciiDoc-content cell style is not processed at all (anchors, bullet lists, and inline formatting inside it render as literal unprocessed text, confirmed empirically and reproduced against the unmodified pre-session file) -- plain `|` cells work correctly, including inline anchors, links, xrefs, and `+` explicit line breaks, so both new tables use plain cells exclusively.
91
+
</action>
89
92
</release>
90
93
<releaseversion="3.4.0"date="Jul 28, 2026"description="Test-suite hardening (un-skip and strengthen dozens of disabled/no-op tests); add CachingConnectionProvider and reduce DefaultPrepAndExpectedTestCase's per-test connection churn; pin identifier case-folding to Locale.ENGLISH for Turkish-locale correctness; and a broad set of correctness fixes across export formats (XML, YAML, CSV, XLS, Ant), TimestampDataType timezone handling, InsertOperation/TransactionOperation, and resource-leak cleanups">
Each Feature Flag ID and Property ID has a corresponding constant on link:apidocs/org/dbunit/database/DatabaseConfig.html[DatabaseConfig].
29
29
30
-
== Feature Flags
31
-
32
-
[#batchstatement]
33
-
=== Batched Statements
34
-
35
-
[cols="1,3"]
36
-
|===
37
-
|Feature ID |http://www.dbunit.org/features/batchedStatements
38
-
|Default |false
39
-
|Description |Enable or disable usage of JDBC batched statement by DbUnit.
40
-
|===
41
-
42
-
[#casesensitivetablenames]
43
-
=== Case Sensitive Table Names
30
+
NOTE: This page's tables use plain-text cells throughout, deliberately avoiding
31
+
AsciiDoc's `a|` (AsciiDoc-content) cell style — this project's Doxia/Asciidoctor
32
+
table renderer does not process `a|` cells (verified empirically: anchors,
33
+
bullet lists, and inline formatting inside an `a|` cell all render as literal,
34
+
unprocessed text). Plain `|` cells, including multi-line ones using the `+`
35
+
line-break marker, render correctly.
44
36
45
-
[cols="1,3"]
46
-
|===
47
-
|Feature ID |http://www.dbunit.org/features/caseSensitiveTableNames
48
-
|Default |false
49
-
|Description |Enable or disable case sensitive table names. If enabled, Dbunit handles all table names in a case sensitive way.
50
-
|===
51
-
52
-
[#qualifiedtablenames]
53
-
=== Qualified Table Names
37
+
== Feature Flags
54
38
55
-
[cols="1,3"]
56
-
|===
57
-
|Feature ID |http://www.dbunit.org/features/qualifiedTableNames
58
-
|Default |false
59
-
|Description |Enable or disable multiple schemas support. If enabled, Dbunit access tables with names fully qualified by schema using this format: SCHEMA.TABLE.
60
-
|Note |This feature was not compatible with the <<escapepattern,escape pattern>> property until the 2.2.1 release. Since then the two properties can be mixed without problem: each element will be properly escaped.
|Enable or disable multiple schemas support. If enabled, Dbunit access tables with names fully qualified by schema using this format: SCHEMA.TABLE. +
57
+
_Note:_ this feature was not compatible with the <<escapepattern,escape pattern>> property until the 2.2.1 release. Since then the two properties can be mixed without problem: each element will be properly escaped.
75
58
76
-
[cols="1,3"]
77
-
|===
78
-
|Feature ID |http://www.dbunit.org/features/skipOracleRecycleBinTables
79
-
|Default |false
80
-
|Description |Enable or disable the processing of oracle recycle bin tables (tables starting with BIN$). Oracle 10g recyle bin tables may break DbUnit's assumption of tables name uniqueness within a schema since these table are case sensitive. Enable this feature for Oracle 10g databases until the bug in the oracle driver is fixed, which incorrectly reports this system tables to DbUnit.
81
-
|===
59
+
|anchor:typewarning[]`FEATURE_DATATYPE_WARNING`
60
+
|http://www.dbunit.org/features/datatypeWarning
61
+
|true
62
+
|Enable or disable the warning message displayed when DbUnit encounter an unsupported data type.
|Enable or disable the processing of oracle recycle bin tables (tables starting with BIN$). Oracle 10g recyle bin tables may break DbUnit's assumption of tables name uniqueness within a schema since these table are case sensitive. Enable this feature for Oracle 10g databases until the bug in the oracle driver is fixed, which incorrectly reports this system tables to DbUnit.
85
68
86
-
[cols="1,3"]
87
-
|===
88
-
|Feature ID |http://www.dbunit.org/features/allowEmptyFields
89
-
|Default |false
90
-
|Description |Allow to call INSERT/UPDATE with empty strings ('').
|Allow to call INSERT/UPDATE with empty strings ('').
91
73
|===
92
74
93
75
== Properties
94
76
95
-
[#escapepattern]
96
-
=== Escape Patterns
97
-
98
-
[cols="1,3"]
99
-
|===
100
-
|Property ID |http://www.dbunit.org/properties/escapePattern
101
-
|Default |_none_
102
-
a|Description
103
-
a|Allows schema, table and column names escaping.
104
-
The property value is an escape pattern where the ? is replaced by the name.
105
-
For example, the pattern "[?]" is expanded as "[MY_TABLE]" for a table named "MY_TABLE".
106
-
The most common escape pattern is `"\"?\""` which surrounds the table name with quotes (for the above example it would result in `"\"MY_TABLE\""`).
107
-
108
-
As a fallback if no questionmark is in the given String and its length is one it is used to surround the table name on the left and right side.
109
-
For example the escape pattern `"\""` will have the same effect as the escape pattern `"\"?\""`.
110
-
|Note |This property was not compatible with the <<qualifiedtablenames,qualified table names>> feature until 2.2.1. Since then the two properties can be mixed resulting in each element properly escaped.
111
-
|===
112
-
113
-
[#tabletype]
114
-
=== Table Type
115
-
116
-
[cols="1,3"]
117
-
|===
118
-
|Property ID |http://www.dbunit.org/properties/tableType
119
-
|Type |String[]
120
-
|Description |Used to configure the list of table types recognized by DbUnit. See link:https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getTables(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String%5B%5D)[java.sql.DatabaseMetaData.getTables()] for possible values.
121
-
|Default |String[]{"TABLE"}
77
+
[cols="3,1,4,3", options="header"]
122
78
|===
79
+
|Property ID |Default |Description |Note
123
80
124
-
[#typefactory]
125
-
=== DataType Factory
126
-
127
-
[cols="1,3"]
128
-
|===
129
-
|Property ID |http://www.dbunit.org/properties/datatypeFactory
|Description |Used to configure the DataType factory. You can replace the default factory to add support for non-standard database vendor data types. The Object must implement link:apidocs/org/dbunit/dataset/datatype/IDataTypeFactory.html[org.dbunit.dataset.datatype.IDataTypeFactory].
132
-
a|Note
133
-
a|The following factories are currently available:
When you want to create your own data type factory you may also want to look at the generic base implementation at link:apidocs/org/dbunit/dataset/datatype/DefaultDataTypeFactory.html[org.dbunit.dataset.datatype.DefaultDataTypeFactory].
147
-
|===
148
-
149
-
[#statementfactory]
150
-
=== Statement Factory
151
-
152
-
[cols="1,3"]
153
-
|===
154
-
|Property ID |http://www.dbunit.org/properties/statementFactory
|Description |Used to configure the statement factory. The Object must implement link:apidocs/org/dbunit/database/statement/IStatementFactory.html[org.dbunit.database.statement.IStatementFactory].
157
-
|===
158
-
159
-
[#resultsettablefactory]
160
-
=== ResultSetTable Factory
161
-
162
-
[cols="1,3"]
163
-
|===
164
-
|Property ID |http://www.dbunit.org/properties/resultSetTableFactory
|Description |Used to configure the ResultSet table factory. The Object must implement link:apidocs/org/dbunit/database/IResultSetTableFactory.html[org.dbunit.database.IResultSetTableFactory].
167
-
|===
168
-
169
-
[#primarykeysfilter]
170
-
=== Primary Keys Filter
171
-
172
-
[cols="1,3"]
173
-
|===
174
-
|Property ID |http://www.dbunit.org/properties/primaryKeyFilter
175
-
|Default |_none_
176
-
|Description |Use to override primary keys detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
177
-
|===
178
-
179
-
[#identitycolumnfilter]
180
-
=== MS SQL Server IDENTITY Column Filter
181
-
182
-
[cols="1,3"]
183
-
|===
184
-
|Property ID |http://www.dbunit.org/properties/mssql/identityColumnFilter
185
-
|Default |_none_
186
-
|Description |Use to override IDENTITY column detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
187
-
|===
188
-
189
-
[#batchsize]
190
-
=== Batch Size
191
-
192
-
[cols="1,3"]
193
-
|===
194
-
|Property ID |http://www.dbunit.org/properties/batchSize
195
-
|Default |_100_
196
-
|Description |Integer object giving the size of batch updates.
197
-
|===
198
-
199
-
[#fetchsize]
200
-
=== Fetch Size
201
-
202
-
[cols="1,3"]
203
-
|===
204
-
|Property ID |http://www.dbunit.org/properties/fetchSize
205
-
|Default |_100_
206
-
|Description |Integer object giving the statement fetch size for loading data into a result set table.
207
-
|===
208
-
209
-
[#metadatahandler]
210
-
=== Metadata Handler
211
-
212
-
[cols="1,3"]
213
-
|===
214
-
|Property ID |http://www.dbunit.org/properties/metadataHandler
|Description |Used to configure the handler used to control database metadata related methods. The Object must implement link:apidocs/org/dbunit/database/IMetadataHandler.html[org.dbunit.database.IMetadataHandler].
217
-
a|Note
218
-
a|The following RDBMS specific handlers are currently available:
|Allows schema, table and column names escaping. +
84
+
The property value is an escape pattern where the ? is replaced by the name. +
85
+
For example, the pattern "[?]" is expanded as "[MY_TABLE]" for a table named "MY_TABLE". +
86
+
The most common escape pattern is `"\"?\""` which surrounds the table name with quotes (for the above example it would result in `"\"MY_TABLE\""`). +
87
+
As a fallback if no questionmark is in the given String and its length is one it is used to surround the table name on the left and right side. +
88
+
For example the escape pattern `"\""` will have the same effect as the escape pattern `"\"?\""`.
89
+
|This property was not compatible with the <<qualifiedtablenames,qualified table names>> feature until 2.2.1. Since then the two properties can be mixed resulting in each element properly escaped.
|Used to configure the list of table types recognized by DbUnit, as a `String[]`. See link:https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getTables(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String%5B%5D)[java.sql.DatabaseMetaData.getTables()] for possible values.
|Used to configure the DataType factory. You can replace the default factory to add support for non-standard database vendor data types. The Object must implement link:apidocs/org/dbunit/dataset/datatype/IDataTypeFactory.html[org.dbunit.dataset.datatype.IDataTypeFactory].
99
+
|The following factories are currently available: +
To create your own data type factory, see the generic base implementation at link:apidocs/org/dbunit/dataset/datatype/DefaultDataTypeFactory.html[org.dbunit.dataset.datatype.DefaultDataTypeFactory].
|Used to configure the statement factory. The Object must implement link:apidocs/org/dbunit/database/statement/IStatementFactory.html[org.dbunit.database.statement.IStatementFactory].
|Used to configure the ResultSet table factory. The Object must implement link:apidocs/org/dbunit/database/IResultSetTableFactory.html[org.dbunit.database.IResultSetTableFactory].
|Use to override primary keys detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
|Use to override IDENTITY column detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
|Used to configure the handler used to control database metadata related methods. The Object must implement link:apidocs/org/dbunit/database/IMetadataHandler.html[org.dbunit.database.IMetadataHandler].
145
+
|The following RDBMS specific handlers are currently available: +
For all others the default handler should do the job: link:apidocs/org/dbunit/database/DefaultMetadataHandler.html[org.dbunit.database.DefaultMetadataHandler].
|Property ID |http://www.dbunit.org/properties/allowVerifytabledefinitionExpectedtableCountMismatch
233
-
|Default |false
234
-
|Description |By default, link:apidocs/org/dbunit/DefaultPrepAndExpectedTestCase.html[DefaultPrepAndExpectedTestCase] fails the test when the expected dataset has more tables than the supplied link:apidocs/org/dbunit/VerifyTableDefinition.html[VerifyTableDefinition]s — a safety net for an expected table that was defined but never wired to a VerifyTableDefinition, which would otherwise be silently skipped during verification. Set this property to true to relax that check and allow the counts to disagree.
|By default, link:apidocs/org/dbunit/DefaultPrepAndExpectedTestCase.html[DefaultPrepAndExpectedTestCase] fails the test when the expected dataset has more tables than the supplied link:apidocs/org/dbunit/VerifyTableDefinition.html[VerifyTableDefinition]s — a safety net for an expected table that was defined but never wired to a VerifyTableDefinition, which would otherwise be silently skipped during verification. Set this property to true to relax that check and allow the counts to disagree.
0 commit comments