Conversation
WalkthroughThis pull request updates MariaDB configuration documentation across six Identity Server versions (6.0.0, 6.1.0, 7.0.0, 7.1.0, 7.2.0, and next) by adding JDBC URL parameters and pool options, restructuring introductory guidance to reference MySQL documentation, and applying minor formatting adjustments. Changes
Estimated Code Review Effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Updates MariaDB setup documentation across multiple WSO2 Identity Server versions to align MariaDB guidance with MySQL documentation and adjust sample deployment.toml settings.
Changes:
- Replace MariaDB-specific step list with a reference to the existing “Changing to MySQL” guide.
- Update sample JDBC URLs to include
useBulkStmts=false. - Add/align connection pool options (
defaultAutoCommit/commitOnReturn) and tidy minor formatting.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md | Points MariaDB users to MySQL doc and updates sample deployment.toml for MariaDB. |
| en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md | Same doc updates applied to 7.2.0 branch docs. |
| en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md | Same doc updates applied to 7.1.0 branch docs. |
| en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md | Same doc updates applied to 7.0.0 branch docs. |
| en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md | Same doc updates applied to 6.1.0 branch docs (different include syntax). |
| en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md | Same doc updates applied to 6.0.0 branch docs (different include syntax). |
You can also share your feedback on Copilot code review. Take the survey.
|
|
||
| By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Given below are the steps | ||
| you need to follow in order to use MariaDB. | ||
| By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. |
There was a problem hiding this comment.
This sentence states MariaDB uses the same “scripts, drivers, and configurations” as MySQL, but the remainder of this page shows MariaDB-specific configuration differences (e.g., type = \"mariadb\", MariaDB JDBC URL, pool options). Consider rewording to avoid contradiction (e.g., “use the same scripts/steps as MySQL, but use the MariaDB driver and the MariaDB-specific deployment.toml settings below”). Apply the same clarification to the equivalent paragraph in the versioned docs.
| By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. | |
| By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. To use MariaDB instead of the embedded H2 database, follow the same steps described in [Changing to MySQL](change-to-mysql.md), but use the MariaDB driver and the MariaDB-specific `deployment.toml` settings shown below. |
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
The new useBulkStmts=false parameter can materially change insert/update behavior and may reduce performance in some workloads. Please add a short note explaining why this is required/recommended (ideally tying it to the linked issue) and whether it’s mandatory for all MariaDB deployments or only for specific connector/server versions.
| [database.shared_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
The new useBulkStmts=false parameter can materially change insert/update behavior and may reduce performance in some workloads. Please add a short note explaining why this is required/recommended (ideally tying it to the linked issue) and whether it’s mandatory for all MariaDB deployments or only for specific connector/server versions.
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" | ||
| username = "root" | ||
| password = "mypass" |
There was a problem hiding this comment.
The sample configuration hard-codes a private IP (172.17.0.2), a specific database name (elevbeta3snap1), and uses root credentials. For documentation, it’s safer and more reusable to use placeholders (e.g., DB_HOST, DB_PORT, DB_NAME, DB_USER) and/or a non-root example user.
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" | ||
| username = "root" | ||
| password = "mypass" |
There was a problem hiding this comment.
The sample configuration hard-codes a private IP (172.17.0.2), a specific database name (elevbeta3snap1), and uses root credentials. For documentation, it’s safer and more reusable to use placeholders (e.g., DB_HOST, DB_PORT, DB_NAME, DB_USER) and/or a non-root example user.
| defaultAutoCommit=false | ||
| commitOnReturn=true |
There was a problem hiding this comment.
The newly added pool options use a different TOML style than adjacent lines (missing spaces around =). Consider formatting consistently (e.g., defaultAutoCommit = false, commitOnReturn = true) to improve readability, and mirror the same formatting across the versioned copies of this doc.
| defaultAutoCommit=false | ||
| commitOnReturn=true |
There was a problem hiding this comment.
The newly added pool options use a different TOML style than adjacent lines (missing spaces around =). Consider formatting consistently (e.g., defaultAutoCommit = false, commitOnReturn = true) to improve readability, and mirror the same formatting across the versioned copies of this doc.
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (6)
en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md` at line 3, Replace the phrase "in order to" with "to" in the sentence that reads "Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database." so it becomes more concise and follows the plain-language guideline; update the sentence in the file where that exact phrase appears.en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md` at line 3, Update the sentence that reads "Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database." by replacing "in order to" with "to" so it reads "...[Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database."; locate the phrase "in order to" in the document and make the single-word substitution to simplify the language.en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md` at line 3, The sentence currently uses the phrase "in order to" which is wordy; edit the sentence that mentions "in order to use MariaDB instead of the embedded H2 database." and replace "in order to" with "to" so it reads "...Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database." Ensure only that phrase is changed and punctuation/links remain intact.en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md` at line 3, Replace the phrase "in order to use MariaDB instead of the embedded H2 database" with the concise wording "to use MariaDB instead of the embedded H2 database" in the sentence that begins "By default, WSO2 Identity Server uses the embedded H2 database..." so the sentence reads more plainly and follows the project's "plain language and short sentences" guideline.en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md` at line 3, The sentence containing "in order to" is wordy; replace "in order to" with "to" in the sentence that starts "Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database." so it reads "...change-to-mysql.md) to use MariaDB instead of the embedded H2 database."en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md (1)
3-3: Simplify the phrase for conciseness.Replace "in order to" with "to" for more concise, plain language.
✏️ Proposed simplification
-By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2 database. +By default, WSO2 Identity Server uses the embedded H2 database as the database for storing user management and registry data. Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the embedded H2 database.As per coding guidelines: "Use plain language and short sentences".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md` at line 3, Update the sentence in the document that currently reads "...Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to use MariaDB..." by replacing "in order to" with "to" so it reads "...Follow the same steps and use the same database scripts, drivers, and configurations given in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB..." to make the phrasing concise and align with the plain-language guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md`:
- Line 25: The JDBC URL shown (the line containing url = "jdbc:mariadb://...
?useBulkStmts=false") includes the MariaDB-specific parameter useBulkStmts=false
but lacks documentation; update the docs to describe what useBulkStmts controls
(whether the driver uses multi-row bulk INSERT statements versus single-row
statements), state the default (driver default, e.g., true unless overridden),
list valid values (true|false, boolean), show a minimal example (the existing
URL snippet with useBulkStmts=false), explain the constraint/type (boolean), and
explicitly state why WSO2 Identity Server requires it set to false (e.g., to
avoid incompatible multi-row bulk statements that break schema/parameter
handling in IS) and whether this is required universally for MariaDB or only in
specific scenarios (clarify scope and when to change it).
In `@en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md`:
- Line 25: Add a short documented note explaining the JDBC parameter
useBulkStmts used in the URL (e.g., url =
"jdbc:mariadb://.../elevbeta3snap1?useBulkStmts=false"): state that useBulkStmts
is a boolean connector option (allowed values true|false, default true for the
MariaDB connector), describe that it controls whether multiple SQL statements
are sent as a single bulk statement vs. individual statements, explain that WSO2
Identity Server requires useBulkStmts=false to avoid bulk-statement behavior
that can break transaction semantics and parameter binding during schema or data
migrations, give a minimal example showing the URL with useBulkStmts=false, and
note that users should only change it if they understand their connector and
transaction requirements (i.e., leave false for typical IS MariaDB deployments).
In
`@en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 25: The JDBC URL in the docs contains the MariaDB-specific parameter
useBulkStmts=false but the document doesn't explain it; update the text around
the shown JDBC URL to (1) define what useBulkStmts controls (whether the
connector batches multiple statements into a single multi-value INSERT/UPDATE vs
sending them individually), (2) state its default value and allowed values
(boolean: true|false), (3) give a minimal example showing the JDBC URL with
useBulkStmts=false, (4) explain why WSO2 Identity Server requires it set to
false (e.g., to avoid connector batching that breaks server-side
transactional/statement semantics or conflicts with WSO2 DB schema operations),
and (5) clarify scope (whether this is required for all MariaDB deployments or
only specific scenarios/connector versions); reference the JDBC URL and the
MariaDB connector/useBulkStmts symbols so readers can find and understand the
setting.
In
`@en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 25: The JDBC URL in the example adds the MariaDB-specific parameter
useBulkStmts=false but the doc lacks explanation; update the text around the URL
(referencing the JDBC string and the parameter name useBulkStmts) to describe
what useBulkStmts controls (toggles server-side bulk statement optimization),
state the default value (true for MariaDB connector), list allowed values
(true|false) and type (boolean), explain WSO2 Identity Server requires it set to
false to avoid bulk-statement behavior that breaks transactional/DDL semantics
during schema operations, and add a minimal example showing the URL with
useBulkStmts=false and a short note when to change it (only change if you
understand connector behavior and after testing).
In
`@en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 25: Update the documentation around the JDBC URL (the url line containing
useBulkStmts=false) to explain the useBulkStmts parameter: state that
useBulkStmts is a MariaDB connector flag controlling whether multiple batched
INSERT/UPDATE statements are sent as a single bulk statement (default true for
the connector), list allowed values (true|false, boolean), note constraints
(boolean only), give a minimal example showing url =
"jdbc:mariadb://host:3306/db?useBulkStmts=false", and explicitly state why WSO2
Identity Server requires useBulkStmts=false (e.g., to avoid connector-specific
bulk-statement behavior that breaks transaction/SQL compatibility with the
server’s schema/queries) and whether this should be applied to all MariaDB
deployments or only specific scenarios (recommend false by default for WSO2 IS
unless users know their MariaDB connector/SQL usage supports bulk statements).
In
`@en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 25: The JDBC URL examples that include useBulkStmts=false (e.g., the url
string "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false") need
an explanatory note: add a short paragraph after the URL explaining what
useBulkStmts controls (bulk/batched statement execution), its default value,
valid values/type (boolean), when to change it, a minimal example showing the
URL with and without the parameter, and explicitly state why WSO2 Identity
Server requires it set to false for correct operation in our deployment; update
the corresponding other occurrence referenced (40-40) as well.
---
Nitpick comments:
In `@en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md`:
- Line 3: Update the sentence that reads "Follow the same steps and use the same
database scripts, drivers, and configurations given in the documentation:
[Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the
embedded H2 database." by replacing "in order to" with "to" so it reads
"...[Changing to MySQL](change-to-mysql.md) to use MariaDB instead of the
embedded H2 database."; locate the phrase "in order to" in the document and make
the single-word substitution to simplify the language.
In `@en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md`:
- Line 3: Update the sentence in the document that currently reads "...Follow
the same steps and use the same database scripts, drivers, and configurations
given in the documentation: [Changing to MySQL](change-to-mysql.md) in order to
use MariaDB..." by replacing "in order to" with "to" so it reads "...Follow the
same steps and use the same database scripts, drivers, and configurations given
in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB..."
to make the phrasing concise and align with the plain-language guideline.
In
`@en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 3: Replace the phrase "in order to" with "to" in the sentence that reads
"Follow the same steps and use the same database scripts, drivers, and
configurations given in the documentation: [Changing to
MySQL](change-to-mysql.md) in order to use MariaDB instead of the embedded H2
database." so it becomes more concise and follows the plain-language guideline;
update the sentence in the file where that exact phrase appears.
In
`@en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 3: Replace the phrase "in order to use MariaDB instead of the embedded H2
database" with the concise wording "to use MariaDB instead of the embedded H2
database" in the sentence that begins "By default, WSO2 Identity Server uses the
embedded H2 database..." so the sentence reads more plainly and follows the
project's "plain language and short sentences" guideline.
In
`@en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 3: The sentence currently uses the phrase "in order to" which is wordy;
edit the sentence that mentions "in order to use MariaDB instead of the embedded
H2 database." and replace "in order to" with "to" so it reads "...Follow the
same steps and use the same database scripts, drivers, and configurations given
in the documentation: [Changing to MySQL](change-to-mysql.md) to use MariaDB
instead of the embedded H2 database." Ensure only that phrase is changed and
punctuation/links remain intact.
In
`@en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`:
- Line 3: The sentence containing "in order to" is wordy; replace "in order to"
with "to" in the sentence that starts "Follow the same steps and use the same
database scripts, drivers, and configurations given in the documentation:
[Changing to MySQL](change-to-mysql.md) in order to use MariaDB instead of the
embedded H2 database." so it reads "...change-to-mysql.md) to use MariaDB
instead of the embedded H2 database."
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 57b07bf5-2e97-4625-b5a4-8772fb2d00a5
📒 Files selected for processing (6)
en/identity-server/6.0.0/docs/deploy/change-to-mariadb.mden/identity-server/6.1.0/docs/deploy/change-to-mariadb.mden/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.mden/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.mden/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.mden/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@en/identity-server/6.0.0/docs/deploy/change-to-mariadb.md` at line 25, The
JDBC URL shown (the line containing url = "jdbc:mariadb://...
?useBulkStmts=false") includes the MariaDB-specific parameter useBulkStmts=false
but lacks documentation; update the docs to describe what useBulkStmts controls
(whether the driver uses multi-row bulk INSERT statements versus single-row
statements), state the default (driver default, e.g., true unless overridden),
list valid values (true|false, boolean), show a minimal example (the existing
URL snippet with useBulkStmts=false), explain the constraint/type (boolean), and
explicitly state why WSO2 Identity Server requires it set to false (e.g., to
avoid incompatible multi-row bulk statements that break schema/parameter
handling in IS) and whether this is required universally for MariaDB or only in
specific scenarios (clarify scope and when to change it).
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@en/identity-server/6.1.0/docs/deploy/change-to-mariadb.md` at line 25, Add a
short documented note explaining the JDBC parameter useBulkStmts used in the URL
(e.g., url = "jdbc:mariadb://.../elevbeta3snap1?useBulkStmts=false"): state that
useBulkStmts is a boolean connector option (allowed values true|false, default
true for the MariaDB connector), describe that it controls whether multiple SQL
statements are sent as a single bulk statement vs. individual statements,
explain that WSO2 Identity Server requires useBulkStmts=false to avoid
bulk-statement behavior that can break transaction semantics and parameter
binding during schema or data migrations, give a minimal example showing the URL
with useBulkStmts=false, and note that users should only change it if they
understand their connector and transaction requirements (i.e., leave false for
typical IS MariaDB deployments).
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@en/identity-server/7.0.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`
at line 25, The JDBC URL in the docs contains the MariaDB-specific parameter
useBulkStmts=false but the document doesn't explain it; update the text around
the shown JDBC URL to (1) define what useBulkStmts controls (whether the
connector batches multiple statements into a single multi-value INSERT/UPDATE vs
sending them individually), (2) state its default value and allowed values
(boolean: true|false), (3) give a minimal example showing the JDBC URL with
useBulkStmts=false, (4) explain why WSO2 Identity Server requires it set to
false (e.g., to avoid connector batching that breaks server-side
transactional/statement semantics or conflicts with WSO2 DB schema operations),
and (5) clarify scope (whether this is required for all MariaDB deployments or
only specific scenarios/connector versions); reference the JDBC URL and the
MariaDB connector/useBulkStmts symbols so readers can find and understand the
setting.
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@en/identity-server/7.1.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`
at line 25, The JDBC URL in the example adds the MariaDB-specific parameter
useBulkStmts=false but the doc lacks explanation; update the text around the URL
(referencing the JDBC string and the parameter name useBulkStmts) to describe
what useBulkStmts controls (toggles server-side bulk statement optimization),
state the default value (true for MariaDB connector), list allowed values
(true|false) and type (boolean), explain WSO2 Identity Server requires it set to
false to avoid bulk-statement behavior that breaks transactional/DDL semantics
during schema operations, and add a minimal example showing the URL with
useBulkStmts=false and a short note when to change it (only change if you
understand connector behavior and after testing).
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@en/identity-server/7.2.0/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`
at line 25, Update the documentation around the JDBC URL (the url line
containing useBulkStmts=false) to explain the useBulkStmts parameter: state that
useBulkStmts is a MariaDB connector flag controlling whether multiple batched
INSERT/UPDATE statements are sent as a single bulk statement (default true for
the connector), list allowed values (true|false, boolean), note constraints
(boolean only), give a minimal example showing url =
"jdbc:mariadb://host:3306/db?useBulkStmts=false", and explicitly state why WSO2
Identity Server requires useBulkStmts=false (e.g., to avoid connector-specific
bulk-statement behavior that breaks transaction/SQL compatibility with the
server’s schema/queries) and whether this should be applied to all MariaDB
deployments or only specific scenarios (recommend false by default for WSO2 IS
unless users know their MariaDB connector/SQL usage supports bulk statements).
| [database.identity_db] | ||
| type = "mariadb" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1" | ||
| url = "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false" |
There was a problem hiding this comment.
Document the useBulkStmts=false parameter.
The JDBC URLs now include useBulkStmts=false, which is specific to the MariaDB connector and not mentioned in the referenced MySQL documentation. Users following the MySQL guide won't understand why this parameter is required or what it controls.
Consider adding a brief explanation or note describing:
- What
useBulkStmtscontrols - Why it must be set to
falsefor WSO2 Identity Server - Whether this is required for all MariaDB deployments or specific scenarios
As per coding guidelines: "When documenting configuration, describe what the setting controls, state the default value, state constraints (type, valid range, allowed values), provide a minimal example, and explain when the user should change it".
Also applies to: 40-40
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@en/identity-server/next/docs/deploy/configure/databases/carbon-database/change-to-mariadb.md`
at line 25, The JDBC URL examples that include useBulkStmts=false (e.g., the url
string "jdbc:mariadb://172.17.0.2:3306/elevbeta3snap1?useBulkStmts=false") need
an explanatory note: add a short paragraph after the URL explaining what
useBulkStmts controls (bulk/batched statement execution), its default value,
valid values/type (boolean), when to change it, a minimal example showing the
URL with and without the parameter, and explicitly state why WSO2 Identity
Server requires it set to false for correct operation in our deployment; update
the corresponding other occurrence referenced (40-40) as well.
Purpose
Related issue
Summary by CodeRabbit