Beispiel #1
0
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'})
Beispiel #4
0
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()