@@ -85,6 +85,7 @@ public struct SQLClientConnectionOptions: Sendable {
8585 public var username : String
8686 public var password : String
8787 public var database : String ?
88+ public var domain : String ?
8889 public var port : UInt16 ?
8990 public var encryption : SQLClientEncryption = . request
9091 public var useNTLMv2 : Bool = true
@@ -94,11 +95,12 @@ public struct SQLClientConnectionOptions: Sendable {
9495 public var queryTimeout : Int = 0
9596 public var loginTimeout : Int = 0
9697
97- public init ( server: String , username: String , password: String , database: String ? = nil ) {
98+ public init ( server: String , username: String , password: String , database: String ? = nil , domain : String ? = nil ) {
9899 self . server = server
99100 self . username = username
100101 self . password = password
101102 self . database = database
103+ self . domain = domain
102104 }
103105}
104106
@@ -189,8 +191,8 @@ public actor SQLClient {
189191 private var connection : OpaquePointer ?
190192 private var connected = false
191193
192- public func connect( server: String , username: String , password: String , database: String ? = nil ) async throws {
193- try await connect ( options: SQLClientConnectionOptions ( server: server, username: username, password: password, database: database) )
194+ public func connect( server: String , username: String , password: String , database: String ? = nil , domain : String ? = nil ) async throws {
195+ try await connect ( options: SQLClientConnectionOptions ( server: server, username: username, password: password, database: database, domain : domain ) )
194196 }
195197
196198 public func connect( options: SQLClientConnectionOptions ) async throws {
@@ -326,6 +328,8 @@ public actor SQLClient {
326328 // Ensure we get UTF-8 from the server for N-types
327329 dbsetlname ( lgn, " UTF-8 " , 10 ) // DBSETCHARSET
328330
331+ if let domain = options. domain { dbsetlname ( lgn, domain, 15 ) } // DBSETLDOMAIN
332+
329333 if let port = options. port { dbsetlshort ( lgn, Int32 ( port) , 1006 ) } // DBSETPORT
330334 if options. encryption != . request { dbsetlname ( lgn, options. encryption. rawValue, 1005 ) } // DBSETENCRYPTION
331335 dbsetlbool ( lgn, options. useNTLMv2 ? 1 : 0 , 1002 ) // DBSETNTLMV2
0 commit comments