Convert database row to AIScript object
(ctx: Context<'gc>, row: &sqlx::postgres::PgRow)
| 180 | |
| 181 | // Convert database row to AIScript object |
| 182 | fn row_to_object<'gc>(ctx: Context<'gc>, row: &sqlx::postgres::PgRow) -> Value<'gc> { |
| 183 | let mut obj = Object::default(); |
| 184 | |
| 185 | for (i, column) in row.columns().iter().enumerate() { |
| 186 | let column_name = ctx.intern(column.name().as_bytes()); |
| 187 | let value = column_to_value(ctx, row, i, column.type_info()).unwrap_or(Value::Nil); |
| 188 | obj.fields.insert(column_name, value); |
| 189 | } |
| 190 | |
| 191 | Value::Object(Gc::new(&ctx, RefLock::new(obj))) |
| 192 | } |
| 193 | |
| 194 | fn execute_query<'a, E>( |
| 195 | executor: E, |