[improvement](statistics)Support get oracle jdbc row count. (#45214) (#46133)

backport: https://github.com/apache/doris/pull/45214
This commit is contained in:
James
2024-12-29 22:17:57 +08:00
committed by GitHub
parent 6dd92be33d
commit a490a366e4
2 changed files with 35 additions and 0 deletions

View File

@ -67,6 +67,9 @@ public class JdbcExternalTable extends ExternalTable {
public static final String SQLSERVER_ROW_COUNT_SQL = "SELECT sum(rows) as rows FROM sys.partitions "
+ "WHERE object_id = (SELECT object_id('${dbName}.${tblName}')) AND index_id IN (0, 1)";
public static final String ORACLE_ROW_COUNT_SQL = "SELECT NUM_ROWS as \\\"rows\\\" FROM ALL_TABLES WHERE "
+ "OWNER = '${dbName}' and TABLE_NAME = '${tblName}'";
public static final String FETCH_ROW_COUNT_TEMPLATE = "SELECT * FROM QUERY"
+ "(\"catalog\"=\"${ctlName}\", \"query\"=\"${sql}\");";
@ -211,6 +214,8 @@ public class JdbcExternalTable extends ExternalTable {
params.put("sql", SQLSERVER_ROW_COUNT_SQL);
return getRowCount(params);
case JdbcResource.ORACLE:
params.put("sql", ORACLE_ROW_COUNT_SQL);
return getRowCount(params);
default:
break;
}