mirror of
https://github.com/Infinidat/infi.clickhouse_orm.git
synced 2025-07-24 06:49:56 +03:00
test added. engine sql query fix to support special characters
This commit is contained in:
parent
86a3fec143
commit
77b33c0ed4
|
@ -83,7 +83,7 @@ class Buffer(Engine):
|
|||
def create_table_sql(self, db_name):
|
||||
# Overriden create_table_sql example:
|
||||
#sql = 'ENGINE = Buffer(merge, hits, 16, 10, 100, 10000, 1000000, 10000000, 100000000)'
|
||||
sql = 'ENGINE = Buffer(%s, %s, %d, %d, %d, %d, %d, %d, %d)' % (
|
||||
sql = 'ENGINE = Buffer(`%s`, `%s`, %d, %d, %d, %d, %d, %d, %d)' % (
|
||||
db_name, self.main_model.table_name(), self.num_layers,
|
||||
self.min_time, self.max_time, self.min_rows,
|
||||
self.max_rows, self.min_bytes, self.max_bytes
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import unittest
|
||||
|
||||
from infi.clickhouse_orm.database import Database, DatabaseException
|
||||
from infi.clickhouse_orm.models import Model
|
||||
from infi.clickhouse_orm.models import Model, BufferModel
|
||||
from infi.clickhouse_orm.fields import *
|
||||
from infi.clickhouse_orm.engines import *
|
||||
|
||||
|
@ -16,8 +16,10 @@ class DatabaseTestCase(unittest.TestCase):
|
|||
def setUp(self):
|
||||
self.database = Database('test-db')
|
||||
self.database.create_table(Person)
|
||||
self.database.create_table(PersonBuffer)
|
||||
|
||||
def tearDown(self):
|
||||
self.database.drop_table(PersonBuffer)
|
||||
self.database.drop_table(Person)
|
||||
self.database.drop_database()
|
||||
|
||||
|
@ -25,6 +27,10 @@ class DatabaseTestCase(unittest.TestCase):
|
|||
self.database.insert(data)
|
||||
self.assertEquals(count, self.database.count(Person))
|
||||
|
||||
def _insert_and_check_buffer(self, data, count):
|
||||
self.database.insert(data)
|
||||
self.assertEquals(count, self.database.count(PersonBuffer))
|
||||
|
||||
def test_insert__generator(self):
|
||||
self._insert_and_check(self._sample_data(), len(data))
|
||||
|
||||
|
@ -129,10 +135,17 @@ class DatabaseTestCase(unittest.TestCase):
|
|||
self.database.drop_database()
|
||||
self.database = orig_database
|
||||
|
||||
def test_insert_buffer(self):
|
||||
self._insert_and_check_buffer(self._sample_buffer_data(), len(data))
|
||||
|
||||
def _sample_data(self):
|
||||
for entry in data:
|
||||
yield Person(**entry)
|
||||
|
||||
def _sample_buffer_data(self):
|
||||
for entry in data:
|
||||
yield PersonBuffer(**entry)
|
||||
|
||||
|
||||
class Person(Model):
|
||||
|
||||
|
@ -144,6 +157,11 @@ class Person(Model):
|
|||
engine = MergeTree('birthday', ('first_name', 'last_name', 'birthday'))
|
||||
|
||||
|
||||
class PersonBuffer(BufferModel, Person):
|
||||
|
||||
engine = Buffer(Person)
|
||||
|
||||
|
||||
data = [
|
||||
{"first_name": "Abdul", "last_name": "Hester", "birthday": "1970-12-02", "height": "1.63"},
|
||||
{"first_name": "Adam", "last_name": "Goodman", "birthday": "1986-01-07", "height": "1.74"},
|
||||
|
|
Loading…
Reference in New Issue
Block a user