MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_connection_option_name

Method parse_connection_option_name

src/sql-parser/src/parser.rs:2917–3058  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

2915 }
2916
2917 fn parse_connection_option_name(&mut self) -> Result<ConnectionOptionName, ParserError> {
2918 Ok(
2919 match self.expect_one_of_keywords(&[
2920 ACCESS,
2921 ASSUME,
2922 AVAILABILITY,
2923 AWS,
2924 BROKER,
2925 BROKERS,
2926 CATALOG,
2927 CREDENTIAL,
2928 DATABASE,
2929 ENDPOINT,
2930 GCP,
2931 HOST,
2932 PASSWORD,
2933 PORT,
2934 PUBLIC,
2935 PROGRESS,
2936 REGION,
2937 REGISTRY,
2938 SASL,
2939 SCOPE,
2940 SECRET,
2941 SECURITY,
2942 SERVICE,
2943 SESSION,
2944 SSH,
2945 SSL,
2946 URL,
2947 USER,
2948 USERNAME,
2949 WAREHOUSE,
2950 ])? {
2951 ACCESS => {
2952 self.expect_keywords(&[KEY, ID])?;
2953 ConnectionOptionName::AccessKeyId
2954 }
2955 ASSUME => {
2956 self.expect_keyword(ROLE)?;
2957 match self.expect_one_of_keywords(&[ARN, SESSION])? {
2958 ARN => ConnectionOptionName::AssumeRoleArn,
2959 SESSION => {
2960 self.expect_keyword(NAME)?;
2961 ConnectionOptionName::AssumeRoleSessionName
2962 }
2963 _ => unreachable!(),
2964 }
2965 }
2966 AVAILABILITY => {
2967 self.expect_keyword(ZONES)?;
2968 ConnectionOptionName::AvailabilityZones
2969 }
2970 AWS => match self.expect_one_of_keywords(&[CONNECTION, PRIVATELINK])? {
2971 CONNECTION => ConnectionOptionName::AwsConnection,
2972 PRIVATELINK => ConnectionOptionName::AwsPrivatelink,
2973 _ => unreachable!(),
2974 },

Calls 8

expect_keywordsMethod · 0.80
expect_keywordMethod · 0.80
next_tokenMethod · 0.80
expectedMethod · 0.80
peek_prev_posMethod · 0.80
parse_keywordsMethod · 0.80
parse_keywordMethod · 0.80

Tested by

no test coverage detected