79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| const { options, connect } = require("@tdengine/rest");
 | |
| options.path = '/rest/sql/'
 | |
| options.host = 'localhost';
 | |
| options.port = 6041;
 | |
| options.user = "root";
 | |
| options.passwd = "taosdata";
 | |
| 
 | |
| //optional 
 | |
| // options.url = "http://127.0.0.1:6041";
 | |
| 
 | |
| const db = 'rest_ts_db';
 | |
| const table = 'rest'
 | |
| const createDB = `create database if not exists ${db} keep 3650`;
 | |
| const dropDB = `drop database if exists ${db}`;
 | |
| const createTB = `create table if not exists ${db}.${table}(ts timestamp,i8 tinyint,i16 smallint,i32 int,i64 bigint,bnr binary(40),nchr nchar(40))`;
 | |
| const addColumn = `alter table ${db}.${table} add column new_column nchar(40) `;
 | |
| const dropColumn = `alter table ${db}.${table} drop column new_column`;
 | |
| const insertSql = `insert into ${db}.${table} values('2022-03-30 18:30:51.567',1,2,3,4,'binary1','nchar1')` +
 | |
|     `('2022-03-30 18:30:51.568',5,6,7,8,'binary2','nchar2')` +
 | |
|     `('2022-03-30 18:30:51.569',9,0,1,2,'binary3','nchar3')`;
 | |
| const querySql = `select * from ${db}.${table}`;
 | |
| const errorSql = 'show database';
 | |
| 
 | |
| let conn = connect(options);
 | |
| let cursor = conn.cursor();
 | |
| 
 | |
| async function execute(sql, pure = true) {
 | |
|     let result = await cursor.query(sql, pure);
 | |
|     // print query result as taos shell
 | |
|     // Get Result object, return Result object.
 | |
|     console.log("result.getResult()",result.getResult());
 | |
|     // Get Meta data, return Meta[]|undefined(when execute failed this is undefined).
 | |
|     console.log("result.getMeta()",result.getMeta());
 | |
|     // Get data,return Array<Array<any>>|undefined(when execute failed this is undefined).
 | |
|     console.log("result.getData()",result.getData());
 | |
|     // Get affect rows,return number|undefined(when execute failed this is undefined).
 | |
|     console.log("result.getAffectRows()",result.getAffectRows());
 | |
|     // Get command,return SQL send to server(need to `query(sql,false)`,set 'pure=false',default true).
 | |
|     console.log("result.getCommand()",result.getCommand());
 | |
|     // Get error code ,return number|undefined(when execute failed this is undefined).
 | |
|     console.log("result.getErrCode()",result.getErrCode());
 | |
|     // Get error string,return string|undefined(when execute failed this is undefined).
 | |
|     console.log("result.getErrStr()",result.getErrStr());
 | |
| }
 | |
| 
 | |
| (async () => {
 | |
|     // start execute time
 | |
|     let start = new Date().getTime(); 
 | |
|     await execute(createDB);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(createTB);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(addColumn);
 | |
|     console.log("----------------------------------")
 | |
| 
 | |
|     await execute(dropColumn);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(insertSql);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(querySql);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(errorSql);
 | |
|     console.log("-----------------------------------")
 | |
| 
 | |
|     await execute(dropDB);
 | |
|     // finish time
 | |
|     let end = new Date().getTime(); 
 | |
|     console.log("total spend time:%d ms",end - start);
 | |
| })()
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |