mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Updating 01247_insert_into_watch_live_view_url to check
CSV, JSONEachRow and JSONEachRowWithProgress output formats
This commit is contained in:
parent
626468d255
commit
f35c7a8bf0
@ -14,56 +14,57 @@ log = None
|
|||||||
# uncomment the line below for debugging
|
# uncomment the line below for debugging
|
||||||
#log=sys.stdout
|
#log=sys.stdout
|
||||||
|
|
||||||
server = start_server(1)
|
server = start_server(3)
|
||||||
server.start()
|
server.start()
|
||||||
|
|
||||||
with client(name='client1>', log=log) as client1, client(name='client2>', log=log) as client2:
|
for output_format in ['CSV', 'JSONEachRow', 'JSONEachRowWithProgress']:
|
||||||
client1.expect(prompt)
|
with client(name='client1>', log=log) as client1, client(name='client2>', log=log) as client2:
|
||||||
client2.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
client2.expect(prompt)
|
||||||
|
|
||||||
client1.send('SET allow_experimental_live_view = 1')
|
client1.send('SET allow_experimental_live_view = 1')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
|
||||||
client1.send('SET output_format_enable_streaming = 1')
|
client1.send('SET output_format_enable_streaming = 1')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
|
||||||
client1.send('DROP TABLE IF EXISTS test.lv')
|
client1.send('DROP TABLE IF EXISTS test.lv')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
client1.send('DROP TABLE IF EXISTS test.mt')
|
client1.send('DROP TABLE IF EXISTS test.mt')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
client1.send('CREATE TABLE test.mt (a Int32) Engine=MergeTree order by tuple()')
|
client1.send('CREATE TABLE test.mt (a Int32) Engine=MergeTree order by tuple()')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
client1.send('CREATE LIVE VIEW test.lv AS SELECT sum(a) AS s FROM test.mt')
|
client1.send('CREATE LIVE VIEW test.lv AS SELECT sum(a) AS s FROM test.mt')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
|
||||||
client1.send("INSERT INTO FUNCTION url('%s', CSV, 's Int32, version Int32') WATCH test.lv" % HTTP_SERVER_URL_STR)
|
client1.send("INSERT INTO FUNCTION url('%s', %s, 's Int32, version Int32') WATCH test.lv" % (HTTP_SERVER_URL_STR, output_format))
|
||||||
client1.expect(r'0.*1' + end_of_block)
|
client1.expect(r'0.*1' + end_of_block)
|
||||||
time.sleep(0.25)
|
time.sleep(0.25)
|
||||||
sys.stdout.write("-- first insert --\n")
|
sys.stdout.write("-- first insert --\n")
|
||||||
sys.stdout.write(server.out.read() + "\n")
|
sys.stdout.write(server.out.read() + "\n")
|
||||||
|
|
||||||
client2.send('INSERT INTO test.mt VALUES (1),(2),(3)')
|
client2.send('INSERT INTO test.mt VALUES (1),(2),(3)')
|
||||||
client2.expect(prompt)
|
client2.expect(prompt)
|
||||||
time.sleep(0.25)
|
time.sleep(0.25)
|
||||||
sys.stdout.write("-- second insert --\n")
|
sys.stdout.write("-- second insert --\n")
|
||||||
sys.stdout.write(server.out.read() + "\n")
|
sys.stdout.write(server.out.read() + "\n")
|
||||||
|
|
||||||
client2.send('INSERT INTO test.mt VALUES (4),(5),(6)')
|
client2.send('INSERT INTO test.mt VALUES (4),(5),(6)')
|
||||||
client2.expect(prompt)
|
client2.expect(prompt)
|
||||||
time.sleep(0.25)
|
time.sleep(0.25)
|
||||||
sys.stdout.write("-- third insert --\n")
|
sys.stdout.write("-- third insert --\n")
|
||||||
sys.stdout.write(server.out.read() + "\n")
|
sys.stdout.write(server.out.read() + "\n")
|
||||||
|
|
||||||
# send Ctrl-C
|
# send Ctrl-C
|
||||||
client1.send('\x03', eol='')
|
client1.send('\x03', eol='')
|
||||||
match = client1.expect('(%s)|([#\$] )' % prompt)
|
match = client1.expect('(%s)|([#\$] )' % prompt)
|
||||||
if match.groups()[1]:
|
if match.groups()[1]:
|
||||||
client1.send(client1.command)
|
client1.send(client1.command)
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
|
||||||
client1.send('DROP TABLE test.lv')
|
client1.send('DROP TABLE test.lv')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
client1.send('DROP TABLE test.mt')
|
client1.send('DROP TABLE test.mt')
|
||||||
client1.expect(prompt)
|
client1.expect(prompt)
|
||||||
|
|
||||||
server.join()
|
server.join()
|
||||||
|
@ -7,3 +7,21 @@
|
|||||||
-- third insert --
|
-- third insert --
|
||||||
21,3
|
21,3
|
||||||
|
|
||||||
|
-- first insert --
|
||||||
|
{"s":0,"version":1}
|
||||||
|
|
||||||
|
-- second insert --
|
||||||
|
{"s":6,"version":2}
|
||||||
|
|
||||||
|
-- third insert --
|
||||||
|
{"s":21,"version":3}
|
||||||
|
|
||||||
|
-- first insert --
|
||||||
|
{"row":{"s":0,"version":1}}
|
||||||
|
|
||||||
|
-- second insert --
|
||||||
|
{"row":{"s":6,"version":2}}
|
||||||
|
|
||||||
|
-- third insert --
|
||||||
|
{"row":{"s":21,"version":3}}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ istream = StringIO()
|
|||||||
class EchoCSVHTTPServer(BaseHTTPRequestHandler):
|
class EchoCSVHTTPServer(BaseHTTPRequestHandler):
|
||||||
def _set_headers(self):
|
def _set_headers(self):
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
self.send_header('Content-type', 'text/csv')
|
self.send_header('Content-type', 'text/plain')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
|
|
||||||
def do_GET(self):
|
def do_GET(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user