# Blob bin operations

Aerospike blob bin expressions allow you to manipulate and query blob-type bins directly in database queries.

This guide covers operations such as `blob_concat`, `blob_contains`, and `blob_get`, enabling efficient handling of binary data.

## Modify

#### `bit_add`

```python
bit_add(policy, bit_offset, bit_size, value, action_flags, bin)
```

Description: Invokes the [add](https://aerospike.com/develop/data-types/blob#add) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `integer_expr` |
| `action_flags` | `library_specific` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_and`

```python
bit_and(policy, bit_offset, bit_size, value, bin)
```

Description: Invokes the [and](https://aerospike.com/develop/data-types/blob#and) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `blob_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_insert`

```python
bit_insert(policy, bytes_offset, blob, bin)
```

Description: Invokes the [insert](https://aerospike.com/develop/data-types/blob#insert) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bytes_offset` | `integer_expr` |
| `blob` | `blob_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_lshift`

```python
bit_lshift(policy, bit_offset, bit_size, shift_bit_count, bin)
```

Description: Invokes the [lshift](https://aerospike.com/develop/data-types/blob#lshift) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `shift_bit_count` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_not`

```python
bit_not(policy, bit_offset, bit_size, bin)
```

Description: Invokes the [not](https://aerospike.com/develop/data-types/blob#not) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `bin` | `blob_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_or`

```python
bit_or(policy, bit_offset, bit_size, value, bin)
```

Description: Invokes the [or](https://aerospike.com/develop/data-types/blob#or) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `blob_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_remove`

```python
bit_remove(policy, bytes_offset, byte_size, bin)
```

Description: Invokes the [remove](https://aerospike.com/develop/data-types/blob#remove) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bytes_offset` | `integer_expr` |
| `byte_size` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_resize`

```python
bit_resize(policy, bytes_size, flags, bin)
```

Description: Invokes the [resize](https://aerospike.com/develop/data-types/blob#resize) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bytes_size` | `integer_expr` |
| `flags` | `library_specific` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_rshift`

```python
bit_rshift(policy, bit_offset, bit_size, shift_bit_count, bin)
```

Description: Invokes the [rshift](https://aerospike.com/develop/data-types/blob#rshift) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `shift_bit_count` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_set`

```python
bit_set(policy, bit_offset, bit_size, value, bin)
```

Description: Invokes the [set](https://aerospike.com/develop/data-types/blob#set) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `blob_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_set_int`

```python
bit_set_int(policy, bit_offset, bit_size, value, bin)
```

Description: Invokes the [set\_integer](https://aerospike.com/docs/develop/data-types/blob#set_int) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_subtract`

```python
bit_subtract(policy, bit_offset, bit_size, value, action_flags, bin)
```

Description: Invokes the [subtract](https://aerospike.com/develop/data-types/blob#subtract) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `integer_expr` |
| `action_flags` | `library_specific` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_xor`

```python
bit_xor(policy, bit_offset, bit_size, value, bin)
```

Description: Invokes the [xor](https://aerospike.com/develop/data-types/blob#xor) operation.

Arguments: | Name | Type |
| --- | --- |
| `policy` | `library_specific` |
| `bit_offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `blob_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

## Read

#### `bit_count`

```python
bit_count(offset, bit_size, bin)
```

Description: Invokes the [count](https://aerospike.com/develop/data-types/blob#count) operation.

Arguments: | Name | Type |
| --- | --- |
| `offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `integer_bin`

Introduced: 5.2.0.4

---

#### `bit_get`

```python
bit_get(offset, bit_size, bin)
```

Description: Invokes the [get](https://aerospike.com/develop/data-types/blob#get) operation.

Arguments: | Name | Type |
| --- | --- |
| `offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `bin` | `blob_bin_expr` |

Returns: `blob_bin`

Introduced: 5.2.0.4

---

#### `bit_get_int`

```python
bit_get_int(offset, bit_size, is_signed, bin)
```

Description: Invokes the [get\_integer](https://aerospike.com/develop/data-types/blob#get_integer) operation.

Arguments: | Name | Type |
| --- | --- |
| `offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `is_signed` | `boolean_value` |
| `bin` | `blob_bin_expr` |

Returns: `integer_bin`

Introduced: 5.2.0.4

---

#### `bit_lscan`

```python
bit_lscan(offset, bit_size, value, bin)
```

Description: Invokes the [lscan](https://aerospike.com/develop/data-types/blob#lscan) operation.

Arguments: | Name | Type |
| --- | --- |
| `offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `boolean_expr` |
| `bin` | `blob_bin_expr` |

Returns: `integer_bin`

Introduced: 5.2.0.4

---

#### `bit_rscan`

```python
bit_rscan(offset, bit_size, value, bin)
```

Description: Invokes the [rscan](https://aerospike.com/develop/data-types/blob#rscan) operation.

Arguments: | Name | Type |
| --- | --- |
| `offset` | `integer_expr` |
| `bit_size` | `integer_expr` |
| `value` | `boolean_expr` |
| `bin` | `blob_bin_expr` |

Returns: `integer_bin`

Introduced: 5.2.0.4

---