1e41f4b71Sopenharmony_ci# @ohos.data.sendableRelationalStore (Shared RDB Store)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **sendableRelationalStore** module provides APIs for obtaining **ValuesBucket** of the sendable type from the query result set and transferring it between concurrent instances.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci> 
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## Modules to Import
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci```ts
12e41f4b71Sopenharmony_ciimport { sendableRelationalStore } from '@kit.ArkData';
13e41f4b71Sopenharmony_ci```
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci## sendableRelationalStore.toSendableValuesBucket
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_citoSendableValuesBucket(valuesBucket: NonSendableBucket): ValuesBucket
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ciConverts a key-value (KV) pair that cannot be transferred across threads into the data that can be transferred across threads.
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**Parameters**
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci| Name      | Type                                   | Mandatory | Description                              |
26e41f4b71Sopenharmony_ci| ------------ | --------------------------------------- | ---- | :--------------------------------- |
27e41f4b71Sopenharmony_ci| valuesBucket | [NonSendableBucket](#nonsendablebucket) | Yes  | Data that cannot be transferred across threads. |
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**Return value**
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci| Type                         | Description                                |
32e41f4b71Sopenharmony_ci| ----------------------------- | ------------------------------------ |
33e41f4b71Sopenharmony_ci| [ValuesBucket](#valuesbucket) | Data that can be transferred across threads. |
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci**Error codes**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [RDB Store Error Codes](errorcode-data-rdb.md).
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci| **Error Code** | **Error Message**                                                                                                                                   |
40e41f4b71Sopenharmony_ci| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
41e41f4b71Sopenharmony_ci| 401          | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
42e41f4b71Sopenharmony_ci| 14800000     | Inner error.                                                                                                                                    |
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**Example**
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci```ts
47e41f4b71Sopenharmony_ciconst asset1: sendableRelationalStore.NonSendableAsset = {
48e41f4b71Sopenharmony_ci  name: 'hangman',
49e41f4b71Sopenharmony_ci  uri: '//path/example',
50e41f4b71Sopenharmony_ci  path: '//path/example',
51e41f4b71Sopenharmony_ci  createTime: 'createTime1',
52e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
53e41f4b71Sopenharmony_ci  size: 'size1',
54e41f4b71Sopenharmony_ci};
55e41f4b71Sopenharmony_ciconst asset2: sendableRelationalStore.NonSendableAsset = {
56e41f4b71Sopenharmony_ci  name: 'hangman',
57e41f4b71Sopenharmony_ci  uri: '//path/example',
58e41f4b71Sopenharmony_ci  path: '//path/example',
59e41f4b71Sopenharmony_ci  createTime: 'createTime1',
60e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
61e41f4b71Sopenharmony_ci  size: 'size1',
62e41f4b71Sopenharmony_ci}
63e41f4b71Sopenharmony_ciconst u8 = new Uint8Array([1, 2, 3]);
64e41f4b71Sopenharmony_ciconst valuesBucket: sendableRelationalStore.NonSendableBucket = {
65e41f4b71Sopenharmony_ci  age: 18,
66e41f4b71Sopenharmony_ci  name: "hangman",
67e41f4b71Sopenharmony_ci  salary: 100.5,
68e41f4b71Sopenharmony_ci  passed: true,
69e41f4b71Sopenharmony_ci  data1: asset1,
70e41f4b71Sopenharmony_ci  blobType: u8,
71e41f4b71Sopenharmony_ci  bigValue: BigInt("15822401018187971961171"),
72e41f4b71Sopenharmony_ci  data2: [asset1, asset2],
73e41f4b71Sopenharmony_ci};
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ciconst sendableValuesBucket = sendableRelationalStore.toSendableValuesBucket(valuesBucket);
76e41f4b71Sopenharmony_ci```
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci## sendableRelationalStore.fromSendableValuesBucket
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_cifromSendableValuesBucket(valuesBucket: ValuesBucket): NonSendableBucket
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ciConverts a KV pair that can be transferred across threads into the data that cannot be transferred across threads.
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**Parameters**
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci| Name      | Type                         | Mandatory | Description                                |
89e41f4b71Sopenharmony_ci| ------------ | ----------------------------- | ---- | :----------------------------------- |
90e41f4b71Sopenharmony_ci| valuesBucket | [ValuesBucket](#valuesbucket) | Yes  | Data that can be transferred across threads. |
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci**Return value**
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci| Type                                   | Description                              |
95e41f4b71Sopenharmony_ci| --------------------------------------- | ---------------------------------- |
96e41f4b71Sopenharmony_ci| [NonSendableBucket](#nonsendablebucket) | Data that cannot be transferred across threads. |
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci**Error codes**
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [RDB Store Error Codes](errorcode-data-rdb.md).
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci| **Error Code** | **Error Message**                                                                                                 |
103e41f4b71Sopenharmony_ci| ------------ | ------------------------------------------------------------------------------------------------------------- |
104e41f4b71Sopenharmony_ci| 401          | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
105e41f4b71Sopenharmony_ci| 14800000     | Inner error.                                                                                                  |
106e41f4b71Sopenharmony_ci
107e41f4b71Sopenharmony_ci**Example**
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci```ts
110e41f4b71Sopenharmony_ciconst asset1: sendableRelationalStore.NonSendableAsset = {
111e41f4b71Sopenharmony_ci  name: 'hangman',
112e41f4b71Sopenharmony_ci  uri: '//path/example',
113e41f4b71Sopenharmony_ci  path: '//path/example',
114e41f4b71Sopenharmony_ci  createTime: 'createTime1',
115e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
116e41f4b71Sopenharmony_ci  size: 'size1',
117e41f4b71Sopenharmony_ci};
118e41f4b71Sopenharmony_ciconst asset2: sendableRelationalStore.NonSendableAsset = {
119e41f4b71Sopenharmony_ci  name: 'hangman',
120e41f4b71Sopenharmony_ci  uri: '//path/example',
121e41f4b71Sopenharmony_ci  path: '//path/example',
122e41f4b71Sopenharmony_ci  createTime: 'createTime1',
123e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
124e41f4b71Sopenharmony_ci  size: 'size1',
125e41f4b71Sopenharmony_ci}
126e41f4b71Sopenharmony_ciconst u8 = new Uint8Array([1, 2, 3]);
127e41f4b71Sopenharmony_ci
128e41f4b71Sopenharmony_ciconst sendableValuesBucket = sendableRelationalStore.toSendableValuesBucket({
129e41f4b71Sopenharmony_ci  age: 18,
130e41f4b71Sopenharmony_ci  name: "hangman",
131e41f4b71Sopenharmony_ci  salary: 100.5,
132e41f4b71Sopenharmony_ci  passed: true,
133e41f4b71Sopenharmony_ci  data1: asset1,
134e41f4b71Sopenharmony_ci  blobType: u8,
135e41f4b71Sopenharmony_ci  bigValue: BigInt("15822401018187971961171"),
136e41f4b71Sopenharmony_ci  data2: [asset1, asset2],
137e41f4b71Sopenharmony_ci});
138e41f4b71Sopenharmony_ciconst nonSendableBucket = sendableRelationalStore.fromSendableValuesBucket(sendableValuesBucket);
139e41f4b71Sopenharmony_ci```
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci## sendableRelationalStore.toSendableAsset
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_cifunction toSendableAsset(asset: NonSendableAsset): Asset
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ciConverts the asset data that cannot be transferred across threads into the data that can be transferred across threads.
146e41f4b71Sopenharmony_ci
147e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
148e41f4b71Sopenharmony_ci
149e41f4b71Sopenharmony_ci**Parameters**
150e41f4b71Sopenharmony_ci
151e41f4b71Sopenharmony_ci| Name | Type                                  | Mandatory | Description                       |
152e41f4b71Sopenharmony_ci| ------ | -------------------------------------- | ---- | :-------------------------- |
153e41f4b71Sopenharmony_ci| asset  | [NonSendableAsset](#nonsendablebucket) | Yes  | Asset data that cannot be transferred across threads. |
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci**Return value**
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci| Type           | Description                     |
158e41f4b71Sopenharmony_ci| --------------- | ------------------------- |
159e41f4b71Sopenharmony_ci| [Asset](#asset) | Asset data that can be transferred across threads. |
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [RDB Store Error Codes](errorcode-data-rdb.md).
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci| **Error Code** | **Error Message**                                                                                                 |
164e41f4b71Sopenharmony_ci| ------------ | ------------------------------------------------------------------------------------------------------------- |
165e41f4b71Sopenharmony_ci| 401          | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
166e41f4b71Sopenharmony_ci| 14800000     | Inner error.                                                                                                  |
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci**Example**
169e41f4b71Sopenharmony_ci
170e41f4b71Sopenharmony_ci```ts
171e41f4b71Sopenharmony_ciconst asset1: sendableRelationalStore.NonSendableAsset = {
172e41f4b71Sopenharmony_ci  name: 'hangman',
173e41f4b71Sopenharmony_ci  uri: '//path/example',
174e41f4b71Sopenharmony_ci  path: '//path/example',
175e41f4b71Sopenharmony_ci  createTime: 'createTime1',
176e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
177e41f4b71Sopenharmony_ci  size: 'size1',
178e41f4b71Sopenharmony_ci};
179e41f4b71Sopenharmony_ciconst sendableAsset = sendableRelationalStore.toSendableAsset(asset1);
180e41f4b71Sopenharmony_ci```
181e41f4b71Sopenharmony_ci
182e41f4b71Sopenharmony_ci## sendableRelationalStore.fromSendableAsset
183e41f4b71Sopenharmony_ci
184e41f4b71Sopenharmony_cifunction fromSendableAsset(asset: Asset): NonSendableAsset
185e41f4b71Sopenharmony_ci
186e41f4b71Sopenharmony_ciConverts the asset data that can be transferred across threads into the data that cannot be transferred across threads.
187e41f4b71Sopenharmony_ci
188e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_ci**Parameters**
191e41f4b71Sopenharmony_ci
192e41f4b71Sopenharmony_ci| Name | Type           | Mandatory | Description                     |
193e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | :------------------------ |
194e41f4b71Sopenharmony_ci| asset  | [Asset](#asset) | Yes  | Asset data that can be transferred across threads. |
195e41f4b71Sopenharmony_ci
196e41f4b71Sopenharmony_ci**Return value**
197e41f4b71Sopenharmony_ci
198e41f4b71Sopenharmony_ci| Type                                  | Description                       |
199e41f4b71Sopenharmony_ci| -------------------------------------- | --------------------------- |
200e41f4b71Sopenharmony_ci| [NonSendableAsset](#nonsendablebucket) | Asset data that cannot be transferred across threads. |
201e41f4b71Sopenharmony_ci
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [RDB Store Error Codes](errorcode-data-rdb.md).
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ci| **Error Code** | **Error Message**                                                                                                 |
206e41f4b71Sopenharmony_ci| ------------ | ------------------------------------------------------------------------------------------------------------- |
207e41f4b71Sopenharmony_ci| 401          | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
208e41f4b71Sopenharmony_ci| 14800000     | Inner error.                                                                                                  |
209e41f4b71Sopenharmony_ci
210e41f4b71Sopenharmony_ci**Example**
211e41f4b71Sopenharmony_ci
212e41f4b71Sopenharmony_ci```ts
213e41f4b71Sopenharmony_ciconst asset1: sendableRelationalStore.NonSendableAsset = {
214e41f4b71Sopenharmony_ci  name: 'hangman',
215e41f4b71Sopenharmony_ci  uri: '//path/example',
216e41f4b71Sopenharmony_ci  path: '//path/example',
217e41f4b71Sopenharmony_ci  createTime: 'createTime1',
218e41f4b71Sopenharmony_ci  modifyTime: 'modifyTime1',
219e41f4b71Sopenharmony_ci  size: 'size1',
220e41f4b71Sopenharmony_ci};
221e41f4b71Sopenharmony_ciconst sendableAsset = sendableRelationalStore.toSendableAsset(asset1);
222e41f4b71Sopenharmony_ciconst normalAsset = sendableRelationalStore.fromSendableAsset(sendableAsset);
223e41f4b71Sopenharmony_ci```
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci## Asset
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ciRepresent information about an asset (such as a document, image, and video). **Asset** inherits from [lang.ISendable](../apis-arkts/js-apis-arkts-lang.md#langisendable) and is used to implement cross-thread transfer of asset data. The asset data does not support **Datashare** APIs. Use [sendableRelationalStore.toSendableAsset](#sendablerelationalstoretosendableasset) to create an **Asset** instance.
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci| Name      | Type  | Read-Only | Optional | Description                              |
232e41f4b71Sopenharmony_ci| ---------- | ------ | ---  | ---- | ---------------------------------- |
233e41f4b71Sopenharmony_ci| name       | string | No  | No  | Asset name.                      |
234e41f4b71Sopenharmony_ci| uri        | string | No  | No  | Asset URI, which is an absolute path in the system.   |
235e41f4b71Sopenharmony_ci| path       | string | No  | No  | Application sandbox path of the asset.          |
236e41f4b71Sopenharmony_ci| createTime | string | No  | No  | Time when the asset was created.            |
237e41f4b71Sopenharmony_ci| modifyTime | string | No  | No  | Time when the asset was last modified.        |
238e41f4b71Sopenharmony_ci| size       | string | No  | No  | Size of the asset.              |
239e41f4b71Sopenharmony_ci| status     | number | No  | Yes  | Asset status. For details, see [relationalStore.AssetStatus](./js-apis-data-relationalStore.md#assetstatus10). The default value is **relationalStore.AssetStatus.ASSET_NORMAL**.|
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci
242e41f4b71Sopenharmony_ci## Assets
243e41f4b71Sopenharmony_ci
244e41f4b71Sopenharmony_citype Assets = collections.Array\<Asset>
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ciRepresent an array of [Assets](#asset), which allows assets to be transferred across threads.
247e41f4b71Sopenharmony_ci
248e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci| Type                                                                                              | Description                             |
251e41f4b71Sopenharmony_ci| -------------------------------------------------------------------------------------------------- | --------------------------------- |
252e41f4b71Sopenharmony_ci| [collections.Array](../apis-arkts/js-apis-arkts-collections.md#collectionsarray)\<[Asset](#asset)> | Array of assets. |
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_ci## ValueType
255e41f4b71Sopenharmony_ci
256e41f4b71Sopenharmony_citype ValueType = null | number | string | boolean | collection.Uint8Array | Asset | Assets | collection.Float32Array | bigint
257e41f4b71Sopenharmony_ci
258e41f4b71Sopenharmony_ciEnumerates the types of the value in a KV pair. The type varies with the parameter function.
259e41f4b71Sopenharmony_ci
260e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci| Type   | Description                |
263e41f4b71Sopenharmony_ci| ------- | -------------------- |
264e41f4b71Sopenharmony_ci| null    | The value is null.    |
265e41f4b71Sopenharmony_ci| number  | The value is a number.  |
266e41f4b71Sopenharmony_ci| string  | The value is a string. |
267e41f4b71Sopenharmony_ci| boolean | The value is **true** or **false**. |
268e41f4b71Sopenharmony_ci| [collection.Uint8Array](../apis-arkts/js-apis-arkts-collections.md#collectionstypedarray) | The value is a Uint8 array.|
269e41f4b71Sopenharmony_ci| [Asset](#asset)  | The value is an asset.<br>If the value type is **Asset**, the type in the SQL statement for creating a table must be **ASSET**.            |
270e41f4b71Sopenharmony_ci| [Assets](#assets) | The value is an array of assets.<br>If the value type is **Assets**, the type in the SQL statement for creating a table must be **ASSETS**. |
271e41f4b71Sopenharmony_ci| [collection.Float32Array](../apis-arkts/js-apis-arkts-collections.md#collectionstypedarray) | The value is an array of 32-bit floating-point numbers.<br>If the value type is **collection.Float32Array**, the type in the SQL statement for creating a table must be **floatvector(128)**. |
272e41f4b71Sopenharmony_ci| bigint | The value is an integer of any length.<br>If the value type is **bigint**, the type in the SQL statement for creating a table must be **UNLIMITED INT**. For details, see [Persisting RDB Store Data](../../database/data-persistence-by-rdb-store.md).<br>**NOTE**<br>The bigint type does not support value comparison and cannot be used with the following predicates: **between**, **notBetween**, **greaterThanlessThan**, **greaterThanOrEqualTo**, **lessThanOrEqualTo**, **orderByAsc**, and **orderByDesc**<br>To write a value of bigint type, use **BigInt()** or add **n** to the end of the value, for example,'let data = BigInt(1234)' or 'let data = 1234n'.<br>If data of the number type is written to a bigint field, the type of the return value obtained (queried) is number but not bigint. |
273e41f4b71Sopenharmony_ci
274e41f4b71Sopenharmony_ci## ValuesBucket
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_citype ValuesBucket = collections.Map<string, ValueType>
277e41f4b71Sopenharmony_ci
278e41f4b71Sopenharmony_ciRepresents the KV pair that can be transferred across threads.
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci| Type                                                                                                         | Description                                                                   |
283e41f4b71Sopenharmony_ci| ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
284e41f4b71Sopenharmony_ci| [collections.Map](../apis-arkts/js-apis-arkts-collections.md#collectionsmap)<string, [ValueType](#valuetype)> | KV pair that can be transferred across threads. The key must be a string, and the value is of the **ValueType** type. |
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_ci## NonSendableBucket
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_citype NonSendableBucket = relationalStore.ValuesBucket
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ciRepresents the KV pair that cannot be transferred across threads
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci| Type                                                                          | Description                        |
295e41f4b71Sopenharmony_ci| ------------------------------------------------------------------------------ | ---------------------------- |
296e41f4b71Sopenharmony_ci| [relationalStore.ValuesBucket](./js-apis-data-relationalStore.md#valuesbucket) | KV pair that cannot be transferred across threads. |
297e41f4b71Sopenharmony_ci
298e41f4b71Sopenharmony_ci## NonSendableAsset
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_citype NonSendableAsset = relationalStore.Asset
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ciRepresent the asset (such as a document, image, and video) that cannot be transferred across threads
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ci**System capability**: SystemCapability.DistributedDataManager.RelationalStore.Core
305e41f4b71Sopenharmony_ci
306e41f4b71Sopenharmony_ci| Type                                                              | Description                          |
307e41f4b71Sopenharmony_ci| ------------------------------------------------------------------ | ------------------------------ |
308e41f4b71Sopenharmony_ci| [relationalStore.Asset](./js-apis-data-relationalStore.md#asset10) | Asset that cannot be transferred across threads. |
309