@@ -443,6 +443,62 @@ drop type person$0;
443443 " ) ;
444444 }
445445
446+ #[ test]
447+ fn goto_create_table_type_reference ( ) {
448+ assert_snapshot ! ( goto( "
449+ create type person_info as (name text, email text);
450+ create table user(id int, member person_info$0);
451+ " ) , @r"
452+ ββΈ
453+ 2 β create type person_info as (name text, email text);
454+ β βββββββββββ 2. destination
455+ 3 β create table user(id int, member person_info);
456+ β°β΄ β 1. source
457+ " ) ;
458+ }
459+
460+ #[ test]
461+ fn goto_create_table_type_reference_enum ( ) {
462+ assert_snapshot ! ( goto( "
463+ create type mood as enum ('sad', 'ok', 'happy');
464+ create table users(id int, mood mood$0);
465+ " ) , @r"
466+ ββΈ
467+ 2 β create type mood as enum ('sad', 'ok', 'happy');
468+ β ββββ 2. destination
469+ 3 β create table users(id int, mood mood);
470+ β°β΄ β 1. source
471+ " ) ;
472+ }
473+
474+ #[ test]
475+ fn goto_create_table_type_reference_range ( ) {
476+ assert_snapshot ! ( goto( "
477+ create type int4_range as range (subtype = int4);
478+ create table metrics(id int, span int4_range$0);
479+ " ) , @r"
480+ ββΈ
481+ 2 β create type int4_range as range (subtype = int4);
482+ β ββββββββββ 2. destination
483+ 3 β create table metrics(id int, span int4_range);
484+ β°β΄ β 1. source
485+ " ) ;
486+ }
487+
488+ #[ test]
489+ fn goto_create_table_type_reference_input_output ( ) {
490+ assert_snapshot ! ( goto( "
491+ create type myint (input = myintin, output = myintout, like = int4);
492+ create table data(id int, value myint$0);
493+ " ) , @r"
494+ ββΈ
495+ 2 β create type myint (input = myintin, output = myintout, like = int4);
496+ β βββββ 2. destination
497+ 3 β create table data(id int, value myint);
498+ β°β΄ β 1. source
499+ " ) ;
500+ }
501+
446502 #[ test]
447503 fn goto_composite_type_field ( ) {
448504 assert_snapshot ! ( goto( "
0 commit comments