Skip to content

Commit 60b80de

Browse files
update query terminology
* distance => distanceEqual * notDistance => distanceNotEqual
1 parent 5e4e4bd commit 60b80de

File tree

6 files changed

+43
-43
lines changed

6 files changed

+43
-43
lines changed

src/Database/Adapter/MariaDB.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1715,13 +1715,13 @@ protected function handleSpatialQueries(Query $query, array &$binds, string $att
17151715
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
17161716
return "NOT ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
17171717

1718-
case Query::TYPE_DISTANCE:
1718+
case Query::TYPE_DISTANCE_EQUAL:
17191719
$distanceParams = $query->getValues()[0];
17201720
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($distanceParams[0]);
17211721
$binds[":{$placeholder}_1"] = $distanceParams[1];
17221722
return "ST_Distance({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0)) = :{$placeholder}_1";
17231723

1724-
case Query::TYPE_NOT_DISTANCE:
1724+
case Query::TYPE_DISTANCE_NOT_EQUAL:
17251725
$distanceParams = $query->getValues()[0];
17261726
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($distanceParams[0]);
17271727
$binds[":{$placeholder}_1"] = $distanceParams[1];

src/Database/Adapter/Postgres.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,13 +1811,13 @@ protected function handleSpatialQueries(Query $query, array &$binds, string $att
18111811
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($query->getValues()[0]);
18121812
return "NOT ST_Crosses({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0))";
18131813

1814-
case Query::TYPE_DISTANCE:
1814+
case Query::TYPE_DISTANCE_EQUAL:
18151815
$distanceParams = $query->getValues()[0];
18161816
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($distanceParams[0]);
18171817
$binds[":{$placeholder}_1"] = $distanceParams[1];
18181818
return "ST_DWithin({$alias}.{$attribute}, ST_GeomFromText(:{$placeholder}_0), :{$placeholder}_1)";
18191819

1820-
case Query::TYPE_NOT_DISTANCE:
1820+
case Query::TYPE_DISTANCE_NOT_EQUAL:
18211821
$distanceParams = $query->getValues()[0];
18221822
$binds[":{$placeholder}_0"] = $this->convertArrayToWKT($distanceParams[0]);
18231823
$binds[":{$placeholder}_1"] = $distanceParams[1];

src/Database/Query.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ class Query
3030
// General spatial method constants (for spatial-only operations)
3131
public const TYPE_CROSSES = 'crosses';
3232
public const TYPE_NOT_CROSSES = 'notCrosses';
33-
public const TYPE_DISTANCE = 'distance';
34-
public const TYPE_NOT_DISTANCE = 'notDistance';
33+
public const TYPE_DISTANCE_EQUAL = 'distanceEqual';
34+
public const TYPE_DISTANCE_NOT_EQUAL = 'distanceNotEqual';
3535
public const TYPE_DISTANCE_GREATER_THAN = 'distanceGreaterThan';
3636
public const TYPE_DISTANCE_LESS_THAN = 'distanceLessThan';
3737
public const TYPE_INTERSECTS = 'intersects';
@@ -80,8 +80,8 @@ class Query
8080
self::TYPE_NOT_ENDS_WITH,
8181
self::TYPE_CROSSES,
8282
self::TYPE_NOT_CROSSES,
83-
self::TYPE_DISTANCE,
84-
self::TYPE_NOT_DISTANCE,
83+
self::TYPE_DISTANCE_EQUAL,
84+
self::TYPE_DISTANCE_NOT_EQUAL,
8585
self::TYPE_DISTANCE_GREATER_THAN,
8686
self::TYPE_DISTANCE_LESS_THAN,
8787
self::TYPE_INTERSECTS,
@@ -261,8 +261,8 @@ public static function isMethod(string $value): bool
261261
self::TYPE_NOT_ENDS_WITH,
262262
self::TYPE_CROSSES,
263263
self::TYPE_NOT_CROSSES,
264-
self::TYPE_DISTANCE,
265-
self::TYPE_NOT_DISTANCE,
264+
self::TYPE_DISTANCE_EQUAL,
265+
self::TYPE_DISTANCE_NOT_EQUAL,
266266
self::TYPE_INTERSECTS,
267267
self::TYPE_NOT_INTERSECTS,
268268
self::TYPE_OVERLAPS,
@@ -285,8 +285,8 @@ public function isSpatialQuery(): bool
285285
return match ($this->method) {
286286
self::TYPE_CROSSES,
287287
self::TYPE_NOT_CROSSES,
288-
self::TYPE_DISTANCE,
289-
self::TYPE_NOT_DISTANCE,
288+
self::TYPE_DISTANCE_EQUAL,
289+
self::TYPE_DISTANCE_NOT_EQUAL,
290290
self::TYPE_DISTANCE_GREATER_THAN,
291291
self::TYPE_DISTANCE_LESS_THAN,
292292
self::TYPE_INTERSECTS,
@@ -896,27 +896,27 @@ public function setOnArray(bool $bool): void
896896
// Spatial query methods
897897

898898
/**
899-
* Helper method to create Query with distance method
899+
* Helper method to create Query with distanceEqual method
900900
*
901901
* @param string $attribute
902902
* @param array<mixed> $values
903903
* @return Query
904904
*/
905-
public static function distance(string $attribute, array $values): self
905+
public static function distanceEqual(string $attribute, array $values): self
906906
{
907-
return new self(self::TYPE_DISTANCE, $attribute, $values);
907+
return new self(self::TYPE_DISTANCE_EQUAL, $attribute, $values);
908908
}
909909

910910
/**
911-
* Helper method to create Query with notDistance method
911+
* Helper method to create Query with distanceNotEqual method
912912
*
913913
* @param string $attribute
914914
* @param array<mixed> $values
915915
* @return Query
916916
*/
917-
public static function notDistance(string $attribute, array $values): self
917+
public static function distanceNotEqual(string $attribute, array $values): self
918918
{
919-
return new self(self::TYPE_NOT_DISTANCE, $attribute, $values);
919+
return new self(self::TYPE_DISTANCE_NOT_EQUAL, $attribute, $values);
920920
}
921921

922922
/**

src/Database/Validator/Queries.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ public function isValid($value): bool
108108
Query::TYPE_OR,
109109
Query::TYPE_CROSSES,
110110
Query::TYPE_NOT_CROSSES,
111-
Query::TYPE_DISTANCE,
112-
Query::TYPE_NOT_DISTANCE,
111+
Query::TYPE_DISTANCE_EQUAL,
112+
Query::TYPE_DISTANCE_NOT_EQUAL,
113113
Query::TYPE_DISTANCE_GREATER_THAN,
114114
Query::TYPE_DISTANCE_LESS_THAN,
115115
Query::TYPE_INTERSECTS,

src/Database/Validator/Query/Filter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,8 @@ public function isValid($value): bool
259259

260260
return $this->isValidAttributeAndValues($attribute, $value->getValues(), $method);
261261

262-
case Query::TYPE_DISTANCE:
263-
case Query::TYPE_NOT_DISTANCE:
262+
case Query::TYPE_DISTANCE_EQUAL:
263+
case Query::TYPE_DISTANCE_NOT_EQUAL:
264264
case Query::TYPE_DISTANCE_GREATER_THAN:
265265
case Query::TYPE_DISTANCE_LESS_THAN:
266266
if (count($value->getValues()) !== 1 || !is_array($value->getValues()[0]) || count($value->getValues()[0]) !== 2) {

tests/e2e/Adapter/Scopes/SpatialTests.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ public function testSpatialTypeDocuments(): void
131131
$pointQueries = [
132132
'equals' => Query::equal('pointAttr', [[6.0, 6.0]]),
133133
'notEquals' => Query::notEqual('pointAttr', [[1.0, 1.0]]),
134-
'distance' => Query::distance('pointAttr', [[[5.0, 5.0], 1.4142135623730951]]),
135-
'notDistance' => Query::notDistance('pointAttr', [[[1.0, 1.0], 0.0]]),
134+
'distanceEqual' => Query::distanceEqual('pointAttr', [[[5.0, 5.0], 1.4142135623730951]]),
135+
'distanceNotEqual' => Query::distanceNotEqual('pointAttr', [[[1.0, 1.0], 0.0]]),
136136
'intersects' => Query::intersects('pointAttr', [[6.0, 6.0]]),
137137
'notIntersects' => Query::notIntersects('pointAttr', [[1.0, 1.0]])
138138
];
@@ -425,15 +425,15 @@ public function testSpatialOneToMany(): void
425425
], Database::PERMISSION_READ);
426426
$this->assertEmpty($extremelyFar);
427427

428-
// Equal-distance semantics: distance (<=) and notDistance (>), threshold exactly at 0
428+
// Equal-distanceEqual semantics: distanceEqual (<=) and distanceNotEqual (>), threshold exactly at 0
429429
$equalZero = $database->find($child, [
430-
Query::distance('coord', [[[10.0, 10.0], 0.0]])
430+
Query::distanceEqual('coord', [[[10.0, 10.0], 0.0]])
431431
], Database::PERMISSION_READ);
432432
$this->assertNotEmpty($equalZero);
433433
$this->assertEquals('p1', $equalZero[0]->getId());
434434

435435
$notEqualZero = $database->find($child, [
436-
Query::notDistance('coord', [[[10.0, 10.0], 0.0]])
436+
Query::distanceNotEqual('coord', [[[10.0, 10.0], 0.0]])
437437
], Database::PERMISSION_READ);
438438
$this->assertNotEmpty($notEqualZero);
439439
$this->assertEquals('p2', $notEqualZero[0]->getId());
@@ -530,15 +530,15 @@ public function testSpatialManyToOne(): void
530530
], Database::PERMISSION_READ);
531531
$this->assertEmpty($veryFar);
532532

533-
// Equal-distance semantics: distance (<=) and notDistance (>), threshold exactly at 0
533+
// Equal-distanceEqual semantics: distanceEqual (<=) and distanceNotEqual (>), threshold exactly at 0
534534
$equalZero = $database->find($child, [
535-
Query::distance('coord', [[[20.0, 20.0], 0.0]])
535+
Query::distanceEqual('coord', [[[20.0, 20.0], 0.0]])
536536
], Database::PERMISSION_READ);
537537
$this->assertNotEmpty($equalZero);
538538
$this->assertEquals('s1', $equalZero[0]->getId());
539539

540540
$notEqualZero = $database->find($child, [
541-
Query::notDistance('coord', [[[20.0, 20.0], 0.0]])
541+
Query::distanceNotEqual('coord', [[[20.0, 20.0], 0.0]])
542542
], Database::PERMISSION_READ);
543543
$this->assertNotEmpty($notEqualZero);
544544
$this->assertEquals('s2', $notEqualZero[0]->getId());
@@ -598,7 +598,7 @@ public function testSpatialManyToMany(): void
598598
]));
599599
$this->assertInstanceOf(Document::class, $d1);
600600

601-
// Spatial query on "drivers" using point distance
601+
// Spatial query on "drivers" using point distanceEqual
602602
$near = $database->find($a, [
603603
Query::distanceLessThan('home', [[[30.0, 30.0], 0.5]])
604604
], Database::PERMISSION_READ);
@@ -635,15 +635,15 @@ public function testSpatialManyToMany(): void
635635
], Database::PERMISSION_READ);
636636
$this->assertEmpty($moderatelyFar);
637637

638-
// Equal-distance semantics: distance (<=) and notDistance (>), threshold exactly at 0
638+
// Equal-distanceEqual semantics: distanceEqual (<=) and distanceNotEqual (>), threshold exactly at 0
639639
$equalZero = $database->find($a, [
640-
Query::distance('home', [[[30.0, 30.0], 0.0]])
640+
Query::distanceEqual('home', [[[30.0, 30.0], 0.0]])
641641
], Database::PERMISSION_READ);
642642
$this->assertNotEmpty($equalZero);
643643
$this->assertEquals('d1', $equalZero[0]->getId());
644644

645645
$notEqualZero = $database->find($a, [
646-
Query::notDistance('home', [[[30.0, 30.0], 0.0]])
646+
Query::distanceNotEqual('home', [[[30.0, 30.0], 0.0]])
647647
], Database::PERMISSION_READ);
648648
$this->assertEmpty($notEqualZero);
649649

@@ -1156,14 +1156,14 @@ public function testComplexGeometricShapes(): void
11561156
], Database::PERMISSION_READ);
11571157
$this->assertNotEmpty($touchingLine);
11581158

1159-
// Test distance queries between shapes
1159+
// Test distanceEqual queries between shapes
11601160
$nearCenter = $database->find($collectionName, [
11611161
Query::distanceLessThan('circle_center', [[[10, 5], 5.0]]) // Points within 5 units of first center
11621162
], Database::PERMISSION_READ);
11631163
$this->assertNotEmpty($nearCenter);
11641164
$this->assertEquals('rect1', $nearCenter[0]->getId());
11651165

1166-
// Test distance queries to find nearby shapes
1166+
// Test distanceEqual queries to find nearby shapes
11671167
$nearbyShapes = $database->find($collectionName, [
11681168
Query::distanceLessThan('circle_center', [[[40, 4], 15.0]]) // Points within 15 units of second center
11691169
], Database::PERMISSION_READ);
@@ -1205,16 +1205,16 @@ public function testComplexGeometricShapes(): void
12051205
], Database::PERMISSION_READ);
12061206
$this->assertCount(1, $farFromOrigin);
12071207

1208-
// Equal-distance semantics for circle_center
1209-
// rect1 is exactly at [10,5], so distance 0
1208+
// Equal-distanceEqual semantics for circle_center
1209+
// rect1 is exactly at [10,5], so distanceEqual 0
12101210
$equalZero = $database->find($collectionName, [
1211-
Query::distance('circle_center', [[[10, 5], 0.0]])
1211+
Query::distanceEqual('circle_center', [[[10, 5], 0.0]])
12121212
], Database::PERMISSION_READ);
12131213
$this->assertNotEmpty($equalZero);
12141214
$this->assertEquals('rect1', $equalZero[0]->getId());
12151215

12161216
$notEqualZero = $database->find($collectionName, [
1217-
Query::notDistance('circle_center', [[[10, 5], 0.0]])
1217+
Query::distanceNotEqual('circle_center', [[[10, 5], 0.0]])
12181218
], Database::PERMISSION_READ);
12191219
$this->assertNotEmpty($notEqualZero);
12201220
$this->assertEquals('rect2', $notEqualZero[0]->getId());
@@ -1332,7 +1332,7 @@ public function testSpatialQueryCombinations(): void
13321332
], Database::PERMISSION_READ);
13331333
$this->assertCount(0, $farFromTimesSquare);
13341334

1335-
// Test ordering by distance from a specific point
1335+
// Test ordering by distanceEqual from a specific point
13361336
$orderedByDistance = $database->find($collectionName, [
13371337
Query::distanceLessThan('location', [[[40.7829, -73.9654], 0.01]]), // Within ~1km
13381338
Query::limit(10)
@@ -1696,14 +1696,14 @@ public function testSptialAggregation(): void
16961696
$this->assertInstanceOf(Document::class, $b);
16971697
$this->assertInstanceOf(Document::class, $c);
16981698

1699-
// COUNT with spatial distance filter
1699+
// COUNT with spatial distanceEqual filter
17001700
$queries = [
17011701
Query::distanceLessThan('loc', [[[10.0, 10.0], 0.1]])
17021702
];
17031703
$this->assertEquals(2, $database->count($collectionName, $queries));
17041704
$this->assertCount(2, $database->find($collectionName, $queries));
17051705

1706-
// SUM with spatial distance filter
1706+
// SUM with spatial distanceEqual filter
17071707
$sumNear = $database->sum($collectionName, 'score', $queries);
17081708
$this->assertEquals(10 + 20, $sumNear);
17091709

0 commit comments

Comments
 (0)