@@ -26,11 +26,11 @@ pub struct SyntaxDiagnostic {
26
26
27
27
pub struct PgQueryStore {
28
28
ast_db : DashMap < StatementRef , Arc < pg_query_ext:: NodeEnum > > ,
29
- diagnostics : DashMap < StatementRef , pg_query_ext :: Error > ,
29
+ diagnostics : DashMap < StatementRef , SyntaxDiagnostic > ,
30
30
}
31
31
32
- impl From < & pg_query_ext:: Error > for SyntaxDiagnostic {
33
- fn from ( err : & pg_query_ext:: Error ) -> Self {
32
+ impl From < pg_query_ext:: Error > for SyntaxDiagnostic {
33
+ fn from ( err : pg_query_ext:: Error ) -> Self {
34
34
SyntaxDiagnostic {
35
35
span : None ,
36
36
message : MessageAndDescription :: from ( err. to_string ( ) ) ,
@@ -47,9 +47,9 @@ impl PgQueryStore {
47
47
}
48
48
49
49
pub fn pull_diagnostics ( & self , ref_ : & StatementRef ) -> Vec < SDiagnostic > {
50
- self . diagnostics . get ( ref_ ) . map_or_else ( Vec :: new , |err| {
51
- vec ! [ SDiagnostic :: new ( SyntaxDiagnostic :: from ( err . value ( ) ) ) ]
52
- } )
50
+ self . diagnostics
51
+ . get ( ref_ )
52
+ . map_or_else ( Vec :: new , |err| vec ! [ SDiagnostic :: new ( err . value ( ) . clone ( ) ) ] )
53
53
}
54
54
}
55
55
@@ -63,8 +63,10 @@ impl Store<pg_query_ext::NodeEnum> for PgQueryStore {
63
63
if let Ok ( ast) = r {
64
64
self . ast_db . insert ( statement. ref_ . clone ( ) , Arc :: new ( ast) ) ;
65
65
} else {
66
- self . diagnostics
67
- . insert ( statement. ref_ . clone ( ) , r. unwrap_err ( ) ) ;
66
+ self . diagnostics . insert (
67
+ statement. ref_ . clone ( ) ,
68
+ SyntaxDiagnostic :: from ( r. unwrap_err ( ) ) ,
69
+ ) ;
68
70
}
69
71
}
70
72
0 commit comments