|
41 | 41 | import com.google.cloud.bigquery.storage.v1.BigQueryWriteClient; |
42 | 42 | import com.google.cloud.bigquery.storage.v1.BigQueryWriteSettings; |
43 | 43 | import com.google.cloud.http.HttpTransportOptions; |
44 | | -import com.google.common.collect.ImmutableSet; |
| 44 | +import com.google.common.collect.ImmutableSortedSet; |
45 | 45 | import java.io.IOException; |
46 | 46 | import java.io.InputStream; |
47 | 47 | import java.sql.CallableStatement; |
@@ -78,67 +78,69 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { |
78 | 78 | private static final String DEFAULT_JDBC_TOKEN_VALUE = "Google-BigQuery-JDBC-Driver"; |
79 | 79 | private static final String DEFAULT_VERSION = "0.0.0"; |
80 | 80 | private static final Set<String> SAFE_TO_LOG_PROPERTIES = |
81 | | - ImmutableSet.of( |
82 | | - BigQueryJdbcUrlUtility.PROJECT_ID_PROPERTY_NAME.toLowerCase(), |
83 | | - BigQueryJdbcUrlUtility.DEFAULT_DATASET_PROPERTY_NAME.toLowerCase(), |
84 | | - BigQueryJdbcUrlUtility.LOCATION_PROPERTY_NAME.toLowerCase(), |
85 | | - BigQueryJdbcUrlUtility.ENABLE_HTAPI_PROPERTY_NAME.toLowerCase(), |
86 | | - BigQueryJdbcUrlUtility.UNSUPPORTED_HTAPI_FALLBACK_PROPERTY_NAME.toLowerCase(), |
87 | | - BigQueryJdbcUrlUtility.HTAPI_MIN_TABLE_SIZE_PROPERTY_NAME.toLowerCase(), |
88 | | - BigQueryJdbcUrlUtility.HTAPI_ACTIVATION_RATIO_PROPERTY_NAME.toLowerCase(), |
89 | | - BigQueryJdbcUrlUtility.KMS_KEY_NAME_PROPERTY_NAME.toLowerCase(), |
90 | | - BigQueryJdbcUrlUtility.QUERY_PROPERTIES_NAME.toLowerCase(), |
91 | | - BigQueryJdbcUrlUtility.ENABLE_SESSION_PROPERTY_NAME.toLowerCase(), |
92 | | - BigQueryJdbcUrlUtility.LOG_LEVEL_PROPERTY_NAME.toLowerCase(), |
93 | | - BigQueryJdbcUrlUtility.LOG_PATH_PROPERTY_NAME.toLowerCase(), |
94 | | - BigQueryJdbcUrlUtility.OAUTH_TYPE_PROPERTY_NAME.toLowerCase(), |
95 | | - BigQueryJdbcUrlUtility.OAUTH_ACCESS_TOKEN_READONLY_PROPERTY_NAME.toLowerCase(), |
96 | | - BigQueryJdbcUrlUtility.USE_QUERY_CACHE_PROPERTY_NAME.toLowerCase(), |
97 | | - BigQueryJdbcUrlUtility.QUERY_DIALECT_PROPERTY_NAME.toLowerCase(), |
98 | | - BigQueryJdbcUrlUtility.ALLOW_LARGE_RESULTS_PROPERTY_NAME.toLowerCase(), |
99 | | - BigQueryJdbcUrlUtility.LARGE_RESULTS_TABLE_PROPERTY_NAME.toLowerCase(), |
100 | | - BigQueryJdbcUrlUtility.LARGE_RESULTS_DATASET_PROPERTY_NAME.toLowerCase(), |
101 | | - BigQueryJdbcUrlUtility.DESTINATION_DATASET_EXPIRATION_TIME_PROPERTY_NAME.toLowerCase(), |
102 | | - BigQueryJdbcUrlUtility.UNIVERSE_DOMAIN_OVERRIDE_PROPERTY_NAME.toLowerCase(), |
103 | | - BigQueryJdbcUrlUtility.PROXY_HOST_PROPERTY_NAME.toLowerCase(), |
104 | | - BigQueryJdbcUrlUtility.PROXY_PORT_PROPERTY_NAME.toLowerCase(), |
105 | | - BigQueryJdbcUrlUtility.JOB_CREATION_MODE_PROPERTY_NAME.toLowerCase(), |
106 | | - BigQueryJdbcUrlUtility.MAX_RESULTS_PROPERTY_NAME.toLowerCase(), |
107 | | - BigQueryJdbcUrlUtility.PARTNER_TOKEN_PROPERTY_NAME.toLowerCase(), |
108 | | - BigQueryJdbcUrlUtility.ENDPOINT_OVERRIDES_PROPERTY_NAME.toLowerCase(), |
109 | | - BigQueryJdbcUrlUtility.PRIVATE_SERVICE_CONNECT_PROPERTY_NAME.toLowerCase(), |
110 | | - BigQueryJdbcUrlUtility.METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME.toLowerCase(), |
111 | | - BigQueryJdbcUrlUtility.RETRY_TIMEOUT_IN_SECS_PROPERTY_NAME.toLowerCase(), |
112 | | - BigQueryJdbcUrlUtility.JOB_TIMEOUT_PROPERTY_NAME.toLowerCase(), |
113 | | - BigQueryJdbcUrlUtility.RETRY_INITIAL_DELAY_PROPERTY_NAME.toLowerCase(), |
114 | | - BigQueryJdbcUrlUtility.RETRY_MAX_DELAY_PROPERTY_NAME.toLowerCase(), |
115 | | - BigQueryJdbcUrlUtility.ADDITIONAL_PROJECTS_PROPERTY_NAME.toLowerCase(), |
116 | | - BigQueryJdbcUrlUtility.CONNECTION_POOL_SIZE_PROPERTY_NAME.toLowerCase(), |
117 | | - BigQueryJdbcUrlUtility.LISTENER_POOL_SIZE_PROPERTY_NAME.toLowerCase(), |
118 | | - BigQueryJdbcUrlUtility.ENABLE_WRITE_API_PROPERTY_NAME.toLowerCase(), |
119 | | - BigQueryJdbcUrlUtility.SWA_APPEND_ROW_COUNT_PROPERTY_NAME.toLowerCase(), |
120 | | - BigQueryJdbcUrlUtility.SWA_ACTIVATION_ROW_COUNT_PROPERTY_NAME.toLowerCase(), |
121 | | - BigQueryJdbcUrlUtility.FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME.toLowerCase(), |
122 | | - BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME.toLowerCase(), |
123 | | - BigQueryJdbcUrlUtility.SSL_TRUST_STORE_PROPERTY_NAME.toLowerCase(), |
124 | | - BigQueryJdbcUrlUtility.MAX_BYTES_BILLED_PROPERTY_NAME.toLowerCase(), |
125 | | - BigQueryJdbcUrlUtility.LABELS_PROPERTY_NAME.toLowerCase(), |
126 | | - BigQueryJdbcUrlUtility.REQUEST_REASON_PROPERTY_NAME.toLowerCase(), |
127 | | - BigQueryJdbcUrlUtility.HTTP_CONNECT_TIMEOUT_PROPERTY_NAME.toLowerCase(), |
128 | | - BigQueryJdbcUrlUtility.HTTP_READ_TIMEOUT_PROPERTY_NAME.toLowerCase(), |
129 | | - BigQueryJdbcUrlUtility.BYOID_AUDIENCE_URI_PROPERTY_NAME.toLowerCase(), |
130 | | - BigQueryJdbcUrlUtility.BYOID_CREDENTIAL_SOURCE_PROPERTY_NAME.toLowerCase(), |
131 | | - BigQueryJdbcUrlUtility.BYOID_POOL_USER_PROJECT_PROPERTY_NAME.toLowerCase(), |
132 | | - BigQueryJdbcUrlUtility.BYOID_SA_IMPERSONATION_URI_PROPERTY_NAME.toLowerCase(), |
133 | | - BigQueryJdbcUrlUtility.BYOID_SUBJECT_TOKEN_TYPE_PROPERTY_NAME.toLowerCase(), |
134 | | - BigQueryJdbcUrlUtility.BYOID_TOKEN_URI_PROPERTY_NAME.toLowerCase(), |
135 | | - BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_EMAIL_PROPERTY_NAME.toLowerCase(), |
136 | | - BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_CHAIN_PROPERTY_NAME.toLowerCase(), |
137 | | - BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_SCOPES_PROPERTY_NAME.toLowerCase(), |
138 | | - BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_TOKEN_LIFETIME_PROPERTY_NAME.toLowerCase(), |
139 | | - BigQueryJdbcUrlUtility.OAUTH_SA_EMAIL_PROPERTY_NAME.toLowerCase(), |
140 | | - BigQueryJdbcUrlUtility.OAUTH_PVT_KEY_PATH_PROPERTY_NAME.toLowerCase(), |
141 | | - BigQueryJdbcUrlUtility.OAUTH_CLIENT_ID_PROPERTY_NAME.toLowerCase()); |
| 81 | + ImmutableSortedSet.orderedBy(String.CASE_INSENSITIVE_ORDER) |
| 82 | + .add( |
| 83 | + BigQueryJdbcUrlUtility.PROJECT_ID_PROPERTY_NAME, |
| 84 | + BigQueryJdbcUrlUtility.DEFAULT_DATASET_PROPERTY_NAME, |
| 85 | + BigQueryJdbcUrlUtility.LOCATION_PROPERTY_NAME, |
| 86 | + BigQueryJdbcUrlUtility.ENABLE_HTAPI_PROPERTY_NAME, |
| 87 | + BigQueryJdbcUrlUtility.UNSUPPORTED_HTAPI_FALLBACK_PROPERTY_NAME, |
| 88 | + BigQueryJdbcUrlUtility.HTAPI_MIN_TABLE_SIZE_PROPERTY_NAME, |
| 89 | + BigQueryJdbcUrlUtility.HTAPI_ACTIVATION_RATIO_PROPERTY_NAME, |
| 90 | + BigQueryJdbcUrlUtility.KMS_KEY_NAME_PROPERTY_NAME, |
| 91 | + BigQueryJdbcUrlUtility.QUERY_PROPERTIES_NAME, |
| 92 | + BigQueryJdbcUrlUtility.ENABLE_SESSION_PROPERTY_NAME, |
| 93 | + BigQueryJdbcUrlUtility.LOG_LEVEL_PROPERTY_NAME, |
| 94 | + BigQueryJdbcUrlUtility.LOG_PATH_PROPERTY_NAME, |
| 95 | + BigQueryJdbcUrlUtility.OAUTH_TYPE_PROPERTY_NAME, |
| 96 | + BigQueryJdbcUrlUtility.OAUTH_ACCESS_TOKEN_READONLY_PROPERTY_NAME, |
| 97 | + BigQueryJdbcUrlUtility.USE_QUERY_CACHE_PROPERTY_NAME, |
| 98 | + BigQueryJdbcUrlUtility.QUERY_DIALECT_PROPERTY_NAME, |
| 99 | + BigQueryJdbcUrlUtility.ALLOW_LARGE_RESULTS_PROPERTY_NAME, |
| 100 | + BigQueryJdbcUrlUtility.LARGE_RESULTS_TABLE_PROPERTY_NAME, |
| 101 | + BigQueryJdbcUrlUtility.LARGE_RESULTS_DATASET_PROPERTY_NAME, |
| 102 | + BigQueryJdbcUrlUtility.DESTINATION_DATASET_EXPIRATION_TIME_PROPERTY_NAME, |
| 103 | + BigQueryJdbcUrlUtility.UNIVERSE_DOMAIN_OVERRIDE_PROPERTY_NAME, |
| 104 | + BigQueryJdbcUrlUtility.PROXY_HOST_PROPERTY_NAME, |
| 105 | + BigQueryJdbcUrlUtility.PROXY_PORT_PROPERTY_NAME, |
| 106 | + BigQueryJdbcUrlUtility.JOB_CREATION_MODE_PROPERTY_NAME, |
| 107 | + BigQueryJdbcUrlUtility.MAX_RESULTS_PROPERTY_NAME, |
| 108 | + BigQueryJdbcUrlUtility.PARTNER_TOKEN_PROPERTY_NAME, |
| 109 | + BigQueryJdbcUrlUtility.ENDPOINT_OVERRIDES_PROPERTY_NAME, |
| 110 | + BigQueryJdbcUrlUtility.PRIVATE_SERVICE_CONNECT_PROPERTY_NAME, |
| 111 | + BigQueryJdbcUrlUtility.METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME, |
| 112 | + BigQueryJdbcUrlUtility.RETRY_TIMEOUT_IN_SECS_PROPERTY_NAME, |
| 113 | + BigQueryJdbcUrlUtility.JOB_TIMEOUT_PROPERTY_NAME, |
| 114 | + BigQueryJdbcUrlUtility.RETRY_INITIAL_DELAY_PROPERTY_NAME, |
| 115 | + BigQueryJdbcUrlUtility.RETRY_MAX_DELAY_PROPERTY_NAME, |
| 116 | + BigQueryJdbcUrlUtility.ADDITIONAL_PROJECTS_PROPERTY_NAME, |
| 117 | + BigQueryJdbcUrlUtility.CONNECTION_POOL_SIZE_PROPERTY_NAME, |
| 118 | + BigQueryJdbcUrlUtility.LISTENER_POOL_SIZE_PROPERTY_NAME, |
| 119 | + BigQueryJdbcUrlUtility.ENABLE_WRITE_API_PROPERTY_NAME, |
| 120 | + BigQueryJdbcUrlUtility.SWA_APPEND_ROW_COUNT_PROPERTY_NAME, |
| 121 | + BigQueryJdbcUrlUtility.SWA_ACTIVATION_ROW_COUNT_PROPERTY_NAME, |
| 122 | + BigQueryJdbcUrlUtility.FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME, |
| 123 | + BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME, |
| 124 | + BigQueryJdbcUrlUtility.SSL_TRUST_STORE_PROPERTY_NAME, |
| 125 | + BigQueryJdbcUrlUtility.MAX_BYTES_BILLED_PROPERTY_NAME, |
| 126 | + BigQueryJdbcUrlUtility.LABELS_PROPERTY_NAME, |
| 127 | + BigQueryJdbcUrlUtility.REQUEST_REASON_PROPERTY_NAME, |
| 128 | + BigQueryJdbcUrlUtility.HTTP_CONNECT_TIMEOUT_PROPERTY_NAME, |
| 129 | + BigQueryJdbcUrlUtility.HTTP_READ_TIMEOUT_PROPERTY_NAME, |
| 130 | + BigQueryJdbcUrlUtility.BYOID_AUDIENCE_URI_PROPERTY_NAME, |
| 131 | + BigQueryJdbcUrlUtility.BYOID_CREDENTIAL_SOURCE_PROPERTY_NAME, |
| 132 | + BigQueryJdbcUrlUtility.BYOID_POOL_USER_PROJECT_PROPERTY_NAME, |
| 133 | + BigQueryJdbcUrlUtility.BYOID_SA_IMPERSONATION_URI_PROPERTY_NAME, |
| 134 | + BigQueryJdbcUrlUtility.BYOID_SUBJECT_TOKEN_TYPE_PROPERTY_NAME, |
| 135 | + BigQueryJdbcUrlUtility.BYOID_TOKEN_URI_PROPERTY_NAME, |
| 136 | + BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_EMAIL_PROPERTY_NAME, |
| 137 | + BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_CHAIN_PROPERTY_NAME, |
| 138 | + BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_SCOPES_PROPERTY_NAME, |
| 139 | + BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_TOKEN_LIFETIME_PROPERTY_NAME, |
| 140 | + BigQueryJdbcUrlUtility.OAUTH_SA_EMAIL_PROPERTY_NAME, |
| 141 | + BigQueryJdbcUrlUtility.OAUTH_PVT_KEY_PATH_PROPERTY_NAME, |
| 142 | + BigQueryJdbcUrlUtility.OAUTH_CLIENT_ID_PROPERTY_NAME) |
| 143 | + .build(); |
142 | 144 | private HeaderProvider headerProvider; |
143 | 145 | BigQueryReadClient bigQueryReadClient = null; |
144 | 146 | BigQueryWriteClient bigQueryWriteClient = null; |
@@ -220,8 +222,7 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { |
220 | 222 | Properties maskedProps = new Properties(); |
221 | 223 | for (String name : connectionProps.stringPropertyNames()) { |
222 | 224 | String value = connectionProps.getProperty(name); |
223 | | - String lowerName = name.toLowerCase(); |
224 | | - if (!SAFE_TO_LOG_PROPERTIES.contains(lowerName)) { |
| 225 | + if (!SAFE_TO_LOG_PROPERTIES.contains(name)) { |
225 | 226 | value = "*****"; |
226 | 227 | } |
227 | 228 | maskedProps.setProperty(name, value); |
|
0 commit comments