@@ -59,8 +59,6 @@ pub const DevicePeripheral = struct {
5959 .{ .name = "struct_id" , .on_delete = .cascade , .on_update = .cascade },
6060 },
6161 };
62-
63- // TODO: SQL opts
6462};
6563
6664pub const Mode = struct {
@@ -1518,7 +1516,7 @@ pub fn create_nested_struct(
15181516 parent : StructID ,
15191517 opts : CreateNestedStructOptions ,
15201518) ! StructID {
1521- var savepoint = try db .sql .savepoint ("create_interrupt " );
1519+ var savepoint = try db .sql .savepoint ("create_nested_struct " );
15221520 defer savepoint .rollback ();
15231521
15241522 const struct_id = try db .create_struct (.{});
@@ -2060,7 +2058,7 @@ pub fn get_register_ref(db: *Database, ref: []const u8) !RegisterID {
20602058 return register .id ;
20612059}
20622060
2063- pub fn set_register_field_enum_id (db : * Database , register_id : RegisterID , field_name : []const u8 , enum_id : EnumID ) ! void {
2061+ pub fn set_register_field_enum_id (db : * Database , register_id : RegisterID , field_name : []const u8 , enum_id : ? EnumID ) ! void {
20642062 try db .exec (
20652063 \\UPDATE struct_fields
20662064 \\SET enum_id = ?
@@ -2076,7 +2074,7 @@ pub fn set_register_field_enum_id(db: *Database, register_id: RegisterID, field_
20762074 .name = field_name ,
20772075 });
20782076
2079- log .debug ("set_register_field_enum_id: register_id={} field_name={s} enum_id={}" , .{
2077+ log .debug ("set_register_field_enum_id: register_id={} field_name={s} enum_id={? }" , .{
20802078 register_id ,
20812079 field_name ,
20822080 enum_id ,
@@ -2142,7 +2140,7 @@ pub fn apply_patch(db: *Database, ndjson: []const u8) !void {
21422140 }
21432141 },
21442142 .set_enum_type = > | set_enum_type | {
2145- const enum_id = try db .get_enum_ref (set_enum_type . to );
2143+ const enum_id = if ( set_enum_type . to ) | to | try db .get_enum_ref (to ) else null ;
21462144 const field_name , const register_ref = try get_ref_last_component (set_enum_type .of );
21472145 const register_id = try db .get_register_ref (register_ref orelse return error .InvalidRef );
21482146 try db .set_register_field_enum_id (register_id , field_name , enum_id );
0 commit comments