patch jdbc 3.0.0

This commit is contained in:
zhang_xubo
2022-03-16 14:50:44 +08:00
parent 60a32d8578
commit dfb28e8665
75 changed files with 6639 additions and 2877 deletions

View File

@ -25,6 +25,12 @@ public enum PGProperty {
PG_CLIENT_LOGIC("enable_ce", null,
"value of 1 is used to turn on the client logic driver feature", false),
/**
* whether to refresh the client encryption cache when invoke PgConnection.isValid method
*/
REFRESH_CLIENT_ENCRYPTION("refreshClientEncryption", null,
"refresh the client encryption cache when invoke PgConnection.isValid method", true),
/**
* Database name to connect to (may be specified directly in the JDBC URL).
*/
@ -382,10 +388,22 @@ public enum PGProperty {
"any", "master", "slave", "secondary", "preferSlave", "preferSecondary"),
/**
* Specify the number of nodes to be connected first
* In providing a unified application for multiple CNs, the entrance of the requesting program in the client brings
* together similar CN services, so that all requests in the application are balanced.
*/
AUTO_BALANCE("autoBalance", null, "Distribute connections evenly on CN"),
/**
* Specify the number of nodes to be connected first.
*/
PRIORITY_SERVERS("priorityServers",null,"Specify the number of nodes to be connected first"),
/**
* Specifies the name of obtain trace id interface class that forms the interface class part of the link trace
* service.
*/
TRACE_INTERFACE_CLASS("traceInterfaceClass", null, "Used to generate the trace id"),
/**
* When using the priority load balancing feature, if use the node_host field of the pgxc_node table
* Load balancing feature will be invalid, So we use EIP uniformly unless data IP must be used.
@ -458,9 +476,13 @@ public enum PGProperty {
* Supported TLS cipher suites
*/
TLS_CIPHERS_SUPPERTED("TLSCiphersSupperted",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,"
+ "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,",
"Supported TLS cipher suites"),
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,"
+ "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,"
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,"
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,"
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,"
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"Supported TLS cipher suites"),
/**
* Factory class to instantiate factories for XML processing.
@ -473,6 +495,38 @@ public enum PGProperty {
"",
"Factory class to instantiate factories for XML processing"),
/**
* Valid only when the client enables full encryption
* To access HuaweiCloud KMS, need to access HuaweiCloud IAM for identity authentication.
* This parameter is used to set the IAM user.
*/
IAM_USER("iamUser", null,
"Username to connect to HuaweiCloud IAM and KMS as."),
/**
* To set the password of IAM user.
*/
IAM_PASSWORD("iamPassword", null,
"Password to use when authenticated by HuaweiCloud IAM and KMS."),
/*
* Valid only when the client enables full encryption
*/
KMS_DOMAIN("kmsDoamin", null,
"Domain of HuaweiCloud KMS."),
KMS_PROJECT_NAME("kmsProjectName", null,
"Place where the HuaweiCloud KMS server locates."),
KMS_PROJECT_ID("kmsProjectId", null,
"ID of HuaweiCloud KMS project."),
/**
* Convert metadata query results to uppercase.
*/
UPPERCASE_ATTRIBUTE_NAME("uppercaseAttributeName", "false",
"Judge whether the uppercase function is on."),
;
private String _name;
@ -641,20 +695,20 @@ public enum PGProperty {
return getSetString(properties) != null;
}
/**
* Convert this connection parameter and the value read from the given {@code Properties} into a
* {@code DriverPropertyInfo}.
*
* @param properties properties to take actual value from
* @return a DriverPropertyInfo representing this connection parameter
*/
public DriverPropertyInfo toDriverPropertyInfo(Properties properties) {
DriverPropertyInfo propertyInfo = new DriverPropertyInfo(_name, get(properties));
propertyInfo.required = _required;
propertyInfo.description = _description;
propertyInfo.choices = _choices;
return propertyInfo;
}
/**
* Convert this connection parameter and the value read from the given {@code Properties} into a
* {@code DriverPropertyInfo}.
*
* @param properties properties to take actual value from
* @return a DriverPropertyInfo representing this connection parameter
*/
public DriverPropertyInfo toDriverPropertyInfo(Properties properties) {
DriverPropertyInfo propertyInfo = new DriverPropertyInfo(_name, get(properties));
propertyInfo.required = _required;
propertyInfo.description = _description;
propertyInfo.choices = _choices;
return propertyInfo;
}
public static PGProperty forName(String name) {
for (PGProperty property : PGProperty.values()) {