|
6 | 6 | use PDOException; |
7 | 7 | use Swoole\Database\PDOStatementProxy; |
8 | 8 | use Utopia\Database\Adapter; |
| 9 | +use Utopia\Database\Capability; |
9 | 10 | use Utopia\Database\Change; |
10 | 11 | use Utopia\Database\Database; |
11 | 12 | use Utopia\Database\DateTime; |
@@ -3574,4 +3575,62 @@ public function getLockType(): string |
3574 | 3575 |
|
3575 | 3576 | return ''; |
3576 | 3577 | } |
| 3578 | + |
| 3579 | + public function getAdapterName(): string |
| 3580 | + { |
| 3581 | + return 'SQL'; |
| 3582 | + } |
| 3583 | + |
| 3584 | + public function supports(Capability $capability): bool |
| 3585 | + { |
| 3586 | + return match ($capability) { |
| 3587 | + Capability::Schemas => $this->getSupportForSchemas(), |
| 3588 | + Capability::Attributes => $this->getSupportForAttributes(), |
| 3589 | + Capability::SchemaAttributes => $this->getSupportForSchemaAttributes(), |
| 3590 | + Capability::Index => $this->getSupportForIndex(), |
| 3591 | + Capability::IndexArray => $this->getSupportForIndexArray(), |
| 3592 | + Capability::CastIndexArray => $this->getSupportForCastIndexArray(), |
| 3593 | + Capability::UniqueIndex => $this->getSupportForUniqueIndex(), |
| 3594 | + Capability::FulltextIndex => $this->getSupportForFulltextIndex(), |
| 3595 | + Capability::FulltextWildcardIndex => $this->getSupportForFulltextWildcardIndex(), |
| 3596 | + Capability::MultipleFulltextIndexes => $this->getSupportForMultipleFulltextIndexes(), |
| 3597 | + Capability::TrigramIndex => $this->getSupportForTrigramIndex(), |
| 3598 | + Capability::IdenticalIndexes => $this->getSupportForIdenticalIndexes(), |
| 3599 | + Capability::Casting => $this->getSupportForCasting(), |
| 3600 | + Capability::NumericCasting => $this->getSupportForNumericCasting(), |
| 3601 | + Capability::InternalCasting => $this->getSupportForInternalCasting(), |
| 3602 | + Capability::UTCCasting => $this->getSupportForUTCCasting(), |
| 3603 | + Capability::QueryContains => $this->getSupportForQueryContains(), |
| 3604 | + Capability::JSONOverlaps => $this->getSupportForJSONOverlaps(), |
| 3605 | + Capability::Timeouts => $this->getSupportForTimeouts(), |
| 3606 | + Capability::Relationships => $this->getSupportForRelationships(), |
| 3607 | + Capability::UpdateLock => $this->getSupportForUpdateLock(), |
| 3608 | + Capability::BatchOperations => $this->getSupportForBatchOperations(), |
| 3609 | + Capability::AttributeResizing => $this->getSupportForAttributeResizing(), |
| 3610 | + Capability::GetConnectionId => $this->getSupportForGetConnectionId(), |
| 3611 | + Capability::Upserts => $this->getSupportForUpserts(), |
| 3612 | + Capability::Vectors => $this->getSupportForVectors(), |
| 3613 | + Capability::CacheSkipOnFailure => $this->getSupportForCacheSkipOnFailure(), |
| 3614 | + Capability::Reconnection => $this->getSupportForReconnection(), |
| 3615 | + Capability::Hostname => $this->getSupportForHostname(), |
| 3616 | + Capability::BatchCreateAttributes => $this->getSupportForBatchCreateAttributes(), |
| 3617 | + Capability::SpatialAttributes => $this->getSupportForSpatialAttributes(), |
| 3618 | + Capability::SpatialIndexNull => $this->getSupportForSpatialIndexNull(), |
| 3619 | + Capability::SpatialIndexOrder => $this->getSupportForSpatialIndexOrder(), |
| 3620 | + Capability::SpatialAxisOrder => $this->getSupportForSpatialAxisOrder(), |
| 3621 | + Capability::OptionalSpatialAttributeWithExistingRows => $this->getSupportForOptionalSpatialAttributeWithExistingRows(), |
| 3622 | + Capability::BoundaryInclusiveContains => $this->getSupportForBoundaryInclusiveContains(), |
| 3623 | + Capability::DistanceBetweenMultiDimensionGeometryInMeters => $this->getSupportForDistanceBetweenMultiDimensionGeometryInMeters(), |
| 3624 | + Capability::Object => $this->getSupportForObject(), |
| 3625 | + Capability::ObjectIndexes => $this->getSupportForObjectIndexes(), |
| 3626 | + Capability::Operators => $this->getSupportForOperators(), |
| 3627 | + Capability::OrderRandom => $this->getSupportForOrderRandom(), |
| 3628 | + Capability::AlterLocks => $this->getSupportForAlterLocks(), |
| 3629 | + Capability::NonUtfCharacters => $this->getSupportNonUtfCharacters(), |
| 3630 | + Capability::IntegerBooleans => $this->getSupportForIntegerBooleans(), |
| 3631 | + Capability::PCRERegex => $this->getSupportForPCRERegex(), |
| 3632 | + Capability::POSIXRegex => $this->getSupportForPOSIXRegex(), |
| 3633 | + Capability::Regex => $this->getSupportForRegex(), |
| 3634 | + }; |
| 3635 | + } |
3577 | 3636 | } |
0 commit comments