in rust/driver/snowflake/src/database/builder.rs [902:1051]
fn into_iter(self) -> Self::IntoIter {
BuilderIter::new(
[
self.uri
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (OptionDatabase::Uri, value)),
self.username
.map(OptionValue::String)
.map(|value| (OptionDatabase::Username, value)),
self.password
.map(OptionValue::String)
.map(|value| (OptionDatabase::Password, value)),
self.database
.map(OptionValue::String)
.map(|value| (Builder::DATABASE.into(), value)),
self.schema
.map(OptionValue::String)
.map(|value| (Builder::SCHEMA.into(), value)),
self.warehouse
.map(OptionValue::String)
.map(|value| (Builder::WAREHOUSE.into(), value)),
self.role
.map(OptionValue::String)
.map(|value| (Builder::ROLE.into(), value)),
self.region
.map(OptionValue::String)
.map(|value| (Builder::REGION.into(), value)),
self.account
.map(OptionValue::String)
.map(|value| (Builder::ACCOUNT.into(), value)),
self.protocol
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::PROTOCOL.into(), value)),
self.port
.as_ref()
// TODO(mbrobbel): the driver expects a string here?
// .map(i64::from)
// .map(OptionValue::Int)
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::PORT.into(), value)),
self.host
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::HOST.into(), value)),
self.auth_type
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::AUTH_TYPE.into(), value)),
self.login_timeout
.as_ref()
.map(|duration| format!("{duration:?}"))
.map(OptionValue::String)
.map(|value| (Builder::LOGIN_TIMEOUT.into(), value)),
self.request_timeout
.as_ref()
.map(|duration| format!("{duration:?}"))
.map(OptionValue::String)
.map(|value| (Builder::REQUEST_TIMEOUT.into(), value)),
self.jwt_expire_timeout
.as_ref()
.map(|duration| format!("{duration:?}"))
.map(OptionValue::String)
.map(|value| (Builder::JWT_EXPIRE_TIMEOUT.into(), value)),
self.client_timeout
.as_ref()
.map(|duration| format!("{duration:?}"))
.map(OptionValue::String)
.map(|value| (Builder::CLIENT_TIMEOUT.into(), value)),
self.use_high_precision
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::USE_HIGH_PRECISION.into(), value)),
self.application_name
.map(OptionValue::String)
.map(|value| (Builder::APPLICATION_NAME.into(), value)),
self.ssl_skip_verify
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::SSL_SKIP_VERIFY.into(), value)),
self.ocsp_fail_open_mode
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::OCSP_FAIL_OPEN_MODE.into(), value)),
self.auth_token
.map(OptionValue::String)
.map(|value| (Builder::AUTH_TOKEN.into(), value)),
self.auth_okta_url
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::AUTH_OKTA_URL.into(), value)),
self.keep_session_alive
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::KEEP_SESSION_ALIVE.into(), value)),
self.jwt_private_key
.as_ref()
.map(|path| path.display().to_string())
.map(OptionValue::String)
.map(|value| (Builder::JWT_PRIVATE_KEY.into(), value)),
self.jwt_private_key_pkcs8_value
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::JWT_PRIVATE_KEY_PKCS8_VALUE.into(), value)),
self.jwt_private_key_pkcs8_password
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::JWT_PRIVATE_KEY_PKCS8_PASSWORD.into(), value)),
self.disable_telemetry
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::DISABLE_TELEMETRY.into(), value)),
self.log_tracing
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::LOG_TRACING.into(), value)),
self.client_config_file
.as_ref()
.map(|path| path.display().to_string())
.map(OptionValue::String)
.map(|value| (Builder::CLIENT_CONFIG_FILE.into(), value)),
self.client_cache_mfa_token
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::CLIENT_CACHE_MFA_TOKEN.into(), value)),
self.client_store_temp_creds
.as_ref()
.map(ToString::to_string)
.map(OptionValue::String)
.map(|value| (Builder::CLIENT_STORE_TEMP_CREDS.into(), value)),
],
self.other,
)
}