birschick-bq commented on code in PR #2540: URL: https://github.com/apache/arrow-adbc/pull/2540#discussion_r1974072543
########## csharp/src/Drivers/Apache/Hive2/README.md: ########## @@ -0,0 +1,98 @@ +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +# Hive Driver + +## Database and Connection Properties + +Properties should be passed in the call to `HiveServer2Driver.Open`, +but can also be passed in the call to `AdbcDatabase.Connect`. + +| Property | Description | Default | +| :--- | :--- | :--- | +| `adbc.hive.type` | (Required) Indicates the Hive transport type. `http` | | +| `adbc.hive.auth_type` | An indicator of the intended type of authentication. Allowed values: `none`, `username_only` and `basic`. This property is optional. The authentication type can be inferred from `username`, and `password`. | | +| `adbc.hive.host` | Host name for the data source. Do not include scheme or port number. Example: `hiveserver.region.cloudapp.azure.com` | | +| `adbc.hive.port` | The port number the data source listens on for a new connections. | `443` | +| `adbc.hive.path` | The URI path on the data source server. Example: `/hive2` | | +| `uri` | The full URI that includes scheme, host, port and path. If set, this property takes precedence over `adbc.hive.host`, `adbc.hive.port` and `adbc.hive.path`. | | Review Comment: Resolved. All three drivers disallow `host` and `uri` to both be specified. ########## csharp/src/Drivers/Apache/Hive2/HiveServer2ConnectionFactory.cs: ########## @@ -0,0 +1,38 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using System; +using System.Collections.Generic; + +namespace Apache.Arrow.Adbc.Drivers.Apache.Hive2 +{ + internal class HiveServer2ConnectionFactory + { + public static HiveServer2Connection NewConnection(IReadOnlyDictionary<string, string> properties) + { + bool _ = properties.TryGetValue(HiveServer2Parameters.Type, out string? type); + bool __ = HiveServer2TypeParser.TryParse(type, out HiveServer2Type typeValue); + return typeValue switch + { + HiveServer2Type.Http => new HiveServer2HttpConnection(properties), + HiveServer2Type.Empty => throw new ArgumentException($"Required property '{HiveServer2Parameters.Type}' is missing. Supported types: {HiveServer2TypeParser.SupportedList}", nameof(properties)), + _ => throw new ArgumentOutOfRangeException(nameof(properties), $"Unsupported or unknown value '{type}' given for property '{HiveServer2Parameters.Type}'. Supported types: {HiveServer2TypeParser.SupportedList}"), + }; + } + Review Comment: Resolved. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
