(state: &mut State<'gc>, args: Vec<Value<'gc>>)
| 178 | } |
| 179 | |
| 180 | fn sqlite_query<'gc>(state: &mut State<'gc>, args: Vec<Value<'gc>>) -> Result<Value<'gc>, VmError> { |
| 181 | if args.is_empty() { |
| 182 | return Err(VmError::RuntimeError( |
| 183 | "query() requires at least a SQL query string.".into(), |
| 184 | )); |
| 185 | } |
| 186 | |
| 187 | let sql = args[0].as_string()?; |
| 188 | let ctx = state.get_context(); |
| 189 | let conn = state.sqlite_connection.as_ref().unwrap(); |
| 190 | |
| 191 | let rows = execute_query( |
| 192 | conn, |
| 193 | sql.to_str().unwrap(), |
| 194 | args.into_iter().skip(1).collect(), |
| 195 | )?; |
| 196 | |
| 197 | let mut results = Vec::new(); |
| 198 | for row in rows { |
| 199 | results.push(row_to_object(ctx, &row)); |
| 200 | } |
| 201 | |
| 202 | Ok(Value::array(&ctx, results)) |
| 203 | } |
| 204 | |
| 205 | fn sqlite_query_as<'gc>( |
| 206 | state: &mut State<'gc>, |
nothing calls this directly
no test coverage detected