@@ -4,19 +4,23 @@ use crate::model::sql::Sql;
4
4
use crate :: model:: { Model , RustType } ;
5
5
6
6
pub ( crate ) fn select_statement_single ( name : & str ) -> String {
7
+ let name = Model :: < Sql > :: sql_definition_name ( name) ;
7
8
format ! ( "SELECT * FROM {} WHERE id = $1" , name)
8
9
}
9
10
10
11
#[ cfg( feature = "async-psql" ) ]
11
12
pub ( crate ) fn select_statement_many ( name : & str ) -> String {
13
+ let name = Model :: < Sql > :: sql_definition_name ( name) ;
12
14
format ! ( "SELECT * FROM {} WHERE id = ANY($1)" , name)
13
15
}
14
16
15
17
pub ( crate ) fn tuple_struct_insert_statement ( name : & str ) -> String {
18
+ let name = Model :: < Sql > :: sql_definition_name ( name) ;
16
19
format ! ( "INSERT INTO {} DEFAULT VALUES RETURNING id" , name)
17
20
}
18
21
19
22
pub ( crate ) fn struct_insert_statement ( name : & str , fields : & [ Field ] ) -> String {
23
+ let name = Model :: < Sql > :: sql_definition_name ( name) ;
20
24
format ! (
21
25
"INSERT INTO {}({}) VALUES({}) RETURNING id" ,
22
26
name,
@@ -44,6 +48,7 @@ pub(crate) fn struct_insert_statement(name: &str, fields: &[Field]) -> String {
44
48
}
45
49
46
50
pub ( crate ) fn data_enum_insert_statement ( name : & str , enumeration : & DataEnum ) -> String {
51
+ let name = Model :: < Sql > :: sql_definition_name ( name) ;
47
52
format ! (
48
53
"INSERT INTO {}({}) VALUES({}) RETURNING id" ,
49
54
name,
@@ -64,7 +69,10 @@ pub(crate) fn data_enum_insert_statement(name: &str, enumeration: &DataEnum) ->
64
69
pub ( crate ) fn struct_list_entry_insert_statement ( struct_name : & str , field_name : & str ) -> String {
65
70
format ! (
66
71
"INSERT INTO {}(list, value) VALUES ($1, $2)" ,
67
- Model :: <Sql >:: struct_list_entry_table_name( struct_name, field_name) ,
72
+ Model :: <Sql >:: sql_definition_name( & Model :: <Sql >:: struct_list_entry_table_name(
73
+ struct_name,
74
+ field_name
75
+ ) ) ,
68
76
)
69
77
}
70
78
@@ -73,7 +81,9 @@ pub(crate) fn struct_list_entry_select_referenced_value_statement(
73
81
field_name : & str ,
74
82
other_type : & str ,
75
83
) -> String {
76
- let listentry_table = Model :: < Sql > :: struct_list_entry_table_name ( struct_name, field_name) ;
84
+ let listentry_table = Model :: < Sql > :: sql_definition_name (
85
+ & Model :: < Sql > :: struct_list_entry_table_name ( struct_name, field_name) ,
86
+ ) ;
77
87
format ! (
78
88
"SELECT * FROM {} WHERE id IN (SELECT value FROM {} WHERE list = $1)" ,
79
89
RustCodeGenerator :: rust_variant_name( other_type) ,
@@ -85,25 +95,26 @@ pub(crate) fn struct_list_entry_select_value_statement(
85
95
struct_name : & str ,
86
96
field_name : & str ,
87
97
) -> String {
88
- let listentry_table = Model :: < Sql > :: struct_list_entry_table_name ( struct_name, field_name) ;
98
+ let listentry_table = Model :: < Sql > :: sql_definition_name (
99
+ & Model :: < Sql > :: struct_list_entry_table_name ( struct_name, field_name) ,
100
+ ) ;
89
101
format ! ( "SELECT value FROM {} WHERE list = $1" , listentry_table, )
90
102
}
91
103
92
104
pub ( crate ) fn list_entry_insert_statement ( name : & str ) -> String {
93
- format ! ( "INSERT INTO {}ListEntry(list, value) VALUES ($1, $2)" , name)
105
+ let name = Model :: < Sql > :: sql_definition_name ( & format ! ( "{name}ListEntry" ) ) ;
106
+ format ! ( "INSERT INTO {}(list, value) VALUES ($1, $2)" , name)
94
107
}
95
108
96
109
pub ( crate ) fn list_entry_query_statement ( name : & str , inner : & RustType ) -> String {
110
+ let name_le = Model :: < Sql > :: sql_definition_name ( & format ! ( "{name}ListEntry" ) ) ;
97
111
if Model :: < Sql > :: is_primitive ( inner) {
98
- format ! (
99
- "SELECT value FROM {}ListEntry WHERE {}ListEntry.list = $1" ,
100
- name, name
101
- )
112
+ format ! ( "SELECT value FROM {name_le} WHERE {name_le}.list = $1" , )
102
113
} else {
103
114
let inner = inner. clone ( ) . as_inner_type ( ) . to_string ( ) ;
115
+ let inner = Model :: < Sql > :: sql_definition_name ( & inner) ;
104
116
format ! (
105
- "SELECT * FROM {} INNER JOIN {}ListEntry ON {}.id = {}ListEntry.value WHERE {}ListEntry.list = $1" ,
106
- inner, name, inner, name, name
117
+ "SELECT * FROM {inner} INNER JOIN {name_le} ON {inner}.id = {name_le}.value WHERE {name_le}.list = $1"
107
118
)
108
119
}
109
120
}
0 commit comments