From 296df39464cdece1df235159b84bc2d545177f6b Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 23 Jul 2024 17:46:51 -0400 Subject: [PATCH 01/20] Scaffold page with Kotlin examples and descriptions --- ...elete-inverse-relationship-description.rst | 4 + ...ll-objects-in-the-database-description.rst | 4 + ...delete-all-objects-of-type-description.rst | 6 + ...ct-and-its-related-objects-description.rst | 3 + .../delete-embedded-object-description.rst | 15 + ...lete-mixed-property-values-description.rst | 2 + .../delete-multiple-objects-description.rst | 7 + .../kotlin/crud/delete-objects-procedure.rst | 42 + .../crud/delete-operations-description.rst | 11 + .../delete-related-objects-description.rst | 3 + ...ove-dictionary-keys-values-description.rst | 15 + ...-remove-elements-from-list-description.rst | 22 + ...e-remove-elements-from-set-description.rst | 22 + .../crud/delete-single-object-description.rst | 7 + .../crud/delete-operations-description.rst | 5 + .../delete-all-objects-in-the-database.rst | 66 ++ .../crud/delete-all-objects-of-type.rst | 66 ++ ...lete-an-object-and-its-related-objects.rst | 66 ++ .../crud/delete-embedded-object.rst | 66 ++ .../crud/delete-inverse-relationship.rst | 71 ++ .../crud/delete-mixed-property-values.rst | 66 ++ .../crud/delete-multiple-object.rst | 66 ++ .../sdk-examples/crud/delete-operations.rst | 66 ++ .../crud/delete-related-objects.rst | 66 ++ .../delete-remove-dictionary-keys-values.rst | 66 ++ .../crud/delete-remove-elements-from-list.rst | 66 ++ .../crud/delete-remove-elements-from-set.rst | 66 ++ .../crud/delete-single-object.rst | 66 ++ source/sdk/crud/delete.txt | 963 +++++++++++++++++- 29 files changed, 1990 insertions(+), 4 deletions(-) create mode 100644 source/includes/api-details/cpp/crud/delete-inverse-relationship-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-all-objects-in-the-database-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-an-object-and-its-related-objects-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-embedded-object-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-related-objects-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst create mode 100644 source/includes/api-details/kotlin/crud/delete-single-object-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-operations-description.rst create mode 100644 source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst create mode 100644 source/includes/sdk-examples/crud/delete-all-objects-of-type.rst create mode 100644 source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst create mode 100644 source/includes/sdk-examples/crud/delete-embedded-object.rst create mode 100644 source/includes/sdk-examples/crud/delete-inverse-relationship.rst create mode 100644 source/includes/sdk-examples/crud/delete-mixed-property-values.rst create mode 100644 source/includes/sdk-examples/crud/delete-multiple-object.rst create mode 100644 source/includes/sdk-examples/crud/delete-operations.rst create mode 100644 source/includes/sdk-examples/crud/delete-related-objects.rst create mode 100644 source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst create mode 100644 source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst create mode 100644 source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst create mode 100644 source/includes/sdk-examples/crud/delete-single-object.rst diff --git a/source/includes/api-details/cpp/crud/delete-inverse-relationship-description.rst b/source/includes/api-details/cpp/crud/delete-inverse-relationship-description.rst new file mode 100644 index 0000000000..22eb0a2254 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-inverse-relationship-description.rst @@ -0,0 +1,4 @@ +In this example, a ``Person`` has a to-one relationship to a ``Dog``, +and the ``Dog`` has an inverse relationship to ``Person``. +Setting the ``Person.dog`` relationship to ``nullptr`` removes the inverse +relationship from the ``Dog`` object. diff --git a/source/includes/api-details/kotlin/crud/delete-all-objects-in-the-database-description.rst b/source/includes/api-details/kotlin/crud/delete-all-objects-in-the-database-description.rst new file mode 100644 index 0000000000..f19c2d868b --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-all-objects-in-the-database-description.rst @@ -0,0 +1,4 @@ +To delete *all* objects from the database at the same time, call +:kotlin-sdk:`mutableRealm.deleteAll() +`. This deletes all objects of +all types. diff --git a/source/includes/api-details/kotlin/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/kotlin/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..91b876ef3e --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,6 @@ +To delete all objects of a specific type from the database at the same time, +pass the object type to ``query()`` and leave the query filter empty to return +all objects of that type. + +In the following example, we query for all ``Frog`` objects, and then pass +the results to ``mutableRealm.delete()`` to delete them all from the database: diff --git a/source/includes/api-details/kotlin/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/kotlin/crud/delete-an-object-and-its-related-objects-description.rst new file mode 100644 index 0000000000..db0759664e --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-an-object-and-its-related-objects-description.rst @@ -0,0 +1,3 @@ +In the following example, we query for a ``Frog`` object named "Kermit", then +iterate through the object's ``favoritePonds`` property and delete +each ``Pond`` object. Then, we delete the ``Frog`` object itself: diff --git a/source/includes/api-details/kotlin/crud/delete-embedded-object-description.rst b/source/includes/api-details/kotlin/crud/delete-embedded-object-description.rst new file mode 100644 index 0000000000..46af648a18 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-embedded-object-description.rst @@ -0,0 +1,15 @@ +.. tip:: Get Embedded Object's Parent + + You can get the unique parent of an embedded object using + :kotlin-sdk:`parent() `. + +In the following example, we have a ``Business`` object with a list of +embedded ``EmbeddedAddress`` objects. We query for and delete the ``Business`` object, +which automatically deletes all of its embedded ``EmbeddedAddress`` objects: + +.. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-embedded-object-through-parent.kt + :language: kotlin + +In the following example, we have ``Contact`` objects with embedded +``EmbeddedAddress`` objects. We delete an ``EmbeddedAddress`` object directly and delete +another through the parent object: diff --git a/source/includes/api-details/kotlin/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/kotlin/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..87154d1918 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-mixed-property-values-description.rst @@ -0,0 +1,2 @@ +In the following example, we have a ``Frog`` object with a list of +``RealmAny`` properties, and we clear the first ``RealmAny`` property value: diff --git a/source/includes/api-details/kotlin/crud/delete-multiple-objects-description.rst b/source/includes/api-details/kotlin/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..ef3a326651 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-multiple-objects-description.rst @@ -0,0 +1,7 @@ +To delete multiple objects at the same time, pass the object type to +``query()`` and specify a query that returns all objects that you want +to delete. + +In the following example, we query for the first three ``Frog`` objects whose +``species`` is "bullfrog", and then pass the results to +``mutableRealm.delete()`` to delete them from the database: diff --git a/source/includes/api-details/kotlin/crud/delete-objects-procedure.rst b/source/includes/api-details/kotlin/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..be4c3649d7 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-objects-procedure.rst @@ -0,0 +1,42 @@ +1. Open a write transaction with :kotlin-sdk:`realm.write() + ` or + :kotlin-sdk:`realm.writeBlocking() + `. + +#. Get the live objects by querying the transaction's :kotlin-sdk:`MutableRealm + ` + for the objects that you want to delete using the + :kotlin-sdk:`query() ` method: + + #. Specify the object type as a type parameter passed to ``query()``. + #. (Optional) Filter the set of returned objects by specifying a query. + If you don't include a query filter, you return all objects of the + specified type. For more information on querying with the SDK, refer to + :ref:`sdks-crud-read`. + + .. important:: Objects Must Be Live + + You can only delete live objects. If your query occurs outside of the + write transaction, you must convert the frozen objects + to live objects in the transaction with + ``mutableRealm.findLatest()``. + +#. Pass the set of :kotlin-sdk:`RealmResults + ` returned by the query to + :kotlin-sdk:`mutableRealm.delete() `. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by calling + :kotlin-sdk:`isValid() `. + Deleted objects return ``false``. diff --git a/source/includes/api-details/kotlin/crud/delete-operations-description.rst b/source/includes/api-details/kotlin/crud/delete-operations-description.rst new file mode 100644 index 0000000000..6e83fe39a5 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-operations-description.rst @@ -0,0 +1,11 @@ +Write transactions are passed to the database's +:kotlin-sdk:`write() ` or +:kotlin-sdk:`writeBlocking() ` +method. Within this callback, you can access a +:kotlin-sdk:`MutableRealm ` +instance and then delete objects within the database. + +You can only delete live objects, which are only accessible inside of a +write transaction. You can convert a frozen object to a +live object in a transaction with :kotlin-sdk:`mutableRealm.findLatest() +`. diff --git a/source/includes/api-details/kotlin/crud/delete-related-objects-description.rst b/source/includes/api-details/kotlin/crud/delete-related-objects-description.rst new file mode 100644 index 0000000000..91cad44161 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-related-objects-description.rst @@ -0,0 +1,3 @@ +In the following example, we have a ``Frog`` object with a list of +``Pond`` objects. After we delete the ``Frog`` object, we confirm that all +``Pond`` objects still remain in the database: diff --git a/source/includes/api-details/kotlin/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/kotlin/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..b149702ca7 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,15 @@ +You can remove +:kotlin-sdk:`RealmDictionary ` +entries in a few ways: + +- To remove the value but keep the key, set the key to ``null`` (the + dictionary's value must be nullable) +- To remove the key and the value, pass the key to + :kotlin-sdk:`remove() ` + +You can also remove *all* keys and values by calling +:kotlin-sdk:`clear() `. + +In the following example, we have a ``Frog`` object with a dictionary of +``String`` values. We remove the dictionary elements in a series of operations +until the dictionary is empty: diff --git a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..ba0dd86db3 --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,22 @@ +You can remove one or more elements in a single transaction from a +:kotlin-sdk:`RealmList `: + +- To remove one element from the list, pass the element to + :kotlin-sdk:`list.remove() `. +- To remove one element at a specified index in the list, pass the index to + :kotlin-sdk:`list.removeAt() `. +- To remove multiple elements from the list, pass the elements to + :kotlin-sdk:`list.removeAll() `. + +You can also remove *all* list elements at once by calling +:kotlin-sdk:`list.clear() `. + +In the following example, we have a ``Forest`` object with a list of +``Pond`` objects. We remove the list elements in a series of operations until the +list is empty: + +.. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.remove-items-from-list.kt + :language: kotlin + +In the following example, we have a ``Forest`` object with a list of +``Pond`` objects. We remove all list elements with the ``list.clear()`` method: diff --git a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..0c69d4069e --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,22 @@ +You can remove one or more elements in a single transaction from a +:kotlin-sdk:`RealmSet `: + +- To remove one element from the set, pass the element + you want to delete to + :kotlin-sdk:`set.remove() `. +- To remove multiple elements from the set, pass the + elements you want to delete to + :kotlin-sdk:`set.removeAll() `. + +You can also remove *all* set elements at once by calling +:kotlin-sdk:`set.clear() `. + +In the following example, we have a ``Frog`` object with a set of +``Snack`` objects. We remove the set elements in a series of operations until the +set is empty: + +.. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.remove-item-from-set.kt + :language: kotlin + +In the following example, we have a ``Frog`` object with a set of +``Snack`` objects. We remove all set elements with the ``set.clear()`` method: diff --git a/source/includes/api-details/kotlin/crud/delete-single-object-description.rst b/source/includes/api-details/kotlin/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..42b1a289dc --- /dev/null +++ b/source/includes/api-details/kotlin/crud/delete-single-object-description.rst @@ -0,0 +1,7 @@ +To delete a single ``RealmObject`` object, +query for the object type using a filter +that returns the specific object that you want to delete. + +In the following example, we query for a ``Frog`` object with a specific +primary key, and then pass the returned object to ``mutableRealm.delete()`` to +delete it from the database: diff --git a/source/includes/api-details/swift/crud/delete-operations-description.rst b/source/includes/api-details/swift/crud/delete-operations-description.rst new file mode 100644 index 0000000000..fc33421ed8 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-operations-description.rst @@ -0,0 +1,5 @@ +You can only delete live objects. If you are working with a frozen object, +such as when passing an object across threads, you can convert the frozen +object to a live object by calling the :swift-sdk:`thaw() +` method. +You can thaw objects, collections, or database instances. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst new file mode 100644 index 0000000000..5accc26e47 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-all-realm-objects.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst new file mode 100644 index 0000000000..a89b293cb7 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-all-realm-object-types.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst new file mode 100644 index 0000000000..311bfebbb2 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.chain-delete-realm-list.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst new file mode 100644 index 0000000000..90777d7a67 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-embedded-object.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-inverse-relationship.rst b/source/includes/sdk-examples/crud/delete-inverse-relationship.rst new file mode 100644 index 0000000000..67b5dfa7d9 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-inverse-relationship.rst @@ -0,0 +1,71 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/relationships.snippet.delete-inverse-relationship.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + :copyable: false + + - id: dart + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.dart + :language: dart + :copyable: false + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.java + :language: java + :copyable: false + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + :language: kotlin + :copyable: false + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + :copyable: false + + - id: kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.kt + :language: kotlin + :copyable: false + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.m + :language: objectivec + :copyable: false + + - id: swift + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.swift + :language: swift + :copyable: false + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst new file mode 100644 index 0000000000..400f0ad33a --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-realmany-property.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-multiple-object.rst b/source/includes/sdk-examples/crud/delete-multiple-object.rst new file mode 100644 index 0000000000..5fd41428f0 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-multiple-object.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-multiple-realm-objects.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-operations.rst b/source/includes/sdk-examples/crud/delete-operations.rst new file mode 100644 index 0000000000..208edf2a12 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-operations.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.fetch-latest-to-delete-object.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst new file mode 100644 index 0000000000..10f65639ed --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-realm-object-with-related-objects.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst new file mode 100644 index 0000000000..c5a130922e --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-realm-dictionary.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst new file mode 100644 index 0000000000..2110db2684 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.list-clear.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst new file mode 100644 index 0000000000..026848ebf4 --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.clear-set.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/crud/delete-single-object.rst b/source/includes/sdk-examples/crud/delete-single-object.rst new file mode 100644 index 0000000000..652f518a2a --- /dev/null +++ b/source/includes/sdk-examples/crud/delete-single-object.rst @@ -0,0 +1,66 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/CRUD/Delete.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + :language: java + :emphasize-lines: 4 + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + :language: kotlin + :emphasize-lines: 6 + + - id: javascript + content: | + + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + :language: javascript + :emphasize-lines: 3 + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/DeleteTest.snippet.delete-one-realm-object.kt + :language: kotlin + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index e873cb14c6..fc6134a681 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -1,8 +1,20 @@ .. _sdks-crud-delete: -============== -Delete Objects -============== +================================== +Delete Objects and Property Values +================================== + +.. meta:: + :description: Provide a short description of the consolidated page. This is critical for SEO. + :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, .NET SDK, Node.js SDK, Swift SDK, code example + +.. facet:: + :name: genre + :values: reference + +.. facet:: + :name: programming_language + :values: cpp, csharp, dart, java, javascript/typescript, kotlin, objective-c, swift .. contents:: On this page :local: @@ -10,4 +22,947 @@ Delete Objects :depth: 2 :class: singlecol -Placeholder page for content related to deleting objects. +.. tabs-selector:: drivers + +This page describes how to delete objects from a non-synced or synced database +using Atlas Device SDK. + +You can choose to delete a single object, multiple objects, or all +objects from the database. After you delete an object, you can no longer access +or modify it. If you try to use a deleted object, the SDK throws an error. + +Deleting objects from a database *does not* delete the database file or affect +the database schema. It only deletes the object instance from the database. If +you want to delete the database file itself, refer to :ref:`sdks-delete-file`. +If you want to remove objects or properties from the database schema, refer to +:ref:`sdks-change-object-model`. + +.. note:: Write to a Synced Database + + The syntax to delete an object from the database is the same for a non-synced + or a synced database. However, there are additional considerations that + determine whether the delete operation in a synced database is successful. + For more information, refer to :ref:`sdks-write-synced-database`. + +.. _sdks-delete-operations: + +Delete Operations +----------------- + +All operations that modify a realm - including delete operations - +must be performed inside of a **write transaction**. For more information on +write transactions and how the SDK handles them, refer to +:ref:`sdks-write-transactions`. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-operations-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + + +.. include:: /includes/sdk-examples/crud/delete-operations.rst + +.. _sdks-related-objects-and-references: + +Related Objects and References +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When you delete an object that has a :ref:`relationship ` +property with another object, the SDK *does not* automatically +delete the instance of the related object. Instead, the SDK only +deletes the *reference* to the other object. The referenced object instance +remains in the database, but it can no longer be queried through the +relationship property. + +:ref:`Embedded objects ` are handled differently. +When you delete an object that contains an embedded object, the SDK +automatically deletes the embedded object in a **cascading delete**. +This is because embedded objects do not have a lifecycle outside of their +parent object. For more information, refer to the +:ref:`sdks-delete-embedded-object` section on this page. + +Chaining Deletes with Related SDK Objects +````````````````````````````````````````` + +If you want to delete any related objects when you delete a parent object, +we recommend performing a **chaining delete**. A chaining delete consists +of manually deleting dependent objects by iterating through the +dependencies and deleting them before deleting the parent object. +For more information on chaining deletes, refer to the +:ref:`sdks-delete-related-objects` section on this page. + +If you do not delete the related objects yourself, they remain in your +database. Whether or not this is a problem depends on your application's +needs. + +.. _sdks-delete-objects-procedure: + +Delete Objects +-------------- + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-objects-procedure.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + +.. _sdks-delete-single-object: + +Delete a Single Object +~~~~~~~~~~~~~~~~~~~~~~ + +.. tip:: Use Unique Identifying Information + + We recommend using unique identifying information to find the object you + want to delete, such as a :ref:`primary key ` value, to + ensure your query returns the correct object. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-single-object-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-single-object.rst + +.. _sdks-delete-multiple-objects: + +Delete Multiple Objects +~~~~~~~~~~~~~~~~~~~~~~~ + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-multiple-objects-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-multiple-objects.rst + +.. _sdks-delete-all-objects-of-type: + +Delete All Objects of a Type +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-all-objects-of-type-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-all-objects-of-type.rst + +.. _sdks-delete-all-objects-in-database: + +Delete All Objects in the Database +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The SDK lets you delete all managed objects of all types, which is useful +for quickly clearing out your database while prototyping. For example, instead +of writing a migration to update objects to a new schema, it may be faster to +delete all, and then re-generate the objects with the app itself. + +This does not affect the database schema or any objects that are not managed +by the database instance. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-all-objects-in-the-database-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-all-objects-in-the-database.rst + +.. _sdks-delete-related-objects: + +Delete Related Objects +---------------------- + +Deleting an object *does not* automatically delete any objects that are +related to it unless the related object is embedded. Instead, the SDK only +deletes the reference to the related object. + +You can optionally define logic in your app to delete related objects. Or if +an object lifecycle should not outlive a parent object, model it as an embedded +object instead of an independent object with a relationship. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-related-objects-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-related-objects.rst + +.. _sdks-delete-object-and-its-related-objects: + +Delete an Object and Its Related Objects +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To delete related objects when you delete a parent object, you must manually +delete the related objects yourself. We recommend chaining deletes: +first query for the parent object that you want to delete, then iterate +through the parent object's relationships and delete each related object. +Finally, delete the parent object itself. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-an-object-and-its-related-objects-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst + +.. _sdks-delete-embedded-object: + +Delete an Embedded Object +~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warning:: The SDK Uses Cascading Deletes for Embedded Objects + + When you delete a ``Realm`` object, the SDK automatically deletes any + embedded objects referenced by that object. This is because embedded objects + are objects tha do not exist independent of the ``Realm`` object, and do + not have their own lifecycle. If you want the referenced objects to persist + after the deletion of the main object, use a regular ``Realm`` object with a + :ref:`to-one relationship ` instead. + +You can delete an embedded object through the parent object in a cascading +delete or by deleting the embedded object directly. + +- To delete the embedded object through the parent object, fetch and delete + the parent object. The SDK automatically deletes all of its embedded objects + from the database. +- To delete an embedded object instance directly: + + - Fetch and delete a specific embedded object. + - Clear the parent's reference to the embedded object, which also + deletes the embedded object instance. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/delete-embedded-object-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-embedded-object.rst + +.. _sdks-delete-property-values: + +Delete Property Values +---------------------- + +.. _sdks-delete-inverse-relationship: + +Delete an Inverse Relationship +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can't delete an inverse relationship directly. Instead, an +inverse relationship automatically updates by removing the relationship +through the related object. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/cpp/crud/delete-inverse-relationship-description.rst + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-inverse-relationship.rst + +.. _sdks-delete-mixed-property-values: + +Delete Mixed Property Values +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Although mixed property instances *cannot* store null values, you can +delete a mixed property value by assigning your language's implementation of +``null`` or ``nil`` directly to the property. For more information on the +mixed data type, refer to :ref:`sdks-mixed-data-type`. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/cpp/crud/delete-mixed-property-values-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-mixed-property-values.rst + +.. _sdks-remove-elements-from-collections: + +Remove Elements from Collections +-------------------------------- + +SDK collection instances that contain objects only store references to those +objects. You can remove one or more referenced objects from a collection +without deleting the objects themselves. The objects that you remove from a +collection remain in the database until you manually delete them. +Alternatively, deleting an SDK object from a database also deletes that object +from any collection instances that contain the object. + +.. _sdks-remove-elements-from-list: + +Remove Elements from a List +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-remove-elements-from-list.rst + +.. _sdks-remove-elements-from-set: + +Remove Elements from a Set +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-remove-elements-from-set.rst + +.. _sdks-remove-dictionary-keys-values: + +Remove Dictionary Keys/Values +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + + + .. tab:: + :tabid: csharp + + + + .. tab:: + :tabid: dart + + + + .. tab:: + :tabid: java + + + + .. tab:: + :tabid: java-kotlin + + + + .. tab:: + :tabid: javascript + + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst + + .. tab:: + :tabid: objectivec + + + + .. tab:: + :tabid: swift + + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst From a8799214fd6e47213854164bf0384a4b4b33b567 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 23 Jul 2024 17:53:05 -0400 Subject: [PATCH 02/20] Fix snooty build errors --- ...te-multiple-object.rst => delete-multiple-objects.rst} | 0 source/sdk/crud/delete.txt | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) rename source/includes/sdk-examples/crud/{delete-multiple-object.rst => delete-multiple-objects.rst} (100%) diff --git a/source/includes/sdk-examples/crud/delete-multiple-object.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst similarity index 100% rename from source/includes/sdk-examples/crud/delete-multiple-object.rst rename to source/includes/sdk-examples/crud/delete-multiple-objects.rst diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index fc6134a681..87ecb3f7a7 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -763,7 +763,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: kotlin - .. include:: /includes/api-details/cpp/crud/delete-mixed-property-values-description.rst + .. include:: /includes/api-details/kotlin/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: objectivec @@ -833,7 +833,7 @@ Remove Elements from a List .. tab:: :tabid: kotlin - .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst + .. include:: /includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: objectivec @@ -891,7 +891,7 @@ Remove Elements from a Set .. tab:: :tabid: kotlin - .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst + .. include:: /includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: objectivec @@ -949,7 +949,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: kotlin - .. include:: /includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst + .. include:: /includes/api-details/kotlin/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: objectivec From ca25bc80cd7b61fc6f799aa60a4ae405385e2f88 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 16:45:32 -0400 Subject: [PATCH 03/20] Add C++ examples --- .../cpp/crud/delete-objects-procedure.rst | 25 +++++++++++++++++++ .../crud/delete-operations-description.rst | 3 +++ ...ove-dictionary-keys-values-description.rst | 3 +++ ...e-remove-elements-from-set-description.rst | 3 +++ .../crud/delete-single-object-description.rst | 3 +++ .../delete-all-objects-in-the-database.rst | 3 ++- .../crud/delete-all-objects-of-type.rst | 3 ++- ...lete-an-object-and-its-related-objects.rst | 3 ++- .../crud/delete-embedded-object.rst | 3 ++- .../crud/delete-mixed-property-values.rst | 3 ++- .../crud/delete-multiple-objects.rst | 3 ++- .../crud/delete-related-objects.rst | 3 ++- .../delete-remove-dictionary-keys-values.rst | 2 +- .../crud/delete-remove-elements-from-list.rst | 3 ++- .../crud/delete-remove-elements-from-set.rst | 2 +- source/sdk/crud/delete.txt | 10 ++++---- 16 files changed, 60 insertions(+), 15 deletions(-) create mode 100644 source/includes/api-details/cpp/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/cpp/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst create mode 100644 source/includes/api-details/cpp/crud/delete-single-object-description.rst diff --git a/source/includes/api-details/cpp/crud/delete-objects-procedure.rst b/source/includes/api-details/cpp/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..f10dc52bc8 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-objects-procedure.rst @@ -0,0 +1,25 @@ +1. Open a write transaction with :cpp-sdk:`db.write() + `. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object or thread-safe reference, you must ``thaw()`` the object or + ``resolve()`` the thread-safe reference before deleting the object. + For more details, refer to :ref:`sdks-threading`. + +#. Call the ``remove()`` method with the object you want to delete as an + argument. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. diff --git a/source/includes/api-details/cpp/crud/delete-operations-description.rst b/source/includes/api-details/cpp/crud/delete-operations-description.rst new file mode 100644 index 0000000000..f22d8c9602 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-operations-description.rst @@ -0,0 +1,3 @@ +To delete an object from the database, pass the object to the +:cpp-sdk:`db.remove() function ` +inside of a write transaction. diff --git a/source/includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..68486b7f90 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,3 @@ +To delete a :cpp-sdk:`map key +`, +pass the key name to ``erase()``. diff --git a/source/includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..5cecc53bea --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,3 @@ +You can delete a :cpp-sdk:`set element +` +with ``erase()``, or remove all elements from a set with ``clear()``. diff --git a/source/includes/api-details/cpp/crud/delete-single-object-description.rst b/source/includes/api-details/cpp/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..f22d8c9602 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-single-object-description.rst @@ -0,0 +1,3 @@ +To delete an object from the database, pass the object to the +:cpp-sdk:`db.remove() function ` +inside of a write transaction. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index 5accc26e47..ff0c4eee67 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/api.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index a89b293cb7..331da7738b 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/api.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index 311bfebbb2..233aa22cb3 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index 90777d7a67..ba968f63af 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index 400f0ad33a..52e5d12e07 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index 5fd41428f0..c583ed9206 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index 10f65639ed..8c53cd6f45 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index c5a130922e..b71f3d2b82 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -4,7 +4,7 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-map-value.cpp :language: cpp - id: csharp diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index 2110db2684..a8ea57d706 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -4,8 +4,9 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/MissingPlaceholders/example.cpp :language: cpp + :copyable: false - id: csharp content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 026848ebf4..5d423962a7 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -4,7 +4,7 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-an-object.cpp + .. literalinclude:: /examples/generated/cpp/crud.snippet.delete-set.cpp :language: cpp - id: csharp diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 87ecb3f7a7..4eb3f9db6e 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -59,7 +59,7 @@ write transactions and how the SDK handles them, refer to .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-operations-description.rst .. tab:: :tabid: csharp @@ -151,7 +151,7 @@ Delete Objects .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-objects-procedure.rst .. tab:: :tabid: csharp @@ -212,7 +212,7 @@ Delete a Single Object .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-single-object-description.rst .. tab:: :tabid: csharp @@ -861,7 +861,7 @@ Remove Elements from a Set .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: csharp @@ -919,7 +919,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: csharp From a89371410d2849fa32042cbcd5a0f3cd3f35fd3f Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 16:53:01 -0400 Subject: [PATCH 04/20] Add C# examples --- .../csharp/crud/delete-single-object-description.rst | 0 .../sdk-examples/crud/delete-all-objects-in-the-database.rst | 2 +- .../includes/sdk-examples/crud/delete-all-objects-of-type.rst | 2 +- .../crud/delete-an-object-and-its-related-objects.rst | 2 +- source/includes/sdk-examples/crud/delete-embedded-object.rst | 3 ++- .../sdk-examples/crud/delete-mixed-property-values.rst | 3 ++- source/includes/sdk-examples/crud/delete-multiple-objects.rst | 2 +- source/includes/sdk-examples/crud/delete-related-objects.rst | 2 +- .../sdk-examples/crud/delete-remove-dictionary-keys-values.rst | 3 ++- .../sdk-examples/crud/delete-remove-elements-from-list.rst | 3 ++- .../sdk-examples/crud/delete-remove-elements-from-set.rst | 3 ++- 11 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 source/includes/api-details/csharp/crud/delete-single-object-description.rst diff --git a/source/includes/api-details/csharp/crud/delete-single-object-description.rst b/source/includes/api-details/csharp/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index ff0c4eee67..32166ca943 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -11,7 +11,7 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/CRUD/DeleteAll.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index 331da7738b..da25bfa6f2 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -11,7 +11,7 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/CRUD/DeleteAllOfClass.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index 233aa22cb3..133fc8b6f3 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -11,7 +11,7 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/CRUD/ChainingDelete.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index ba968f63af..892546de56 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -11,8 +11,9 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index 52e5d12e07..453d01c301 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -11,8 +11,9 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index c583ed9206..22af766bd2 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -11,7 +11,7 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/CRUD/DeleteCollection.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index 8c53cd6f45..695f191592 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -11,7 +11,7 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index b71f3d2b82..2feba9bffe 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -10,8 +10,9 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index a8ea57d706..7f98129266 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -11,8 +11,9 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 5d423962a7..44f3de7109 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -10,8 +10,9 @@ - id: csharp content: | - .. literalinclude:: /examples/CRUD/Delete.cs + .. literalinclude:: /examples/MissingPlaceholders/example.cs :language: csharp + :copyable: false - id: dart content: | From 9668858b2150be82a7502f960792f1537f905a2e Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 17:02:52 -0400 Subject: [PATCH 05/20] Add Dart examples --- .../dart/crud/delete-all-objects-of-type-description.rst | 2 ++ .../dart/crud/delete-multiple-objects-description.rst | 2 ++ .../dart/crud/delete-single-object-description.rst | 2 ++ .../crud/delete-all-objects-in-the-database.rst | 3 ++- .../sdk-examples/crud/delete-all-objects-of-type.rst | 2 +- .../crud/delete-an-object-and-its-related-objects.rst | 3 ++- .../includes/sdk-examples/crud/delete-embedded-object.rst | 3 ++- .../sdk-examples/crud/delete-mixed-property-values.rst | 3 ++- .../includes/sdk-examples/crud/delete-multiple-objects.rst | 2 +- .../includes/sdk-examples/crud/delete-related-objects.rst | 2 +- .../crud/delete-remove-dictionary-keys-values.rst | 3 ++- .../sdk-examples/crud/delete-remove-elements-from-list.rst | 3 ++- .../sdk-examples/crud/delete-remove-elements-from-set.rst | 3 ++- source/sdk/crud/delete.txt | 6 +++--- 14 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 source/includes/api-details/dart/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-single-object-description.rst diff --git a/source/includes/api-details/dart/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/dart/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..689b32f720 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,2 @@ +Delete all objects of a type in the database with :flutter-sdk:`Realm.deleteAll() ` +in a write transaction block. diff --git a/source/includes/api-details/dart/crud/delete-multiple-objects-description.rst b/source/includes/api-details/dart/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..7e839d0f1d --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-multiple-objects-description.rst @@ -0,0 +1,2 @@ +Delete multiple objects from the database by calling :flutter-sdk:`Realm.deleteMany() +` in a write transaction block. diff --git a/source/includes/api-details/dart/crud/delete-single-object-description.rst b/source/includes/api-details/dart/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..8daeb52847 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-single-object-description.rst @@ -0,0 +1,2 @@ +Delete an object from the database by calling :flutter-sdk:`Realm.delete() +` in a write transaction block. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index 32166ca943..9b6db21d43 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -17,8 +17,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/api.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index da25bfa6f2..a512a872d7 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -17,7 +17,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-all-objects-of-type.dart :language: dart - id: java diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index 133fc8b6f3..3730996029 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -17,8 +17,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index 892546de56..3f477b150f 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -18,8 +18,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index 453d01c301..2719931e8a 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -18,8 +18,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index 22af766bd2..a629edf3a2 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -17,7 +17,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-multiple-objects.dart :language: dart - id: java diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index 695f191592..d04a1745fb 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -17,7 +17,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart - id: java diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index 2feba9bffe..20ff514905 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -17,8 +17,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index 7f98129266..c91f8346c7 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -18,8 +18,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 44f3de7109..0a6b9bd18b 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -17,8 +17,9 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/read_write_data_test.snippet.delete-one-object.dart + .. literalinclude:: /examples/MissingPlaceholders/example.dart :language: dart + :copyable: false - id: java content: | diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 4eb3f9db6e..58648ce04c 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -222,7 +222,7 @@ Delete a Single Object .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-single-object-description.rst .. tab:: :tabid: java @@ -280,7 +280,7 @@ Delete Multiple Objects .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-multiple-objects-description.rst .. tab:: :tabid: java @@ -338,7 +338,7 @@ Delete All Objects of a Type .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: java From 432e4eef1e3a36b90803cd396741e2d2dcf38e51 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 17:24:40 -0400 Subject: [PATCH 06/20] Add Java examples --- ...ll-objects-in-the-database-description.rst | 3 +++ ...delete-all-objects-of-type-description.rst | 3 +++ ...ct-and-its-related-objects-description.rst | 3 +++ .../delete-multiple-objects-description.rst | 9 +++++++++ .../crud/delete-single-object-description.rst | 7 +++++++ .../delete-all-objects-in-the-database.rst | 8 ++++---- .../crud/delete-all-objects-of-type.rst | 8 ++++---- ...lete-an-object-and-its-related-objects.rst | 6 +++--- .../crud/delete-embedded-object.rst | 8 ++++---- .../crud/delete-mixed-property-values.rst | 8 ++++---- .../crud/delete-multiple-objects.rst | 4 ++-- .../crud/delete-related-objects.rst | 8 ++++---- .../delete-remove-dictionary-keys-values.rst | 8 ++++---- .../crud/delete-remove-elements-from-list.rst | 8 ++++---- .../crud/delete-remove-elements-from-set.rst | 8 ++++---- source/sdk/crud/delete.txt | 20 +++++++++---------- 16 files changed, 72 insertions(+), 47 deletions(-) create mode 100644 source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst create mode 100644 source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst create mode 100644 source/includes/api-details/java/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/java/crud/delete-single-object-description.rst diff --git a/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst b/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst new file mode 100644 index 0000000000..d7855e1841 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst @@ -0,0 +1,3 @@ +The following example demonstrates how to delete everything +from the database with :java-sdk:`deleteAll() +`. diff --git a/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..38c3f10e64 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,3 @@ +The following example demonstrates how to delete all +Turtle instances from the database with :java-sdk:`delete() +`. diff --git a/source/includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst new file mode 100644 index 0000000000..9ad58ecd01 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst @@ -0,0 +1,3 @@ +The following example demonstrates how to perform a +chaining delete by first deleting all of Ali's turtles, +then deleting Ali. diff --git a/source/includes/api-details/java/crud/delete-multiple-objects-description.rst b/source/includes/api-details/java/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..f84d806c60 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-multiple-objects-description.rst @@ -0,0 +1,9 @@ +To delete an object from the database, use the ``deleteAllFromRealm()`` +method of the :java-sdk:`RealmResults ` +instance that contains the objects you would like to delete. You can +filter the ``RealmResults`` down to a subset of objects using the +:java-sdk:`where() ` method. + +The following example demonstrates how to delete a +collection from the database with :java-sdk:`deleteAllFromRealm() +`. diff --git a/source/includes/api-details/java/crud/delete-single-object-description.rst b/source/includes/api-details/java/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..d4873f8bda --- /dev/null +++ b/source/includes/api-details/java/crud/delete-single-object-description.rst @@ -0,0 +1,7 @@ +To delete an object from the database, use either the dynamic or static +versions of the ``deleteFromRealm()`` method of a :java-sdk:`RealmObject +` subclass. + +The following example shows how to delete one object from +its realm with :java-sdk:`deleteFromRealm() +`. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index 9b6db21d43..0c563551b6 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -24,16 +24,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-all.java :language: java - :emphasize-lines: 4 + :emphasize-lines: 2 - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-all.kt :language: kotlin - :emphasize-lines: 6 + :emphasize-lines: 2 - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index a512a872d7..f25516bffc 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -23,16 +23,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-all-instances-of-a-type.java :language: java - :emphasize-lines: 4 + :emphasize-lines: 2 - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-all-instances-of-a-type.kt :language: kotlin - :emphasize-lines: 6 + :emphasize-lines: 2 - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index 3730996029..fb4844999a 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -24,14 +24,14 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.cascading-deletes.java :language: java - :emphasize-lines: 4 + :emphasize-lines: 5 - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.cascading-deletes.kt :language: kotlin :emphasize-lines: 6 diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index 3f477b150f..9fa4165200 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -25,16 +25,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index 2719931e8a..1e2982ca72 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -25,16 +25,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index a629edf3a2..ac02c8d094 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -23,14 +23,14 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-a-collection.java :language: java :emphasize-lines: 4 - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-a-collection.kt :language: kotlin :emphasize-lines: 6 diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index d04a1745fb..ad84e9eaae 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -23,16 +23,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index 20ff514905..4059817d21 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -24,16 +24,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index c91f8346c7..d2be928c4b 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -25,16 +25,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 0a6b9bd18b..d939ff2c55 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -24,16 +24,16 @@ - id: java content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.java + .. literalinclude:: /examples/MissingPlaceholders/example.java :language: java - :emphasize-lines: 4 + :copyable: false - id: java-kotlin content: | - .. literalinclude:: /examples/generated/java/sync/WritesTest.snippet.delete-an-object.kt + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt :language: kotlin - :emphasize-lines: 6 + :copyable: false - id: javascript content: | diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 58648ce04c..4bfb38a003 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -227,12 +227,12 @@ Delete a Single Object .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-single-object-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-single-object-description.rst .. tab:: :tabid: javascript @@ -285,12 +285,12 @@ Delete Multiple Objects .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-multiple-objects-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-multiple-objects-description.rst .. tab:: :tabid: javascript @@ -343,12 +343,12 @@ Delete All Objects of a Type .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: javascript @@ -409,12 +409,12 @@ by the database instance. .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst .. tab:: :tabid: javascript @@ -539,12 +539,12 @@ Finally, delete the parent object itself. .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-an-object-and-its-related-objects-description.rst .. tab:: :tabid: javascript From cbd56c079001fdc0c5002c9031e61acfb2fbee0c Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 17:34:41 -0400 Subject: [PATCH 07/20] Add JavaScript examples --- ...all-objects-in-the-database-js-ts-description.rst | 3 +++ .../delete-all-objects-of-type-js-ts-description.rst | 3 +++ .../delete-multiple-objects-js-ts-description.rst | 3 +++ .../crud/delete-single-object-js-ts-description.rst | 2 ++ .../crud/delete-all-objects-in-the-database.rst | 2 +- .../sdk-examples/crud/delete-all-objects-of-type.rst | 2 +- .../delete-an-object-and-its-related-objects.rst | 4 ++-- .../sdk-examples/crud/delete-embedded-object.rst | 4 ++-- .../crud/delete-mixed-property-values.rst | 4 ++-- .../sdk-examples/crud/delete-multiple-objects.rst | 4 ++-- .../sdk-examples/crud/delete-related-objects.rst | 4 ++-- .../crud/delete-remove-dictionary-keys-values.rst | 4 ++-- .../crud/delete-remove-elements-from-list.rst | 4 ++-- .../crud/delete-remove-elements-from-set.rst | 4 ++-- source/sdk/crud/delete.txt | 12 ++++++++---- 15 files changed, 37 insertions(+), 22 deletions(-) create mode 100644 source/includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst diff --git a/source/includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst new file mode 100644 index 0000000000..ac6d24b129 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst @@ -0,0 +1,3 @@ +To delete **all** objects from the database, call :js-sdk:`Realm.deleteAll() +` inside of a write transaction. This clears +the database of all object instances but does not affect the database schema. diff --git a/source/includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst new file mode 100644 index 0000000000..b6bc053a41 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst @@ -0,0 +1,3 @@ +To delete all objects of a given object type from the database, pass +``Realm.objects()`` to the :js-sdk:`Realm.delete() +` method inside of a write transaction. diff --git a/source/includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst new file mode 100644 index 0000000000..3f3b3c41d1 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst @@ -0,0 +1,3 @@ +To delete a collection of objects from the database, pass the collection to +:js-sdk:`Realm.delete() ` inside of a write +transaction. diff --git a/source/includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst new file mode 100644 index 0000000000..e2ef7e2871 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst @@ -0,0 +1,2 @@ +To delete an object from the database, pass the object to :js-sdk:`Realm.delete() +` inside of a write transaction. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index 0c563551b6..ee1508baaf 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -38,7 +38,7 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-all.js :language: javascript :emphasize-lines: 3 diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index f25516bffc..b0dfbd1fd7 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -37,7 +37,7 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-all-objects-of-a-specific-type.js :language: javascript :emphasize-lines: 3 diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index fb4844999a..089d2715e3 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -38,9 +38,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index 9fa4165200..1cbfe30fa7 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -39,9 +39,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index 1e2982ca72..ab06ee1c38 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -39,9 +39,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index ac02c8d094..37f75fc03c 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -37,9 +37,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-multiple-objects.js :language: javascript - :emphasize-lines: 3 + :emphasize-lines: 5 - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index ad84e9eaae..7a66bfa176 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -37,9 +37,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index 4059817d21..4525205cf9 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -38,9 +38,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index d2be928c4b..a7047e505a 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -39,9 +39,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index d939ff2c55..02f57a4f51 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -38,9 +38,9 @@ - id: javascript content: | - .. literalinclude:: /examples/generated/node/read-and-write-data.snippet.read-and-write-delete-object.js + .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript - :emphasize-lines: 3 + :copyable: false - id: kotlin content: | diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 4bfb38a003..f718ae2485 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -237,7 +237,7 @@ Delete a Single Object .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst .. tab:: :tabid: kotlin @@ -257,6 +257,7 @@ Delete a Single Object .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-single-object-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-single-object.rst @@ -295,7 +296,7 @@ Delete Multiple Objects .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst .. tab:: :tabid: kotlin @@ -315,6 +316,7 @@ Delete Multiple Objects .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-multiple-objects-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-multiple-objects.rst @@ -353,7 +355,7 @@ Delete All Objects of a Type .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst .. tab:: :tabid: kotlin @@ -373,6 +375,7 @@ Delete All Objects of a Type .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-all-objects-of-type-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -419,7 +422,7 @@ by the database instance. .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst .. tab:: :tabid: kotlin @@ -439,6 +442,7 @@ by the database instance. .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-all-objects-in-the-database-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-all-objects-in-the-database.rst From 0b33e68f03d03dcbfeb7ccfb5bae2cb7f84b601e Mon Sep 17 00:00:00 2001 From: dacharyc Date: Wed, 24 Jul 2024 17:56:15 -0400 Subject: [PATCH 08/20] Add Swift and Objective-C examples --- ...ll-objects-in-the-database-description.rst | 5 +++++ ...delete-all-objects-of-type-description.rst | 8 +++++++ .../delete-multiple-objects-description.rst | 4 ++++ .../crud/delete-single-object-description.rst | 4 ++++ ...te-all-objects-in-database-description.rst | 5 +++++ ...delete-all-objects-of-type-description.rst | 6 +++++ ...lete-mixed-property-values-description.rst | 1 + .../delete-multiple-objects-description.rst | 4 ++++ ...ove-dictionary-keys-values-description.rst | 5 +++++ ...e-remove-elements-from-set-description.rst | 4 ++++ .../crud/delete-single-object-description.rst | 4 ++++ .../delete-all-objects-in-the-database.rst | 4 ++-- .../crud/delete-all-objects-of-type.rst | 4 ++-- ...lete-an-object-and-its-related-objects.rst | 4 ++-- .../crud/delete-embedded-object.rst | 3 ++- .../crud/delete-mixed-property-values.rst | 5 +++-- .../crud/delete-multiple-objects.rst | 4 ++-- .../crud/delete-related-objects.rst | 6 +++-- .../delete-remove-dictionary-keys-values.rst | 5 +++-- .../crud/delete-remove-elements-from-list.rst | 6 +++-- .../crud/delete-remove-elements-from-set.rst | 5 +++-- source/sdk/crud/delete.txt | 22 +++++++++---------- source/sdk/crud/update.txt | 5 +++++ 23 files changed, 93 insertions(+), 30 deletions(-) create mode 100644 source/includes/api-details/objectivec/crud/delete-all-objects-in-the-database-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-single-object-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-remove-elements-from-set-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-single-object-description.rst diff --git a/source/includes/api-details/objectivec/crud/delete-all-objects-in-the-database-description.rst b/source/includes/api-details/objectivec/crud/delete-all-objects-in-the-database-description.rst new file mode 100644 index 0000000000..6a2b548d2e --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-all-objects-in-the-database-description.rst @@ -0,0 +1,5 @@ +To delete all objects from the database, call :objc-sdk:`-[RLMRealm +deleteAllObjects] +` +inside of a write transaction. This clears the database of all object +instances but does not affect the database's schema. diff --git a/source/includes/api-details/objectivec/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/objectivec/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..d375aedb2a --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,8 @@ +To delete all objects of a given object type from the database, pass +the result of :objc-sdk:`+[YourSDKObjectClass +allObjectsInRealm:] +` +to :objc-sdk:`-[Realm deleteObjects:] +` +inside of a write transaction. Replace ``YourSDKObjectClass`` +with your SDK object class name. diff --git a/source/includes/api-details/objectivec/crud/delete-multiple-objects-description.rst b/source/includes/api-details/objectivec/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..0b0c20c760 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-multiple-objects-description.rst @@ -0,0 +1,4 @@ +To delete a collection of objects from the database, pass the +collection to :objc-sdk:`-[Realm deleteObjects:] +` +inside of a write transaction. diff --git a/source/includes/api-details/objectivec/crud/delete-single-object-description.rst b/source/includes/api-details/objectivec/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..8707f8a923 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-single-object-description.rst @@ -0,0 +1,4 @@ +To delete an object from the database, pass the object to +:objc-sdk:`-[RLMRealm deleteObject:] +` +inside of a write transaction. diff --git a/source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst b/source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst new file mode 100644 index 0000000000..575b4c625a --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst @@ -0,0 +1,5 @@ +To delete all objects from the database, call +:swift-sdk:`Realm.deleteAll() +` inside of a +write transaction. This clears the database of all object instances but does +not affect the database's schema. diff --git a/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..d9cc4cb74a --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,6 @@ +To delete all objects of a given object type from the database, pass +the result of :swift-sdk:`Realm.objects(_:) +` +for the type you wish to delete to :swift-sdk:`Realm.delete(_:) +` +inside of a write transaction. diff --git a/source/includes/api-details/swift/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/swift/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..29cda0460f --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-mixed-property-values-description.rst @@ -0,0 +1 @@ +To delete the value of an ``AnyRealmValue``, set it to ``.none``. diff --git a/source/includes/api-details/swift/crud/delete-multiple-objects-description.rst b/source/includes/api-details/swift/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..b75f961c5a --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-multiple-objects-description.rst @@ -0,0 +1,4 @@ +To delete a collection of objects from the database, pass the +collection to :swift-sdk:`Realm.delete(_:) +` +inside of a write transaction. diff --git a/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..d3dd597a79 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,5 @@ +You can delete :swift-sdk:`map ` entries in a few ways: + +- Use ``removeObject(for:)`` to remove the key and the value +- If the dictionary's value is optional, you can set the value of the key to + ``nil`` to keep the key. diff --git a/source/includes/api-details/swift/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/swift/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..5b0c03a359 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,4 @@ +You can delete specific elements from a :swift-sdk:`MutableSet +`, or clear all of the elements from the set. +If you are working with multiple sets, you can also remove elements in one +set from the other set; see: :ref:`sdks-update-set-property`. diff --git a/source/includes/api-details/swift/crud/delete-single-object-description.rst b/source/includes/api-details/swift/crud/delete-single-object-description.rst new file mode 100644 index 0000000000..403ffcce70 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-single-object-description.rst @@ -0,0 +1,4 @@ +To delete an object from the database, pass the object to +:swift-sdk:`Realm.delete(_:) +` +inside of a write transaction. diff --git a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst index ee1508baaf..f20c8cdecf 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-in-the-database.rst @@ -51,13 +51,13 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete-all.m :language: objectivec - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete-all.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst index b0dfbd1fd7..352eae3714 100644 --- a/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst +++ b/source/includes/sdk-examples/crud/delete-all-objects-of-type.rst @@ -50,13 +50,13 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete-all-of-class.m :language: objectivec - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete-all-of-class.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst index 089d2715e3..f53b74b0f2 100644 --- a/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-an-object-and-its-related-objects.rst @@ -51,13 +51,13 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.cascading-delete.m :language: objectivec - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.chaining-delete.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index 1cbfe30fa7..e2f52f9f94 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -52,8 +52,9 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | diff --git a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst index ab06ee1c38..c977ca0061 100644 --- a/source/includes/sdk-examples/crud/delete-mixed-property-values.rst +++ b/source/includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -52,13 +52,14 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.mixed-data-type.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-multiple-objects.rst b/source/includes/sdk-examples/crud/delete-multiple-objects.rst index 37f75fc03c..615fecdd29 100644 --- a/source/includes/sdk-examples/crud/delete-multiple-objects.rst +++ b/source/includes/sdk-examples/crud/delete-multiple-objects.rst @@ -50,13 +50,13 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete-collection.m :language: objectivec - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.tsq-delete-collection.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-related-objects.rst b/source/includes/sdk-examples/crud/delete-related-objects.rst index 7a66bfa176..22803f8dc0 100644 --- a/source/includes/sdk-examples/crud/delete-related-objects.rst +++ b/source/includes/sdk-examples/crud/delete-related-objects.rst @@ -50,14 +50,16 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/MissingPlaceholders/example.swift :language: swift + :copyable: false - id: typescript content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index 4525205cf9..7b2d7211d1 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -51,13 +51,14 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.map.swift :language: swift - id: typescript diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst index a7047e505a..c257b1d3bb 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -52,14 +52,16 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/MissingPlaceholders/example.swift :language: swift + :copyable: false - id: typescript content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 02f57a4f51..3b61fc9cca 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -51,13 +51,14 @@ - id: objectivec content: | - .. literalinclude:: /examples/generated/code/start/ReadWriteData.snippet.delete.m + .. literalinclude:: /examples/MissingPlaceholders/example.m :language: objectivec + :copyable: false - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.set-collections.swift :language: swift - id: typescript diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index f718ae2485..a877b53944 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -247,12 +247,12 @@ Delete a Single Object .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-single-object-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-single-object-description.rst .. tab:: :tabid: typescript @@ -306,12 +306,12 @@ Delete Multiple Objects .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-multiple-objects-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-multiple-objects-description.rst .. tab:: :tabid: typescript @@ -365,12 +365,12 @@ Delete All Objects of a Type .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: typescript @@ -432,12 +432,12 @@ by the database instance. .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-all-objects-in-the-database-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-all-objects-in-the-database-description.rst .. tab:: :tabid: typescript @@ -777,7 +777,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: typescript @@ -905,7 +905,7 @@ Remove Elements from a Set .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: typescript @@ -963,7 +963,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: typescript diff --git a/source/sdk/crud/update.txt b/source/sdk/crud/update.txt index 2f17611c34..64e6d3abac 100644 --- a/source/sdk/crud/update.txt +++ b/source/sdk/crud/update.txt @@ -16,3 +16,8 @@ Placeholder page for content related to updating realm objects. Update Inverse Relationships ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. _sdks-update-set-property: + +Update a Set Property +~~~~~~~~~~~~~~~~~~~~~ From 1b5327ba6fc109c96e1c5e71669c2746f5bec1a7 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Thu, 25 Jul 2024 09:42:38 -0400 Subject: [PATCH 09/20] Fix build error --- ...ion.rst => delete-all-objects-in-the-database-description.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/includes/api-details/swift/crud/{delete-all-objects-in-database-description.rst => delete-all-objects-in-the-database-description.rst} (100%) diff --git a/source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst b/source/includes/api-details/swift/crud/delete-all-objects-in-the-database-description.rst similarity index 100% rename from source/includes/api-details/swift/crud/delete-all-objects-in-database-description.rst rename to source/includes/api-details/swift/crud/delete-all-objects-in-the-database-description.rst From eaf86feb68b74e918aa0c7f572ed8a2dfb3a3bee Mon Sep 17 00:00:00 2001 From: dacharyc Date: Fri, 26 Jul 2024 17:48:57 -0400 Subject: [PATCH 10/20] Start adding missing Swift and Objective-C API descriptions --- .../crud/delete-objects-procedure.rst | 34 +++++++++++++++++++ .../crud/delete-operations-description.rst | 12 +++++++ .../swift/crud/delete-objects-procedure.rst | 34 +++++++++++++++++++ .../crud/delete-operations-description.rst | 8 +++++ source/sdk/crud/delete.txt | 8 ++--- 5 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 source/includes/api-details/objectivec/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-objects-procedure.rst diff --git a/source/includes/api-details/objectivec/crud/delete-objects-procedure.rst b/source/includes/api-details/objectivec/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..e9a8fb98af --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-objects-procedure.rst @@ -0,0 +1,34 @@ +1. Open a write transaction with :objc-sdk:`transactionWithBlock + ` or + :objc-sdk:`asyncTransactionWithBlock + `. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object or thread-safe reference, you must ``thaw`` the object or + resolve the thread-safe reference before deleting the object. For more + details, refer to :ref:`sdks-threading`. + +#. Call the :objc-sdk:`RLMRealm deleteObject + ` method with + the object to delete. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by checking the + :objc-sdk:`invalidated ` + property. Deleted objects return ``true``. diff --git a/source/includes/api-details/objectivec/crud/delete-operations-description.rst b/source/includes/api-details/objectivec/crud/delete-operations-description.rst new file mode 100644 index 0000000000..85d12817b3 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-operations-description.rst @@ -0,0 +1,12 @@ +You can only delete live objects. If you are working with a frozen object, +such as when passing an object across threads, you can convert the frozen +object to a live object by calling the :objc-sdk:`thaw +` method. You can thaw +objects, collections, or database instances. + +Similarly, if you're passing an :objc-sdk:`RLMThreadSafeReference +` for an object you want to delete, you +must resolve the reference and then delete the resovled object. + +For more information about working with objects across threads, refer to +ref:`sdks-threading`. diff --git a/source/includes/api-details/swift/crud/delete-objects-procedure.rst b/source/includes/api-details/swift/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..d945aaac16 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-objects-procedure.rst @@ -0,0 +1,34 @@ +1. Open a write transaction with one of the relevant APIs: + - :swift-sdk:`write() ` + - :swift-sdk:`writeAsync() ` + - :swift-sdk:`asyncWrite() ` and friends + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object or thread-safe reference, you must ``thaw()`` the object or + resolve the thread-safe reference before deleting the object. For more + details, refer to :ref:`sdks-threading`. + +#. Call the ``delete()`` method with the object you want to delete as an + argument. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by calling + :swift-sdk:`isInvalidated() + `. + Deleted objects return ``true``. diff --git a/source/includes/api-details/swift/crud/delete-operations-description.rst b/source/includes/api-details/swift/crud/delete-operations-description.rst index fc33421ed8..a9bd4e6bdc 100644 --- a/source/includes/api-details/swift/crud/delete-operations-description.rst +++ b/source/includes/api-details/swift/crud/delete-operations-description.rst @@ -3,3 +3,11 @@ such as when passing an object across threads, you can convert the frozen object to a live object by calling the :swift-sdk:`thaw() ` method. You can thaw objects, collections, or database instances. + +Similarly, if you're passing a :swift-sdk:`ThreadSafeReference +` for an object you want to delete, you must +resolve the reference within the write transaction and then delete the resovled +object. + +For more information about working with objects across threads, refer to +ref:`sdks-threading`. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index a877b53944..8bc8c19d0a 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -94,12 +94,12 @@ write transactions and how the SDK handles them, refer to .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-operations-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-operations-description.rst .. tab:: :tabid: typescript @@ -186,12 +186,12 @@ Delete Objects .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-objects-procedure.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-objects-procedure.rst .. tab:: :tabid: typescript From 0669d1d0b576674b31f8fe6819ea729a8064ada7 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Fri, 26 Jul 2024 17:54:05 -0400 Subject: [PATCH 11/20] Add missing colon --- .../objectivec/crud/delete-operations-description.rst | 2 +- .../api-details/swift/crud/delete-operations-description.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/includes/api-details/objectivec/crud/delete-operations-description.rst b/source/includes/api-details/objectivec/crud/delete-operations-description.rst index 85d12817b3..799e6f7436 100644 --- a/source/includes/api-details/objectivec/crud/delete-operations-description.rst +++ b/source/includes/api-details/objectivec/crud/delete-operations-description.rst @@ -9,4 +9,4 @@ Similarly, if you're passing an :objc-sdk:`RLMThreadSafeReference must resolve the reference and then delete the resovled object. For more information about working with objects across threads, refer to -ref:`sdks-threading`. +:ref:`sdks-threading`. diff --git a/source/includes/api-details/swift/crud/delete-operations-description.rst b/source/includes/api-details/swift/crud/delete-operations-description.rst index a9bd4e6bdc..8fa4448edf 100644 --- a/source/includes/api-details/swift/crud/delete-operations-description.rst +++ b/source/includes/api-details/swift/crud/delete-operations-description.rst @@ -10,4 +10,4 @@ resolve the reference within the write transaction and then delete the resovled object. For more information about working with objects across threads, refer to -ref:`sdks-threading`. +:ref:`sdks-threading`. From 263eda65035bbcf3acd0bdc762d5915b0d6703d8 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Mon, 29 Jul 2024 16:56:33 -0400 Subject: [PATCH 12/20] Add remaining Swift and Objc descriptions --- ...ect-and-its-related-objects-description.rst | 4 ++++ ...elete-mixed-property-values-description.rst | 1 + ...move-dictionary-keys-values-description.rst | 12 ++++++++++++ ...e-remove-elements-from-list-description.rst | 10 ++++++++++ ...te-remove-elements-from-set-description.rst | 18 ++++++++++++++++++ ...ect-and-its-related-objects-description.rst | 3 +++ ...move-dictionary-keys-values-description.rst | 7 ++++++- ...e-remove-elements-from-list-description.rst | 16 ++++++++++++++++ .../crud/delete-embedded-object.rst | 3 ++- source/sdk/crud/delete.txt | 14 +++++++------- 10 files changed, 79 insertions(+), 9 deletions(-) create mode 100644 source/includes/api-details/objectivec/crud/delete-an-object-and-its-related-objects-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-remove-elements-from-list-description.rst create mode 100644 source/includes/api-details/objectivec/crud/delete-remove-elements-from-set-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-an-object-and-its-related-objects-description.rst create mode 100644 source/includes/api-details/swift/crud/delete-remove-elements-from-list-description.rst diff --git a/source/includes/api-details/objectivec/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/objectivec/crud/delete-an-object-and-its-related-objects-description.rst new file mode 100644 index 0000000000..d50d5e71d6 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-an-object-and-its-related-objects-description.rst @@ -0,0 +1,4 @@ +In the following example, we have a specific ``Person`` object - ``ali``. +We delete the objects in Ali's ``dogs`` collection, which is a to-many list +property containing one or more ``Dog`` objects. Then, we delete the ``ali`` +``Person`` object itself. diff --git a/source/includes/api-details/objectivec/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/objectivec/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..022d8de7f0 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-mixed-property-values-description.rst @@ -0,0 +1 @@ +To delete the value of an ``RLMValue``, set it to ``nil``. diff --git a/source/includes/api-details/objectivec/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/objectivec/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..7ece98cd01 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,12 @@ +You can remove :objc-sdk:`RLMDictionary ` +entries in a few ways: + +- To remove the value but keep the key, set the key to ``null`` (the + dictionary's value must be nullable) +- To remove the key and the value, pass the key to + :objc-sdk:`removeObjectForKey ` +- To remove keys specified by elements in a given array, pass the array to + :objc-sdk:`removeObjectsForKeys ` + +You can also remove *all* keys and values by calling +:objc-sdk:`removeAllObjects `. diff --git a/source/includes/api-details/objectivec/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/objectivec/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..7465bff892 --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,10 @@ +You can remove one or more elements from a :objc-sdk:`RLMArray ` +within a write transaction: + +- To remove one element at a specified index in the list, pass the index to + :objc-sdk:`removeObjectAtIndex `. +- To remove the last element from the list, call + :objc-sdk:`removeLastObject `. + +You can also remove *all* list elements at once by calling +:objc-sdk:`removeAllObjects `. diff --git a/source/includes/api-details/objectivec/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/objectivec/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..d4a9609dbc --- /dev/null +++ b/source/includes/api-details/objectivec/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,18 @@ +You can remove one or more elements from a :objc-sdk:`RLMSet +` in a write transaction. + +- To remove one element from the + set, call :objc-sdk:`removeObject + ` with the element + you want to delete. +- To remove from the receiving set elements that *aren't* a member of another + set, call :objc-sdk:`intersectSet + ` with the other set + as an argument. +- To remove from the receiving set elements that *are* a member of another set, + call :objc-sdk:`minusSet ` + with the other set as an argument. + +You can remove *all* set elements at once by calling +:objc-sdk:`removeAllObjects +`. \ No newline at end of file diff --git a/source/includes/api-details/swift/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/swift/crud/delete-an-object-and-its-related-objects-description.rst new file mode 100644 index 0000000000..589a6c7867 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-an-object-and-its-related-objects-description.rst @@ -0,0 +1,3 @@ +In the following example, we delete the objects in the ``person.dogs`` +collection, which is a to-many list property containing one or more ``Dog`` +objects. Then, we delete the ``Person`` object itself. diff --git a/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst index d3dd597a79..2da117b1f3 100644 --- a/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst +++ b/source/includes/api-details/swift/crud/delete-remove-dictionary-keys-values-description.rst @@ -2,4 +2,9 @@ You can delete :swift-sdk:`map ` entries in a few ways: - Use ``removeObject(for:)`` to remove the key and the value - If the dictionary's value is optional, you can set the value of the key to - ``nil`` to keep the key. + ``.none`` to keep the key. This sets the key's value to ``nil`` but does + not delete the key. +- Like a Swift dictionary, if you set the key value to ``nil``, this deletes + both the key and the value. +- If the value of a dictionary key is another object, and you delete the + object, the key remains and its value is set to ``nil``. diff --git a/source/includes/api-details/swift/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/swift/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..d606ff81d4 --- /dev/null +++ b/source/includes/api-details/swift/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,16 @@ +You can remove one or more elements from a :swift-sdk:`List ` +within a write transaction: + +- To remove one element at a specified index in the list, pass the index to + :swift-sdk:`list.removeAt() `. +- To remove multiple contiguous elements from the list, pass the range to + :swift-sdk:`list.removeSubrange() `. +- To remove the first N elements from the beginning or end of a list, call the + :swift-sdk:`list.removeFirst() + ` or + :swift-sdk:`list.removeLast() + ` methods with an + Int number of items to remove from the beginning or end of the list. + +You can also remove *all* list elements at once by calling +:swift-sdk:`list.removeAll() `. diff --git a/source/includes/sdk-examples/crud/delete-embedded-object.rst b/source/includes/sdk-examples/crud/delete-embedded-object.rst index e2f52f9f94..6f79cad6a5 100644 --- a/source/includes/sdk-examples/crud/delete-embedded-object.rst +++ b/source/includes/sdk-examples/crud/delete-embedded-object.rst @@ -59,8 +59,9 @@ - id: swift content: | - .. literalinclude:: /examples/generated/code/start/DeleteRealmObjects.snippet.delete.swift + .. literalinclude:: /examples/MissingPlaceholders/example.swift :language: swift + :copyable: false - id: typescript content: | diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 8bc8c19d0a..8bc589f7b7 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -563,12 +563,12 @@ Finally, delete the parent object itself. .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-an-object-and-its-related-objects-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-an-object-and-its-related-objects-description.rst .. tab:: :tabid: typescript @@ -772,7 +772,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: swift @@ -842,12 +842,12 @@ Remove Elements from a List .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: swift - + .. include:: /includes/api-details/swift/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: typescript @@ -900,7 +900,7 @@ Remove Elements from a Set .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: swift @@ -958,7 +958,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: objectivec - + .. include:: /includes/api-details/objectivec/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: swift From 2f6daa573d213638ac30a4dbef0fae93e25f7701 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Mon, 29 Jul 2024 17:21:44 -0400 Subject: [PATCH 13/20] Add missing Java API descriptions --- ...lete-mixed-property-values-description.rst | 0 .../java/crud/delete-objects-procedure.rst | 30 +++++++++++++++++++ .../crud/delete-operations-description.rst | 3 ++ ...ove-dictionary-keys-values-description.rst | 2 ++ ...-remove-elements-from-list-description.rst | 2 ++ ...e-remove-elements-from-set-description.rst | 2 ++ source/sdk/crud/delete.txt | 20 ++++++------- 7 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 source/includes/api-details/java/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/java/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/java/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/java/crud/delete-remove-elements-from-list-description.rst create mode 100644 source/includes/api-details/java/crud/delete-remove-elements-from-set-description.rst diff --git a/source/includes/api-details/java/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/java/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..e69de29bb2 diff --git a/source/includes/api-details/java/crud/delete-objects-procedure.rst b/source/includes/api-details/java/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..6b9b338639 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-objects-procedure.rst @@ -0,0 +1,30 @@ +1. Open a write transaction with one of the relevant APIs. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object, you query for the live version of the object on the local thread + before deleting the object. For more details, refer to + :ref:`sdks-threading`. + +#. Call the ``delete()`` method with the object you want to delete as an + argument. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by calling + :java-sdk:`isValid() `. + Deleted objects return ``false``. diff --git a/source/includes/api-details/java/crud/delete-operations-description.rst b/source/includes/api-details/java/crud/delete-operations-description.rst new file mode 100644 index 0000000000..e75045386e --- /dev/null +++ b/source/includes/api-details/java/crud/delete-operations-description.rst @@ -0,0 +1,3 @@ +You can only delete live objects. If you are working with a frozen object, +such as when passing an object across threads, you must query for the frozen +object on the new thread in order to delete it. diff --git a/source/includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..b436a012b9 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,2 @@ +For the available methods to remove dictionary keys and values, refer to the +:java-sdk:`RealmMap ` API reference. diff --git a/source/includes/api-details/java/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/java/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..7409189d2b --- /dev/null +++ b/source/includes/api-details/java/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,2 @@ +For the available methods to remove elements from a list, refer to the +:java-sdk:`RealmList ` API reference. diff --git a/source/includes/api-details/java/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/java/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..aad52f26d5 --- /dev/null +++ b/source/includes/api-details/java/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,2 @@ +For the available methods to remove elements from a set, refer to the +:java-sdk:`RealmSet ` API reference. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 8bc589f7b7..fd1d6a3a49 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -74,12 +74,12 @@ write transactions and how the SDK handles them, refer to .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-operations-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-operations-description.rst .. tab:: :tabid: javascript @@ -166,12 +166,12 @@ Delete Objects .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-objects-procedure.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-objects-procedure.rst .. tab:: :tabid: javascript @@ -822,12 +822,12 @@ Remove Elements from a List .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: javascript @@ -880,12 +880,12 @@ Remove Elements from a Set .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: javascript @@ -938,12 +938,12 @@ Remove Dictionary Keys/Values .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: javascript From 818ce90a660cc19a39768e0772f52ab41ba1f1f6 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 09:43:32 -0400 Subject: [PATCH 14/20] Add missing C# descriptions --- ...ll-objects-in-the-database-description.rst | 2 ++ ...delete-all-objects-of-type-description.rst | 2 ++ ...ct-and-its-related-objects-description.rst | 6 ++++ ...lete-mixed-property-values-description.rst | 1 + .../delete-multiple-objects-description.rst | 3 ++ .../csharp/crud/delete-objects-procedure.rst | 35 +++++++++++++++++++ .../crud/delete-operations-description.rst | 10 ++++++ ...ove-dictionary-keys-values-description.rst | 1 + ...-remove-elements-from-list-description.rst | 16 +++++++++ ...e-remove-elements-from-set-description.rst | 17 +++++++++ .../crud/delete-single-object-description.rst | 4 +++ source/sdk/crud/delete.txt | 26 +++++++------- 12 files changed, 110 insertions(+), 13 deletions(-) create mode 100644 source/includes/api-details/csharp/crud/delete-all-objects-in-the-database-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/csharp/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-remove-elements-from-list-description.rst create mode 100644 source/includes/api-details/csharp/crud/delete-remove-elements-from-set-description.rst diff --git a/source/includes/api-details/csharp/crud/delete-all-objects-in-the-database-description.rst b/source/includes/api-details/csharp/crud/delete-all-objects-in-the-database-description.rst new file mode 100644 index 0000000000..5076099b62 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-all-objects-in-the-database-description.rst @@ -0,0 +1,2 @@ +To delete all managed objects in the database, call :dotnet-sdk:`Realm.RemoveAll +`. diff --git a/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst new file mode 100644 index 0000000000..0673d5177a --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst @@ -0,0 +1,2 @@ +To delete all objects of a type, call :dotnet-sdk:`Realm.RemoveAll +`. \ No newline at end of file diff --git a/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst new file mode 100644 index 0000000000..83a24b7479 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst @@ -0,0 +1,6 @@ +In the following example, we call :dotnet-sdk:`Realm.RemoveRange +` +to remove Ali's ``dogs`` collection, which is a to-many list property +containing one or more ``Dog`` objects. Then, we call :dotnet-sdk:`Realm.Remove() +` to +delete Ali's ``Person`` object itself. diff --git a/source/includes/api-details/csharp/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/csharp/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..0af96b9e4a --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-mixed-property-values-description.rst @@ -0,0 +1 @@ +To delete the value of a mixed property, set its value to ``Null``. \ No newline at end of file diff --git a/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst b/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..41667ed85a --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst @@ -0,0 +1,3 @@ +To delete multiple objects at the same time, pass an ``IQueryable`` query +for the objects you want to delete to :dotnet-sdk:`Realm.RemoveRange +`. diff --git a/source/includes/api-details/csharp/crud/delete-objects-procedure.rst b/source/includes/api-details/csharp/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..a5edfae82a --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-objects-procedure.rst @@ -0,0 +1,35 @@ +1. Open a write transaction with :dotnet-sdk:`Realm.Write + ` or + :dotnet-sdk:`Realm.WriteAsync + `. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object or thread-safe reference, you must query for the live object or + resolve the thread-safe reference before deleting the object. For more + details, refer to :ref:`sdks-threading`. + +#. Call the :dotnet-sdk:`Remove + ` + method with the object you want to delete as an argument. + +#. The specified objects are deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by calling + :dotnet-sdk:`isValid + `. + Deleted objects return ``false``. diff --git a/source/includes/api-details/csharp/crud/delete-operations-description.rst b/source/includes/api-details/csharp/crud/delete-operations-description.rst new file mode 100644 index 0000000000..43eb251e85 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-operations-description.rst @@ -0,0 +1,10 @@ +You can only delete live objects. If you are working with a frozen object, +such as when passing an object across threads, you must query for the frozen +object on the new thread in order to delete it. + +Similarly, if you're passing a :dotnet-sdk:`ThreadSafeReference +` for an object you want to delete, +you must resolve the reference and then delete the resovled object. + +For more information about working with objects across threads, refer to +:ref:`sdks-threading`. diff --git a/source/includes/api-details/csharp/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/csharp/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..eac39af6c0 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1 @@ +You can remove dictionary keys and values within a write transaction. diff --git a/source/includes/api-details/csharp/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/csharp/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..7bbe645139 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,16 @@ +You can remove one or more elements from a list within a write transaction. + +Deleting an object from the database will remove it from any lists +where it existed. Therefore, a list of objects will never contain deleted objects. +However, lists of primitive types can contain null values. If you do not +want to allow null values in a list, then either use non-nullable types in +the list declaration (for example, use ``IList`` instead of +``IList``). If you are using the older schema +type definition (your classes derive from the ``RealmObject`` base class), +or you do not have nullability enabled, use the ``[Required]`` attribute if +the list contains nullable reference types, such as ``string`` or ``byte[]``. + +.. important:: Not Supported with Sync + + Non-synced databases support collections of nullable (optional) values, + but synced databases do not. diff --git a/source/includes/api-details/csharp/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/csharp/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..b2f970b395 --- /dev/null +++ b/source/includes/api-details/csharp/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,17 @@ +You can remove one or more elements from a set within a write transaction. + +Deleting an object from the database will remove it from any sets +in which it existed. Therefore, a set of objects will never contain null objects. +However, sets of primitive types can contain null values. If you do not +want to allow null values in a set, then either use non-nullable types in +the set declaration (for example, use ``ISet`` instead of +``ISet``). If you are using the older schema +type definition (your classes derive from the ``RealmObject`` base class), +or you do not have nullability enabled, you will need to use the +``[Required]`` attribute if the set contains nullable reference types, such as +``string`` or ``byte[]``. + +.. important:: Not Supported with Sync + + Non-synced databases support collections of nullable (optional) values, + but synced databases do not. diff --git a/source/includes/api-details/csharp/crud/delete-single-object-description.rst b/source/includes/api-details/csharp/crud/delete-single-object-description.rst index e69de29bb2..0af01a9970 100644 --- a/source/includes/api-details/csharp/crud/delete-single-object-description.rst +++ b/source/includes/api-details/csharp/crud/delete-single-object-description.rst @@ -0,0 +1,4 @@ +To delete an object from the database, pass the object to +:dotnet-sdk:`Realm.Remove() +` +inside of a write transaction. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index fd1d6a3a49..8b3515862e 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -64,7 +64,7 @@ write transactions and how the SDK handles them, refer to .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-operations-description.rst .. tab:: :tabid: dart @@ -156,7 +156,7 @@ Delete Objects .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-objects-procedure.rst .. tab:: :tabid: dart @@ -217,7 +217,7 @@ Delete a Single Object .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-single-object-description.rst .. tab:: :tabid: dart @@ -276,7 +276,7 @@ Delete Multiple Objects .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-multiple-objects-description.rst .. tab:: :tabid: dart @@ -335,7 +335,7 @@ Delete All Objects of a Type .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst .. tab:: :tabid: dart @@ -402,7 +402,7 @@ by the database instance. .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-all-objects-in-the-database-description.rst .. tab:: :tabid: dart @@ -533,7 +533,7 @@ Finally, delete the parent object itself. .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst .. tab:: :tabid: dart @@ -742,7 +742,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: dart @@ -752,12 +752,12 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: java - + .. include:: /includes/api-details/java/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: java-kotlin - + .. include:: /includes/api-details/java/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: javascript @@ -812,7 +812,7 @@ Remove Elements from a List .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: dart @@ -870,7 +870,7 @@ Remove Elements from a Set .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: dart @@ -928,7 +928,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: csharp - + .. include:: /includes/api-details/csharp/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: dart From d7a5efbf0bda5f2f20e54fccc59e2de87e64c70f Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 11:11:40 -0400 Subject: [PATCH 15/20] Add missing Dart API descriptions --- ...-objects-in-the-database-not-supported.rst | 6 ++++ ...lete-mixed-property-values-description.rst | 1 + .../dart/crud/delete-objects-procedure.rst | 30 +++++++++++++++++++ .../crud/delete-operations-description.rst | 3 ++ ...ove-dictionary-keys-values-description.rst | 4 +++ ...-remove-elements-from-list-description.rst | 10 +++++++ ...e-remove-elements-from-set-description.rst | 6 ++++ source/sdk/crud/delete.txt | 14 ++++----- 8 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 source/includes/api-details/dart/crud/delete-all-objects-in-the-database-not-supported.rst create mode 100644 source/includes/api-details/dart/crud/delete-mixed-property-values-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-objects-procedure.rst create mode 100644 source/includes/api-details/dart/crud/delete-operations-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-remove-elements-from-list-description.rst create mode 100644 source/includes/api-details/dart/crud/delete-remove-elements-from-set-description.rst diff --git a/source/includes/api-details/dart/crud/delete-all-objects-in-the-database-not-supported.rst b/source/includes/api-details/dart/crud/delete-all-objects-in-the-database-not-supported.rst new file mode 100644 index 0000000000..2762facd52 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-all-objects-in-the-database-not-supported.rst @@ -0,0 +1,6 @@ +Dart does not provide an API to delete all objects in the database. Instead, +you can iterate through the object types that the database manages and +delete all objects of each type. + +For more information, refer to the Delete All Objects of a Type section on +this page. diff --git a/source/includes/api-details/dart/crud/delete-mixed-property-values-description.rst b/source/includes/api-details/dart/crud/delete-mixed-property-values-description.rst new file mode 100644 index 0000000000..26871b45a9 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-mixed-property-values-description.rst @@ -0,0 +1 @@ +To delete the value of a mixed property, call ``RealmValue.nullValue()``. diff --git a/source/includes/api-details/dart/crud/delete-objects-procedure.rst b/source/includes/api-details/dart/crud/delete-objects-procedure.rst new file mode 100644 index 0000000000..848d33c909 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-objects-procedure.rst @@ -0,0 +1,30 @@ +1. Open a write transaction with :flutter-sdk:`realm.write + ` or :flutter-sdk:`realm.writeAsync + `. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + + .. important:: Objects Must Be Live + + You can only delete live objects. If you are working with a frozen + object, you must query for the live object before deleting the object. + +#. Call the :dotnet-sdk:`delete ` + method with the object you want to delete as an argument. + +#. The specified object is deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by checking the + object's :flutter-sdk:`isValid ` + property. Deleted objects return ``false``. diff --git a/source/includes/api-details/dart/crud/delete-operations-description.rst b/source/includes/api-details/dart/crud/delete-operations-description.rst new file mode 100644 index 0000000000..b3372f6ed0 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-operations-description.rst @@ -0,0 +1,3 @@ +You can only delete live objects. If you are working with a frozen object, +such as when passing an object across isolates, you must query for the frozen +object in order to delete it. diff --git a/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst new file mode 100644 index 0000000000..f16c1d1da5 --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst @@ -0,0 +1,4 @@ +You can remove keys and values from a :flutter-sdk:`RealmMap +`within a write transaction. To remove a key and +its associated value, call ``map.remove()``. To remove an element matching +a query, call ``map.removeWhere()``. diff --git a/source/includes/api-details/dart/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/dart/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..6ab413a4aa --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,10 @@ +You can remove one or more elements from a :flutter-sdk:`RealmList +` within a write transaction: + +- To remove one element from the list, pass the element to ``list.remove()``. +- To remove one element at a specified index in the list, pass the index to + ``list.removeAt()``. +- To remove multiple contiguous elements from the list, pass the range to + ``list.removeRange()``. +- To remove the last element from the list, call ``list.removeLast()``. +- To remove specific elements from a list that match a query, call ``list.removeWhere()``. diff --git a/source/includes/api-details/dart/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/dart/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..e1124c31bb --- /dev/null +++ b/source/includes/api-details/dart/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,6 @@ +You can remove one or more elements from a :flutter-sdk:`RealmSet +` within a write transaction: + +- To remove one element from the set, pass the element to ``set.remove()``. +- To remove specific elements from a set that match a query, call ``set.removeWhere()``. +- To remove all elements from the set, call ``set.removeAll()``. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 8b3515862e..680eef273a 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -69,7 +69,7 @@ write transactions and how the SDK handles them, refer to .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-operations-description.rst .. tab:: :tabid: java @@ -161,7 +161,7 @@ Delete Objects .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-objects-procedure.rst .. tab:: :tabid: java @@ -407,7 +407,7 @@ by the database instance. .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-all-objects-in-the-database-not-supported.rst .. tab:: :tabid: java @@ -747,7 +747,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-mixed-property-values-description.rst .. tab:: :tabid: java @@ -817,7 +817,7 @@ Remove Elements from a List .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: java @@ -875,7 +875,7 @@ Remove Elements from a Set .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: java @@ -933,7 +933,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: dart - + .. include:: /includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst .. tab:: :tabid: java From 2d9d3924e3195f29d486dcdda511ec1fb10f9ec0 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 11:45:22 -0400 Subject: [PATCH 16/20] Add missing JavaScript API descriptions --- ...ixed-property-values-js-ts-description.rst | 1 + .../crud/delete-objects-js-ts-procedure.rst | 24 +++++++++++++++++++ ...ctionary-keys-values-js-ts-description.rst | 2 ++ ...e-elements-from-list-js-ts-description.rst | 3 +++ ...e-remove-elements-from-set-description.rst | 8 +++++++ ...e-remove-elements-from-set-description.rst | 5 ++++ .../delete-remove-dictionary-keys-values.rst | 3 +-- .../crud/delete-remove-elements-from-set.rst | 3 +-- source/sdk/crud/delete.txt | 16 +++++++++---- 9 files changed, 56 insertions(+), 9 deletions(-) create mode 100644 source/includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst create mode 100644 source/includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/crud/delete-remove-elements-from-set-description.rst create mode 100644 source/includes/api-details/typescript/crud/delete-remove-elements-from-set-description.rst diff --git a/source/includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst new file mode 100644 index 0000000000..b3fe5a1e8b --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst @@ -0,0 +1 @@ +To delete the value of a ``Mixed`` property, set it to ``null``. \ No newline at end of file diff --git a/source/includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst b/source/includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst new file mode 100644 index 0000000000..4432669490 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst @@ -0,0 +1,24 @@ +1. Open a write transaction with :js-sdk:`realm.write + `. + +#. Pass the object(s) you want to delete into the write block, or query for + them inside the block. + +#. Call the :js-sdk:`delete ` + method with the object you want to delete as an argument. + +#. The specified object is deleted from the database and can no longer be + accessed or modified. If you try to use a deleted object, the SDK throws an + error. + + If any deleted objects had a relationship with another object, the SDK + only deletes the reference to the other object. The referenced object + remains in the database, but it can no longer be queried through the deleted + parent property. Refer to the :ref:`sdks-delete-related-objects` section + for more information. + +.. tip:: + + You can check whether an object is still valid to use by calling + :js-sdk:`isValid ` + on the object. Deleted objects return ``false``. diff --git a/source/includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst new file mode 100644 index 0000000000..53720b0dbe --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst @@ -0,0 +1,2 @@ +To delete members of a dictionary, use the ``dictionary.remove()`` method with +an array of properties to remove from the dictionary. diff --git a/source/includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst b/source/includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst new file mode 100644 index 0000000000..d6a6faea43 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst @@ -0,0 +1,3 @@ +You can remove one or more elements from a :js-sdk:`List ` +within a write transaction. Call :js-sdk:`list.remove() +` with the index of the element you want to remove. diff --git a/source/includes/api-details/javascript/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/javascript/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..1461aa1ac8 --- /dev/null +++ b/source/includes/api-details/javascript/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,8 @@ +To remove a specific value from a set, pass the value to the +``.delete()`` method within a write transaction. + +.. literalinclude:: /examples/generated/node/data-types.snippet.remove-specific-item-from-set.js + :language: javascript + +To remove all items from the set, run the ``.clear()`` method within +a write transaction. diff --git a/source/includes/api-details/typescript/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/typescript/crud/delete-remove-elements-from-set-description.rst new file mode 100644 index 0000000000..51c60dcf68 --- /dev/null +++ b/source/includes/api-details/typescript/crud/delete-remove-elements-from-set-description.rst @@ -0,0 +1,5 @@ +To remove a specific value from a set, pass the value to the +``.delete()`` method within a write transaction. + +To remove all items from the set, run the ``.clear()`` method within +a write transaction. diff --git a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst index 7b2d7211d1..cd96da2edc 100644 --- a/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst +++ b/source/includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst @@ -38,9 +38,8 @@ - id: javascript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.js + .. literalinclude:: /examples/generated/node/data-types.snippet.remove-fields-of-the-dictionary.js :language: javascript - :copyable: false - id: kotlin content: | diff --git a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst index 3b61fc9cca..7b8ee84338 100644 --- a/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst +++ b/source/includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -38,9 +38,8 @@ - id: javascript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.js + .. literalinclude:: /examples/generated/node/data-types.snippet.remove-all-items-from-set.js :language: javascript - :copyable: false - id: kotlin content: | diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 680eef273a..8cee524a1a 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -176,7 +176,7 @@ Delete Objects .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst .. tab:: :tabid: kotlin @@ -196,6 +196,8 @@ Delete Objects .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-objects-js-ts-procedure.rst + .. _sdks-delete-single-object: Delete a Single Object @@ -762,7 +764,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst .. tab:: :tabid: kotlin @@ -782,6 +784,7 @@ mixed data type, refer to :ref:`sdks-mixed-data-type`. .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-mixed-property-values-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-mixed-property-values.rst @@ -832,7 +835,7 @@ Remove Elements from a List .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst .. tab:: :tabid: kotlin @@ -852,6 +855,7 @@ Remove Elements from a List .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-remove-elements-from-list-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-remove-elements-from-list.rst @@ -890,7 +894,7 @@ Remove Elements from a Set .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-remove-elements-from-set-description.rst .. tab:: :tabid: kotlin @@ -910,6 +914,7 @@ Remove Elements from a Set .. tab:: :tabid: typescript + .. include:: /includes/api-details/typescript/crud/delete-remove-elements-from-set-description.rst .. include:: /includes/sdk-examples/crud/delete-remove-elements-from-set.rst @@ -948,7 +953,7 @@ Remove Dictionary Keys/Values .. tab:: :tabid: javascript - + .. include:: /includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst .. tab:: :tabid: kotlin @@ -968,5 +973,6 @@ Remove Dictionary Keys/Values .. tab:: :tabid: typescript + .. include:: /includes/api-details/javascript/crud/delete-remove-dictionary-keys-values-js-ts-description.rst .. include:: /includes/sdk-examples/crud/delete-remove-dictionary-keys-values.rst From 421cb784812056b3c95dd3807e65a943082265fe Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 11:57:56 -0400 Subject: [PATCH 17/20] Add missing C++ descriptions --- .../cpp/crud/delete-all-objects-not-supported.rst | 3 +++ .../cpp/crud/delete-all-objects-of-type-not-supported.rst | 1 + .../cpp/crud/delete-multiple-objects-description.rst | 1 + .../crud/delete-remove-elements-from-list-description.rst | 3 +++ source/sdk/crud/delete.txt | 8 ++++---- 5 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 source/includes/api-details/cpp/crud/delete-all-objects-not-supported.rst create mode 100644 source/includes/api-details/cpp/crud/delete-all-objects-of-type-not-supported.rst create mode 100644 source/includes/api-details/cpp/crud/delete-multiple-objects-description.rst create mode 100644 source/includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst diff --git a/source/includes/api-details/cpp/crud/delete-all-objects-not-supported.rst b/source/includes/api-details/cpp/crud/delete-all-objects-not-supported.rst new file mode 100644 index 0000000000..8652a07994 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-all-objects-not-supported.rst @@ -0,0 +1,3 @@ +C++ does not currently provide a method to delete all objects in the database. +You can manually iterate through the objects and delete them if you need to +clear the database. diff --git a/source/includes/api-details/cpp/crud/delete-all-objects-of-type-not-supported.rst b/source/includes/api-details/cpp/crud/delete-all-objects-of-type-not-supported.rst new file mode 100644 index 0000000000..0ca1ab07aa --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-all-objects-of-type-not-supported.rst @@ -0,0 +1 @@ +C++ does not currently provide an API to delete all objects of a type. diff --git a/source/includes/api-details/cpp/crud/delete-multiple-objects-description.rst b/source/includes/api-details/cpp/crud/delete-multiple-objects-description.rst new file mode 100644 index 0000000000..12d92e20f7 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-multiple-objects-description.rst @@ -0,0 +1 @@ +You can delete multiple objects within a write transaction. \ No newline at end of file diff --git a/source/includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst new file mode 100644 index 0000000000..49bf1822d3 --- /dev/null +++ b/source/includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst @@ -0,0 +1,3 @@ +You can delete a :cpp-sdk:`list element +` +with ``erase()``, or remove all elements from the list with ``clear()``. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 8cee524a1a..8f4ac4f0da 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -273,7 +273,7 @@ Delete Multiple Objects .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-multiple-objects-description.rst .. tab:: :tabid: csharp @@ -332,7 +332,7 @@ Delete All Objects of a Type .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-all-objects-of-type-not-supported.rst .. tab:: :tabid: csharp @@ -399,7 +399,7 @@ by the database instance. .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-all-objects-not-supported.rst .. tab:: :tabid: csharp @@ -810,7 +810,7 @@ Remove Elements from a List .. tab:: :tabid: cpp-sdk - + .. include:: /includes/api-details/cpp/crud/delete-remove-elements-from-list-description.rst .. tab:: :tabid: csharp From d5080122eacb27b3f1ac1d7607ace9f384d0e9b0 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 12:38:44 -0400 Subject: [PATCH 18/20] Final fixups before review --- .../api-details/dart/crud/delete-objects-procedure.rst | 2 +- .../delete-remove-dictionary-keys-values-description.rst | 2 +- .../swift/crud/delete-all-objects-of-type-description.rst | 7 +++---- .../api-details/swift/crud/delete-objects-procedure.rst | 1 + source/sdk/crud/delete.txt | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/includes/api-details/dart/crud/delete-objects-procedure.rst b/source/includes/api-details/dart/crud/delete-objects-procedure.rst index 848d33c909..7db23f1aec 100644 --- a/source/includes/api-details/dart/crud/delete-objects-procedure.rst +++ b/source/includes/api-details/dart/crud/delete-objects-procedure.rst @@ -10,7 +10,7 @@ You can only delete live objects. If you are working with a frozen object, you must query for the live object before deleting the object. -#. Call the :dotnet-sdk:`delete ` +#. Call the :flutter-sdk:`delete ` method with the object you want to delete as an argument. #. The specified object is deleted from the database and can no longer be diff --git a/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst b/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst index f16c1d1da5..0721e64f06 100644 --- a/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst +++ b/source/includes/api-details/dart/crud/delete-remove-dictionary-keys-values-description.rst @@ -1,4 +1,4 @@ You can remove keys and values from a :flutter-sdk:`RealmMap -`within a write transaction. To remove a key and +` within a write transaction. To remove a key and its associated value, call ``map.remove()``. To remove an element matching a query, call ``map.removeWhere()``. diff --git a/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst index d9cc4cb74a..db831b5732 100644 --- a/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst +++ b/source/includes/api-details/swift/crud/delete-all-objects-of-type-description.rst @@ -1,6 +1,5 @@ -To delete all objects of a given object type from the database, pass -the result of :swift-sdk:`Realm.objects(_:) -` -for the type you wish to delete to :swift-sdk:`Realm.delete(_:) +To delete all objects of a given object type from the database, query for +objects of the type you want to delete, and pass the result to +:swift-sdk:`Realm.delete(_:) ` inside of a write transaction. diff --git a/source/includes/api-details/swift/crud/delete-objects-procedure.rst b/source/includes/api-details/swift/crud/delete-objects-procedure.rst index d945aaac16..6b0b9a1bd3 100644 --- a/source/includes/api-details/swift/crud/delete-objects-procedure.rst +++ b/source/includes/api-details/swift/crud/delete-objects-procedure.rst @@ -1,4 +1,5 @@ 1. Open a write transaction with one of the relevant APIs: + - :swift-sdk:`write() ` - :swift-sdk:`writeAsync() ` - :swift-sdk:`asyncWrite() ` and friends diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 8f4ac4f0da..4311e5afca 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -5,7 +5,7 @@ Delete Objects and Property Values ================================== .. meta:: - :description: Provide a short description of the consolidated page. This is critical for SEO. + :description: Learn how to delete objects from the database, clear property values, and remove elements from collections. :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, .NET SDK, Node.js SDK, Swift SDK, code example .. facet:: From c64e54840bcbb3fd7900f8ca30a0c1b560c4b740 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 6 Aug 2024 09:20:41 -0400 Subject: [PATCH 19/20] Escape the angle brackets which are breaking links --- .../csharp/crud/delete-all-objects-of-type-description.rst | 2 +- .../delete-an-object-and-its-related-objects-description.rst | 2 +- .../csharp/crud/delete-multiple-objects-description.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst index 0673d5177a..91c0400e63 100644 --- a/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst +++ b/source/includes/api-details/csharp/crud/delete-all-objects-of-type-description.rst @@ -1,2 +1,2 @@ -To delete all objects of a type, call :dotnet-sdk:`Realm.RemoveAll +To delete all objects of a type, call :dotnet-sdk:`Realm.RemoveAll\ `. \ No newline at end of file diff --git a/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst b/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst index 83a24b7479..f9075d7d2e 100644 --- a/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst +++ b/source/includes/api-details/csharp/crud/delete-an-object-and-its-related-objects-description.rst @@ -1,4 +1,4 @@ -In the following example, we call :dotnet-sdk:`Realm.RemoveRange +In the following example, we call :dotnet-sdk:`Realm.RemoveRange\ ` to remove Ali's ``dogs`` collection, which is a to-many list property containing one or more ``Dog`` objects. Then, we call :dotnet-sdk:`Realm.Remove() diff --git a/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst b/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst index 41667ed85a..40027667e8 100644 --- a/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst +++ b/source/includes/api-details/csharp/crud/delete-multiple-objects-description.rst @@ -1,3 +1,3 @@ To delete multiple objects at the same time, pass an ``IQueryable`` query -for the objects you want to delete to :dotnet-sdk:`Realm.RemoveRange +for the objects you want to delete to :dotnet-sdk:`Realm.RemoveRange\ `. From dc3bdf91a8928cb57e6d1141913f82b28403bcbb Mon Sep 17 00:00:00 2001 From: Dachary Date: Tue, 6 Aug 2024 09:23:38 -0400 Subject: [PATCH 20/20] Apply suggestions from review Co-authored-by: Kyle Rollins <115574589+krollins-mdb@users.noreply.github.com> --- .../crud/delete-all-objects-in-the-database-description.rst | 2 +- .../java/crud/delete-all-objects-of-type-description.rst | 2 +- .../java/crud/delete-multiple-objects-description.rst | 4 ++-- .../java/crud/delete-single-object-description.rst | 2 +- .../crud/delete-remove-elements-from-list-description.rst | 2 +- .../crud/delete-remove-elements-from-set-description.rst | 4 ++-- source/sdk/crud/delete.txt | 3 +-- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst b/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst index d7855e1841..17b3337b60 100644 --- a/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst +++ b/source/includes/api-details/java/crud/delete-all-objects-in-the-database-description.rst @@ -1,3 +1,3 @@ The following example demonstrates how to delete everything from the database with :java-sdk:`deleteAll() -`. +`. diff --git a/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst b/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst index 38c3f10e64..cff6e77295 100644 --- a/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst +++ b/source/includes/api-details/java/crud/delete-all-objects-of-type-description.rst @@ -1,3 +1,3 @@ The following example demonstrates how to delete all Turtle instances from the database with :java-sdk:`delete() -`. +`. diff --git a/source/includes/api-details/java/crud/delete-multiple-objects-description.rst b/source/includes/api-details/java/crud/delete-multiple-objects-description.rst index f84d806c60..f7fd4ae654 100644 --- a/source/includes/api-details/java/crud/delete-multiple-objects-description.rst +++ b/source/includes/api-details/java/crud/delete-multiple-objects-description.rst @@ -2,8 +2,8 @@ To delete an object from the database, use the ``deleteAllFromRealm()`` method of the :java-sdk:`RealmResults ` instance that contains the objects you would like to delete. You can filter the ``RealmResults`` down to a subset of objects using the -:java-sdk:`where() ` method. +:java-sdk:`where() ` method. The following example demonstrates how to delete a collection from the database with :java-sdk:`deleteAllFromRealm() -`. +`. diff --git a/source/includes/api-details/java/crud/delete-single-object-description.rst b/source/includes/api-details/java/crud/delete-single-object-description.rst index d4873f8bda..7b69449458 100644 --- a/source/includes/api-details/java/crud/delete-single-object-description.rst +++ b/source/includes/api-details/java/crud/delete-single-object-description.rst @@ -4,4 +4,4 @@ versions of the ``deleteFromRealm()`` method of a :java-sdk:`RealmObject The following example shows how to delete one object from its realm with :java-sdk:`deleteFromRealm() -`. +`. diff --git a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst index ba0dd86db3..9a103be68c 100644 --- a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst +++ b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-list-description.rst @@ -4,7 +4,7 @@ You can remove one or more elements in a single transaction from a - To remove one element from the list, pass the element to :kotlin-sdk:`list.remove() `. - To remove one element at a specified index in the list, pass the index to - :kotlin-sdk:`list.removeAt() `. + :kotlin-sdk:`list.removeAt() `. - To remove multiple elements from the list, pass the elements to :kotlin-sdk:`list.removeAll() `. diff --git a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst index 0c69d4069e..a9ade95d58 100644 --- a/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst +++ b/source/includes/api-details/kotlin/crud/delete-remove-elements-from-set-description.rst @@ -3,10 +3,10 @@ You can remove one or more elements in a single transaction from a - To remove one element from the set, pass the element you want to delete to - :kotlin-sdk:`set.remove() `. + :kotlin-sdk:`set.remove() `. - To remove multiple elements from the set, pass the elements you want to delete to - :kotlin-sdk:`set.removeAll() `. + :kotlin-sdk:`set.removeAll() `. You can also remove *all* set elements at once by calling :kotlin-sdk:`set.clear() `. diff --git a/source/sdk/crud/delete.txt b/source/sdk/crud/delete.txt index 4311e5afca..dbb0f12027 100644 --- a/source/sdk/crud/delete.txt +++ b/source/sdk/crud/delete.txt @@ -49,8 +49,7 @@ If you want to remove objects or properties from the database schema, refer to Delete Operations ----------------- -All operations that modify a realm - including delete operations - -must be performed inside of a **write transaction**. For more information on +Delete operations must be performed inside of a **write transaction**. For more information on write transactions and how the SDK handles them, refer to :ref:`sdks-write-transactions`.