Skip to content

Commit 76a55bc

Browse files
committed
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
1 parent 80de43f commit 76a55bc

2 files changed

Lines changed: 111 additions & 188 deletions

File tree

src/changes/changes.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@
8686
<action dev="jeffjensen" type="update" issue="863" system="github" due-to="jeffjensen">
8787
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.
8888
</action>
89+
<action dev="jeffjensen" type="update" issue="864" system="github" due-to="jeffjensen">
90+
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>
8992
</release>
9093
<release version="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">
9194
<action dev="jeffjensen" type="fix" issue="797" system="github" due-to="jeffjensen">

src/site/asciidoc/properties.adoc

Lines changed: 108 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -27,209 +27,129 @@ else
2727

2828
Each Feature Flag ID and Property ID has a corresponding constant on link:apidocs/org/dbunit/database/DatabaseConfig.html[DatabaseConfig].
2929

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.
4436

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
5438

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.
39+
[cols="2,3,1,4", options="header"]
6140
|===
41+
|Flag |Feature ID |Default |Description
6242

63-
[#typewarning]
64-
=== DataType Warning
43+
|anchor:batchstatement[]`FEATURE_BATCHED_STATEMENTS`
44+
|http://www.dbunit.org/features/batchedStatements
45+
|false
46+
|Enable or disable usage of JDBC batched statement by DbUnit.
6547

66-
[cols="1,3"]
67-
|===
68-
|Feature ID |http://www.dbunit.org/features/datatypeWarning
69-
|Default |true
70-
|Description |Enable or disable the warning message displayed when DbUnit encounter an unsupported data type.
71-
|===
48+
|anchor:casesensitivetablenames[]`FEATURE_CASE_SENSITIVE_TABLE_NAMES`
49+
|http://www.dbunit.org/features/caseSensitiveTableNames
50+
|false
51+
|Enable or disable case sensitive table names. If enabled, Dbunit handles all table names in a case sensitive way.
7252

73-
[#skiporaclereyclebintables]
74-
=== Skip Oracle 10g Recyclebin Tables
53+
|anchor:qualifiedtablenames[]`FEATURE_QUALIFIED_TABLE_NAMES`
54+
|http://www.dbunit.org/features/qualifiedTableNames
55+
|false
56+
|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.
7558

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.
8263

83-
[#allowemptyfields]
84-
=== Allow Empty Fields
64+
|anchor:skiporaclereyclebintables[]`FEATURE_SKIP_ORACLE_RECYCLEBIN_TABLES`
65+
|http://www.dbunit.org/features/skipOracleRecycleBinTables
66+
|false
67+
|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.
8568

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 ('').
69+
|anchor:allowemptyfields[]`FEATURE_ALLOW_EMPTY_FIELDS`
70+
|http://www.dbunit.org/features/allowEmptyFields
71+
|false
72+
|Allow to call INSERT/UPDATE with empty strings ('').
9173
|===
9274

9375
== Properties
9476

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"]
12278
|===
79+
|Property ID |Default |Description |Note
12380

124-
[#typefactory]
125-
=== DataType Factory
126-
127-
[cols="1,3"]
128-
|===
129-
|Property ID |http://www.dbunit.org/properties/datatypeFactory
130-
|Default |org.dbunit.dataset.datatype.DefaultDataTypeFactory
131-
|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:
134-
135-
* link:apidocs/org/dbunit/ext/db2/Db2DataTypeFactory.html[org.dbunit.ext.db2.Db2DataTypeFactory]
136-
* link:apidocs/org/dbunit/ext/h2/H2DataTypeFactory.html[org.dbunit.ext.h2.H2DataTypeFactory]
137-
* link:apidocs/org/dbunit/ext/hsqldb/HsqldbDataTypeFactory.html[org.dbunit.ext.hsqldb.HsqldbDataTypeFactory]
138-
* link:apidocs/org/dbunit/ext/mckoi/MckoiDataTypeFactory.html[org.dbunit.ext.mckoi.MckoiDataTypeFactory]
139-
* link:apidocs/org/dbunit/ext/mssql/MsSqlDataTypeFactory.html[org.dbunit.ext.mssql.MsSqlDataTypeFactory]
140-
* link:apidocs/org/dbunit/ext/mysql/MySqlDataTypeFactory.html[org.dbunit.ext.mysql.MySqlDataTypeFactory]
141-
* link:apidocs/org/dbunit/ext/oracle/OracleDataTypeFactory.html[org.dbunit.ext.oracle.OracleDataTypeFactory]
142-
* link:apidocs/org/dbunit/ext/oracle/Oracle10DataTypeFactory.html[org.dbunit.ext.oracle.Oracle10DataTypeFactory]
143-
* link:apidocs/org/dbunit/ext/postgresql/PostgresqlDataTypeFactory.html[org.dbunit.ext.postgresql.PostgresqlDataTypeFactory]
144-
* link:apidocs/org/dbunit/ext/netezza/NetezzaDataTypeFactory.html[org.dbunit.ext.netezza.NetezzaDataTypeFactory]
145-
146-
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
155-
|Default |org.dbunit.database.statement.PreparedStatementFactory
156-
|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
165-
|Default |org.dbunit.database.CachedResultSetTableFactory
166-
|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
215-
|Default |org.dbunit.database.DefaultMetadataHandler
216-
|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:
219-
220-
* link:apidocs/org/dbunit/ext/db2/Db2MetadataHandler.html[org.dbunit.ext.db2.Db2MetadataHandler]
221-
* link:apidocs/org/dbunit/ext/mysql/MySqlMetadataHandler.html[org.dbunit.ext.mysql.MySqlMetadataHandler]
222-
* link:apidocs/org/dbunit/ext/netezza/NetezzaMetadataHandler.html[org.dbunit.ext.netezza.NetezzaMetadataHandler]
223-
81+
|anchor:escapepattern[]http://www.dbunit.org/properties/escapePattern
82+
|_none_
83+
|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.
90+
91+
|anchor:tabletype[]http://www.dbunit.org/properties/tableType
92+
|String[]{"TABLE"}
93+
|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.
94+
|
95+
96+
|anchor:typefactory[]http://www.dbunit.org/properties/datatypeFactory
97+
|org.dbunit.dataset.datatype.DefaultDataTypeFactory
98+
|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: +
100+
link:apidocs/org/dbunit/ext/db2/Db2DataTypeFactory.html[org.dbunit.ext.db2.Db2DataTypeFactory] +
101+
link:apidocs/org/dbunit/ext/h2/H2DataTypeFactory.html[org.dbunit.ext.h2.H2DataTypeFactory] +
102+
link:apidocs/org/dbunit/ext/hsqldb/HsqldbDataTypeFactory.html[org.dbunit.ext.hsqldb.HsqldbDataTypeFactory] +
103+
link:apidocs/org/dbunit/ext/mckoi/MckoiDataTypeFactory.html[org.dbunit.ext.mckoi.MckoiDataTypeFactory] +
104+
link:apidocs/org/dbunit/ext/mssql/MsSqlDataTypeFactory.html[org.dbunit.ext.mssql.MsSqlDataTypeFactory] +
105+
link:apidocs/org/dbunit/ext/mysql/MySqlDataTypeFactory.html[org.dbunit.ext.mysql.MySqlDataTypeFactory] +
106+
link:apidocs/org/dbunit/ext/oracle/OracleDataTypeFactory.html[org.dbunit.ext.oracle.OracleDataTypeFactory] +
107+
link:apidocs/org/dbunit/ext/oracle/Oracle10DataTypeFactory.html[org.dbunit.ext.oracle.Oracle10DataTypeFactory] +
108+
link:apidocs/org/dbunit/ext/postgresql/PostgresqlDataTypeFactory.html[org.dbunit.ext.postgresql.PostgresqlDataTypeFactory] +
109+
link:apidocs/org/dbunit/ext/netezza/NetezzaDataTypeFactory.html[org.dbunit.ext.netezza.NetezzaDataTypeFactory] +
110+
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].
111+
112+
|anchor:statementfactory[]http://www.dbunit.org/properties/statementFactory
113+
|org.dbunit.database.statement.PreparedStatementFactory
114+
|Used to configure the statement factory. The Object must implement link:apidocs/org/dbunit/database/statement/IStatementFactory.html[org.dbunit.database.statement.IStatementFactory].
115+
|
116+
117+
|anchor:resultsettablefactory[]http://www.dbunit.org/properties/resultSetTableFactory
118+
|org.dbunit.database.CachedResultSetTableFactory
119+
|Used to configure the ResultSet table factory. The Object must implement link:apidocs/org/dbunit/database/IResultSetTableFactory.html[org.dbunit.database.IResultSetTableFactory].
120+
|
121+
122+
|anchor:primarykeysfilter[]http://www.dbunit.org/properties/primaryKeyFilter
123+
|_none_
124+
|Use to override primary keys detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
125+
|
126+
127+
|anchor:identitycolumnfilter[]http://www.dbunit.org/properties/mssql/identityColumnFilter
128+
|_none_
129+
|Use to override IDENTITY column detection. The Object must implement link:apidocs/org/dbunit/dataset/filter/IColumnFilter.html[org.dbunit.dataset.filter.IColumnFilter].
130+
|
131+
132+
|anchor:batchsize[]http://www.dbunit.org/properties/batchSize
133+
|_100_
134+
|Integer object giving the size of batch updates.
135+
|
136+
137+
|anchor:fetchsize[]http://www.dbunit.org/properties/fetchSize
138+
|_100_
139+
|Integer object giving the statement fetch size for loading data into a result set table.
140+
|
141+
142+
|anchor:metadatahandler[]http://www.dbunit.org/properties/metadataHandler
143+
|org.dbunit.database.DefaultMetadataHandler
144+
|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: +
146+
link:apidocs/org/dbunit/ext/db2/Db2MetadataHandler.html[org.dbunit.ext.db2.Db2MetadataHandler] +
147+
link:apidocs/org/dbunit/ext/mysql/MySqlMetadataHandler.html[org.dbunit.ext.mysql.MySqlMetadataHandler] +
148+
link:apidocs/org/dbunit/ext/netezza/NetezzaMetadataHandler.html[org.dbunit.ext.netezza.NetezzaMetadataHandler] +
224149
For all others the default handler should do the job: link:apidocs/org/dbunit/database/DefaultMetadataHandler.html[org.dbunit.database.DefaultMetadataHandler].
225-
|===
226-
227-
[#allowverifytabledefinitionexpectedtablecountmismatch]
228-
=== Allow VerifyTableDefinition/Expected Table Count Mismatch
229150

230-
[cols="1,3"]
231-
|===
232-
|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.
151+
|anchor:allowverifytabledefinitionexpectedtablecountmismatch[]http://www.dbunit.org/properties/allowVerifytabledefinitionExpectedtableCountMismatch
152+
|false
153+
|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.
154+
|
235155
|===

0 commit comments

Comments
 (0)