Register array-related functions in SQLite
(conn: &Connection)
| 3 | |
| 4 | /// Register array-related functions in SQLite |
| 5 | pub fn register_array_functions(conn: &Connection) -> Result<()> { |
| 6 | // Basic array information functions |
| 7 | register_array_length(conn)?; |
| 8 | register_array_upper(conn)?; |
| 9 | register_array_lower(conn)?; |
| 10 | register_array_ndims(conn)?; |
| 11 | |
| 12 | // Array manipulation functions |
| 13 | register_array_append(conn)?; |
| 14 | register_array_prepend(conn)?; |
| 15 | register_array_cat(conn)?; |
| 16 | register_array_remove(conn)?; |
| 17 | register_array_replace(conn)?; |
| 18 | |
| 19 | // Array operator functions |
| 20 | register_array_contains(conn)?; |
| 21 | register_array_contained(conn)?; |
| 22 | register_array_overlap(conn)?; |
| 23 | |
| 24 | // Array utility functions |
| 25 | register_array_slice(conn)?; |
| 26 | register_array_position(conn)?; |
| 27 | register_array_positions(conn)?; |
| 28 | |
| 29 | // Array aggregate function |
| 30 | register_array_agg(conn)?; |
| 31 | |
| 32 | // Note: unnest() is now implemented as a virtual table in unnest_vtab.rs |
| 33 | |
| 34 | // Array constructor functions |
| 35 | register_string_to_array(conn)?; |
| 36 | register_array_to_string(conn)?; |
| 37 | |
| 38 | Ok(()) |
| 39 | } |
| 40 | |
| 41 | /// array_length(array, dimension) - Get length of array in specified dimension |
| 42 | fn register_array_length(conn: &Connection) -> Result<()> { |