75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
import taos
 | 
						|
from taos import utils
 | 
						|
from taos import TaosConnection
 | 
						|
from taos.cinterface import *
 | 
						|
from taos.error import OperationalError, SchemalessError
 | 
						|
 | 
						|
conn = taos.connect()
 | 
						|
dbname = "taos_schemaless_insert"
 | 
						|
try:
 | 
						|
    conn.execute("drop database if exists %s" % dbname)
 | 
						|
 | 
						|
    if taos.IS_V3:
 | 
						|
        conn.execute("create database if not exists %s schemaless 1 precision 'ns'" % dbname)
 | 
						|
    else:
 | 
						|
        conn.execute("create database if not exists %s update 2 precision 'ns'" % dbname)
 | 
						|
 | 
						|
    conn.select_db(dbname)
 | 
						|
 | 
						|
    lines = '''st,t1=3i64,t2=4f64,t3="t3" c1=3i64,c3=L"passit",c2=false,c4=4f64 1626006833639000000
 | 
						|
    st,t1=4i64,t3="t4",t2=5f64,t4=5f64 c1=3i64,c3=L"passitagin, abc",c2=true,c4=5f64,c5=5f64,c6=7u64 1626006933640000000
 | 
						|
    stf,t1=4i64,t3="t4",t2=5f64,t4=5f64 c1=3i64,c3=L"passitagin_stf",c2=false,c5=5f64,c6=7u64 1626006933641000000'''
 | 
						|
 | 
						|
    res = conn.schemaless_insert_raw(lines, 1, 0)
 | 
						|
    print("affected rows: ", res)
 | 
						|
    assert (res == 3)
 | 
						|
 | 
						|
    lines = '''stf,t1=5i64,t3="t4",t2=5f64,t4=5f64 c1=3i64,c3=L"passitagin_stf",c2=false,c5=5f64,c6=7u64 1626006933641000000'''
 | 
						|
    res = conn.schemaless_insert_raw(lines, 1, 0)
 | 
						|
    print("affected rows: ", res)
 | 
						|
    assert (res == 1)
 | 
						|
 | 
						|
    result = conn.query("select * from st")
 | 
						|
    dict2 = result.fetch_all_into_dict()
 | 
						|
    print(dict2)
 | 
						|
    print(result.row_count)
 | 
						|
 | 
						|
    all = result.rows_iter()
 | 
						|
    for row in all:
 | 
						|
        print(row)
 | 
						|
    result.close()
 | 
						|
    assert (result.row_count == 2)
 | 
						|
 | 
						|
    # error test
 | 
						|
    lines = ''',t1=3i64,t2=4f64,t3="t3" c1=3i64,c3=L"passit",c2=false,c4=4f64 1626006833639000000'''
 | 
						|
    try:
 | 
						|
        res = conn.schemaless_insert_raw(lines, 1, 0)
 | 
						|
        print(res)
 | 
						|
        # assert(False)
 | 
						|
    except SchemalessError as err:
 | 
						|
        print('**** error: ', err)
 | 
						|
        # assert (err.msg == 'Invalid data format')
 | 
						|
 | 
						|
    result = conn.query("select * from st")
 | 
						|
    print(result.row_count)
 | 
						|
    all = result.rows_iter()
 | 
						|
    for row in all:
 | 
						|
        print(row)
 | 
						|
    result.close()
 | 
						|
 | 
						|
    conn.execute("drop database if exists %s" % dbname)
 | 
						|
    conn.close()
 | 
						|
except InterfaceError as err:
 | 
						|
    conn.execute("drop database if exists %s" % dbname)
 | 
						|
    conn.close()
 | 
						|
    print(err)
 | 
						|
except SchemalessError as err:
 | 
						|
    conn.execute("drop database if exists %s" % dbname)
 | 
						|
    conn.close()
 | 
						|
    print(err)
 | 
						|
except Exception as err:
 | 
						|
    conn.execute("drop database if exists %s" % dbname)
 | 
						|
    conn.close()
 | 
						|
    print(err)
 | 
						|
    raise err
 |