blob: 5f721ebd8ab2d15aee442becd779a3a14cce22d8 [file] [log] [blame]
#pragma once
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include "Session.h"
//#include "asio.hpp"
//using asio::ip::tcp;
using namespace std;
typedef struct UserInfor
{
string user_name;
string password;
string org;
string bucket;
int retentionPeriodSeconds;
int retentionPeriodHrs;
string token;
UserInfor()
{
retentionPeriodSeconds = 0;
retentionPeriodHrs = 0;
}
}UserInfor;
class IotdbClient
{
public:
bool InitUser_Org_Bucket(const string& url,const UserInfor& user_infor);
bool AddUser_Org_Bucket(const string& url, const UserInfor& user_infor);
bool WriteData(const string& url, const string org, const string bucket,const string& data);
bool Exec(const string& url, const string& query);
bool Connect(const string& address,const string& port);
bool WriteDataTcp(const string& data);
bool SessionOpen(const string& address, const int& port,const string& user_name,const string& user_pwd);
bool SessionClose();
bool SetStorageGroup(const string& group_name);
bool createMultiTimeseries(
std::vector <std::string> paths,
std::vector <TSDataType::TSDataType> dataTypes,
std::vector <TSEncoding::TSEncoding> encodings,
std::vector <CompressionType::CompressionType> compressors);
bool createAlignedTimeseries(const std::string& deviceId,
const std::vector<std::string>& measurements,
const std::vector<TSDataType::TSDataType>& dataTypes,
const std::vector<TSEncoding::TSEncoding>& encodings,
const std::vector<CompressionType::CompressionType>& compressors);
bool insertRecords(
std::vector <std::string>& deviceIds,
std::vector <int64_t>& times,
std::vector <std::vector<std::string>>& measurementsList,
std::vector <std::vector<std::string>>& valuesList
);
bool insertAlignedRecords(
std::vector <std::string>& deviceIds,
std::vector <int64_t>& times,
std::vector <std::vector<std::string>>& measurementsList,
std::vector <std::vector<std::string>>& valuesList
);
bool insertAlignedRecords(const std::vector<std::string>& deviceIds,
const std::vector<int64_t>& times,
const std::vector<std::vector<std::string>>& measurementsList,
const std::vector<std::vector<TSDataType::TSDataType>>& typesList,
const std::vector<std::vector<char*>>& valuesList);
bool Query(std::string& sql);
private:
//shared_ptr<asio::io_context> m_io_context;
//shared_ptr<tcp::socket> m_socket;
shared_ptr <Session> m_session;
};