def insert_query(table: str, data: dict, mode: str = 'INSERT'): assignment_clauses = assignment_clauses_from_data(data) if mode == 'REPLACE': statement = InsertStatement(table, assignment_clauses) else: statement = InsertStatement(table, assignment_clauses, if_not_exists=True) return str(statement), statement.get_context()
def test_context_update(self): ist = InsertStatement('table', None) ist.add_assignment(Column(db_field='a'), 'b') ist.add_assignment(Column(db_field='c'), 'd') ist.update_context_id(4) self.assertEqual(six.text_type(ist), 'INSERT INTO table ("a", "c") VALUES (%(4)s, %(5)s)') ctx = ist.get_context() self.assertEqual(ctx, {'4': 'b', '5': 'd'})
def test_context_update(self): ist = InsertStatement('table', None) ist.add_assignment_clause(AssignmentClause('a', 'b')) ist.add_assignment_clause(AssignmentClause('c', 'd')) ist.update_context_id(4) self.assertEqual( six.text_type(ist), 'INSERT INTO table ("a", "c") VALUES (%(4)s, %(5)s)' ) ctx = ist.get_context() self.assertEqual(ctx, {'4': 'b', '5': 'd'})
def query_parameters_from_create(collection, data, mode='INSERT'): assignment_clauses = assignment_clauses_from_data(data) if mode == 'REPLACE': statement = InsertStatement( table=collection, assignments=assignment_clauses, ) else: statement = InsertStatement( table=collection, assignments=assignment_clauses, if_not_exists=True ) return str(statement), statement.get_context()