{"record":{"id":"6b381ac795bd5a30","repo":"apache/incubator-seata","slug":"pageutil-not-support-this-dbtype-dbtype","errorCode":null,"errorMessage":"\"PageUtil not support this dbType:\" + dbType","messagePattern":"\"PageUtil not support this dbType:\" \\+ dbType","errorType":"exception","errorClass":"NotSupportYetException","httpStatus":null,"severity":"error","filePath":"common/src/main/java/org/apache/seata/common/util/PageUtil.java","lineNumber":133,"sourceCode":"            case \"oceanbase\":\n            case \"dm\":\n            case \"oscar\":\n                return LIMIT_TEMPLATE\n                        .replace(SOURCE_SQL_PLACE_HOLD, sourceSql)\n                        .replace(LIMIT_PLACE_HOLD, String.valueOf(pageSize))\n                        .replace(OFFSET_PLACE_HOLD, String.valueOf((pageNum - 1) * pageSize));\n            case \"oracle\":\n                return ORACLE_PAGE_TEMPLATE\n                        .replace(SOURCE_SQL_PLACE_HOLD, sourceSql)\n                        .replace(START_PLACE_HOLD, String.valueOf(pageSize * (pageNum - 1) + 1))\n                        .replace(END_PLACE_HOLD, String.valueOf(pageSize * pageNum));\n            case \"sqlserver\":\n                return SQLSERVER_PAGE_TEMPLATE\n                        .replace(SOURCE_SQL_PLACE_HOLD, sourceSql)\n                        .replace(START_PLACE_HOLD, String.valueOf(pageSize * (pageNum - 1) + 1))\n                        .replace(END_PLACE_HOLD, String.valueOf(pageSize * pageNum));\n            default:\n                throw new NotSupportYetException(\"PageUtil not support this dbType:\" + dbType);\n        }\n    }\n\n    /**\n     * get countsql\n     *\n     * @param sourceSql the source sql\n     * @param dbType the db type\n     * @return the count sql\n     */\n    public static String countSql(String sourceSql, String dbType) {\n        switch (dbType) {\n            case \"mysql\":\n            case \"h2\":\n            case \"oceanbase\":\n            case \"oracle\":\n            case \"dm\":\n            case \"oscar\":","sourceCodeStart":115,"sourceCodeEnd":151,"githubUrl":"https://github.com/apache/incubator-seata/blob/e01f97c6db397165050caa6764020410c2c8199a/common/src/main/java/org/apache/seata/common/util/PageUtil.java#L115-L151","documentation":"PageUtil.pageSql builds a dialect-specific paging wrapper (LIMIT/OFFSET for mysql, ROWNUM for oracle, ROW_NUMBER for sqlserver) around a source SQL. If the dbType switch matches none of the supported dialects, it throws NotSupportYetException(\"PageUtil not support this dbType:\" + dbType), signalling the store type has no paging template yet.","triggerScenarios":"Calling PageUtil.pageSql(sourceSql, dbType) with an unsupported/misspelled dbType — e.g. \"h2\", \"db2\", \"sqlite\", or a wrong-case/aliased value that misses the case labels (the switch is on the raw string, so casing matters).","commonSituations":"Connecting the Seata console/store to a database not in the supported list, or a custom store.db.dbType value with a typo or different case than expected.","solutions":["Use one of the supported dbTypes for paging queries: mysql, oracle, sqlserver (check the full case list in PageUtil.pageSql, including postgres variants if present in your version)","Fix typos/casing in the store.db.dbType configuration","If you genuinely need another dialect, contribute or implement a paging template upstream instead of bypassing the check"],"exampleFix":"# before (config)\nstore.db.dbType = H2\n\n# after\nstore.db.dbType = mysql","handlingStrategy":"type-guard","validationCode":"Set<String> PAGING_DB = Set.of(\"mysql\", \"oracle\", \"sqlserver\");\nif (!PAGING_DB.contains(dbType)) throw new NotSupportYetException(\"no paging template for \" + dbType);\nPageUtil.pageSql(sql, dbType);","typeGuard":"static boolean isPagingSupported(String dbType) { return dbType != null && Set.of(\"mysql\",\"oracle\",\"sqlserver\").contains(dbType.toLowerCase()); }","tryCatchPattern":"try { sql = PageUtil.pageSql(src, dbType); } catch (NotSupportYetException e) { throw new ConfigurationException(\"unsupported store dbType: \" + dbType, e); }","preventionTips":["Validate store.db.dbType against PageUtil's supported set at startup","Keep dbType values lowercase and exact","Check the PageUtil switch for your Seata version before choosing a database"],"tags":["pagination","database","dialect","not-supported"],"backgroundTag":null,"analyzedSha":"e01f97c6db397165050caa6764020410c2c8199a","analyzedAt":"2026-08-14T10:23:53.097Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}