Lines Matching defs:sql

72 fn build_sql_columns_not_empty(columns: &Vec<&str>, sql: &mut String) {
75 sql.push_str(column);
77 sql.push(',');
83 fn build_sql_columns(columns: &Vec<&str>, sql: &mut String) {
85 build_sql_columns_not_empty(columns, sql);
87 sql.push('*');
92 fn build_sql_where(conditions: &DbMap, filter: bool, sql: &mut String) {
94 sql.push_str(" where ");
96 sql.push_str("SyncStatus <> 2");
98 sql.push_str(" and ");
104 sql.push_str("(SyncType & ?) = ?");
106 sql.push_str(column_name);
107 sql.push_str("=?");
110 sql.push_str(" and ")
118 fn build_sql_values(len: usize, sql: &mut String) {
120 sql.push('?');
122 sql.push(',');
143 fn build_sql_query_options(query_options: Option<&QueryOptions>, sql: &mut String) {
147 sql.push_str(" order by ");
148 build_sql_columns_not_empty(order_by, sql);
159 sql.push_str(format!(" {}", str).as_str());
162 sql.push_str(format!(" limit {}", limit).as_str());
164 sql.push_str(format!(" offset {}", offset).as_str());
167 sql.push_str(format!(" limit -1 offset {}", offset).as_str());
172 fn build_sql_reverse_condition(reverse_condition: Option<&DbMap>, sql: &mut String) {
175 sql.push_str(" and ");
178 sql.push_str("(SyncType & ?) == 0");
180 sql.push_str(column_name);
181 sql.push_str("<>?");
184 sql.push_str(" and ")
206 let sql = format!("select * from sqlite_master where type ='table' and name = '{}'", self.table_name);
207 let stmt = Statement::prepare(sql.as_str(), self.db)?;
218 let sql = format!("DROP TABLE {}", self.table_name);
219 self.db.exec(&sql)
229 let mut sql = format!("CREATE TABLE IF NOT EXISTS {}(", self.table_name);
232 sql.push_str(column.name);
233 sql.push(' ');
234 sql.push_str(from_data_type_to_str(&column.data_type));
236 sql.push_str(" PRIMARY KEY");
239 sql.push_str(" NOT NULL");
242 sql.push(',')
245 sql.push_str(");");
248 if self.db.exec(sql.as_str()).is_ok() && self.db.set_version(version).is_ok() {
291 let mut sql = format!("insert into {} (", self.table_name);
293 sql.push_str(column_name);
295 sql.push(',');
299 sql.push_str(") values (");
300 build_sql_values(datas.len(), &mut sql);
301 sql.push(')');
302 let stmt = Statement::prepare(&sql, self.db)?;
325 let mut sql = format!("delete from {}", self.table_name);
326 build_sql_where(condition, is_filter_sync, &mut sql);
327 build_sql_reverse_condition(reverse_condition, &mut sql);
328 let stmt = Statement::prepare(&sql, self.db)?;
350 let sql: String = format!("delete from {} where {}", self.table_name, specific_cond);
351 let stmt = Statement::prepare(&sql, self.db)?;
370 let mut sql = format!("update {} set ", self.table_name);
372 sql.push_str(column_name);
373 sql.push_str("=?");
375 sql.push(',');
378 build_sql_where(condition, is_filter_sync, &mut sql);
379 let stmt = Statement::prepare(&sql, self.db)?;
406 let mut sql = String::from("select ");
408 sql.push_str("distinct ");
410 build_sql_columns(columns, &mut sql);
411 sql.push_str(" from ");
412 sql.push_str(self.table_name.as_str());
413 build_sql_where(condition, is_filter_sync, &mut sql);
414 build_sql_query_options(query_options, &mut sql);
415 let stmt = Statement::prepare(&sql, self.db)?;
450 let mut sql = format!("select count(*) as count from {}", self.table_name);
451 build_sql_where(condition, is_filter_sync, &mut sql);
452 let stmt = Statement::prepare(&sql, self.db)?;
504 let mut sql = format!("ALTER TABLE {} ADD COLUMN {} {}", self.table_name, column.name, data_type);
506 sql.push_str(" DEFAULT ");
507 sql.push_str(&from_data_value_to_str_value(data));
510 sql.push_str(" NOT NULL");
512 self.db.exec(sql.as_str())