Releases: Azure/azure-sdk-for-ios
Releases · Azure/azure-sdk-for-ios
v0.4.4
New Features
Adds new static constructor for Query that takes a raw SQL query string:
public static func createFrom(queryString: String) -> QueryExample usage
let query = Query.createFrom(queryString: #"SELECT c.id FROM c WHERE c.type = "round" AND ARRAY_LENGTH(c.holeScores) = 18 AND c.isDeleted = false"#)
AzureData.query(documentPropertiesIn: myCollection, with: query, andPartitionKey: "myKey") { response in
let roundsCount = response.resource.count
}v0.4.3
v0.4.2
v0.4.1 (53)
v0.4.1
Bug fixes
- Fixes issue #127 where SDK's
AzureCore.Resulttype conflicted with Swift's newSwift.Resulttype. - Fixes issue #112 where AzureData.replace was throwing partition key error.
v0.4.0
New Features
- Updated to use Swift 5.0
- Added support for querying a subset of documents properties (see the updated documentation for the usage of the new API functions).
- Added overloads of execute(storedProcedure...) with a new parameter for the partition key.
v0.3.1
v0.3.1
v0.3.0
New Features
- Custom documents are now defined by conforming to the
Documentprotocol. The protocol requires a partition key and an ID.
protocol Document: Codable {
typealias PartitionKey = KeyPath<Self, String>
static var partitionKey: PartitionKey?
var id: String { get }
}Example of a custom document Person:
final class Person: Document {
static let partitionKey: PartitionKey? = \.birthCity
let id: String
let firstName: String
let lastName: String
let birthCity: String
init(id: String, firstName: String, lastName: String, birthCity: String) {
self.id = id
self.firstName = firstName
self.lastName = lastName
self.birthCity = birthCity
}
}- Geometric types
Point,LineStringandPolygonare now available. They can be used as types of properties in user defined documents and in queries (ST_DISTANCE,ST_INTERSECTSandST_WITHIN).
final class User: Document {
static let partitionKey: PartitionKey? = nil
let name: String
let location: Point
init(name: String, location: Point) {
self.name = name
self.location = location
}
}let point = Point(latitude: 12.01, longitude: 98.322)
let polygon = Polygon(...)
let line = LineString(...)
let query = Query
.select()
.from("User")
.where(distanceFrom: "location", to: pointOfInterest, isLessThan: 3000)
.and("location", isWithin: polygon)
.and("location", intersects: line)-
Query results are now available offline. If a query is performed when there is no internet connectivity, the most recent fetched results for that query will be returned.
-
Function in
AzureDatarelated to collections, documents and attachments now accept an optional parameterpartitionKey.
v0.2.0
Bug Fixes
- Offline resources were sometimes saved in the wrong directory
- Crash occurs when an offline resource is created as a child of another offline resource if the process creating the child resource is different from the process that created the parent resource
- Pending offline writes were not always processed once the network becomes reachable
- Broken dependencies causing carthage builds to fail
v0.1.7
v0.1.6
Merge pull request #94 from Azure/feature/93-create-empty-child-direc…