TD-1057
This commit is contained in:
parent
d593a90581
commit
a18e287ca5
|
@ -360,7 +360,7 @@ find_shared_library_fullname ()
|
||||||
|
|
||||||
ungetc (c, fp);
|
ungetc (c, fp);
|
||||||
shared_library_fullname = NULL; size = 0;
|
shared_library_fullname = NULL; size = 0;
|
||||||
len = getline (&shared_library_fullname, &size, fp);
|
len = taosGetline(&shared_library_fullname, &size, fp);
|
||||||
if (len >= 0)
|
if (len >= 0)
|
||||||
{
|
{
|
||||||
/* Success: filled shared_library_fullname. */
|
/* Success: filled shared_library_fullname. */
|
||||||
|
|
|
@ -1931,6 +1931,7 @@ int16_t tscGetJoinTagColIdByUid(STagCond* pTagCond, uint64_t uid) {
|
||||||
return pTagCond->joinInfo.right.tagColId;
|
return pTagCond->joinInfo.right.tagColId;
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ void printHelp() {
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
|
void shellParseArgument(int argc, char *argv[], SShellArguments *arguments) {
|
||||||
wordexp_t full_path;
|
wordexp_t full_path;
|
||||||
for (int i = 1; i < argc; i++) {
|
for (int i = 1; i < argc; i++) {
|
||||||
// for host
|
// for host
|
||||||
|
|
|
@ -577,7 +577,7 @@ static int verticalPrintResult(TAOS_RES* tres) {
|
||||||
|
|
||||||
int maxColNameLen = 0;
|
int maxColNameLen = 0;
|
||||||
for (int col = 0; col < num_fields; col++) {
|
for (int col = 0; col < num_fields; col++) {
|
||||||
int len = strlen(fields[col].name);
|
int len = (int)strlen(fields[col].name);
|
||||||
if (len > maxColNameLen) {
|
if (len > maxColNameLen) {
|
||||||
maxColNameLen = len;
|
maxColNameLen = len;
|
||||||
}
|
}
|
||||||
|
@ -604,9 +604,8 @@ static int verticalPrintResult(TAOS_RES* tres) {
|
||||||
return numOfRows;
|
return numOfRows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int calcColWidth(TAOS_FIELD* field, int precision) {
|
static int calcColWidth(TAOS_FIELD* field, int precision) {
|
||||||
int width = strlen(field->name);
|
int width = (int)strlen(field->name);
|
||||||
|
|
||||||
switch (field->type) {
|
switch (field->type) {
|
||||||
case TSDB_DATA_TYPE_BOOL:
|
case TSDB_DATA_TYPE_BOOL:
|
||||||
|
@ -741,7 +740,7 @@ void read_history() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((read_size = getline(&line, &line_size, f)) != -1) {
|
while ((read_size = taosGetline(&line, &line_size, f)) != -1) {
|
||||||
line[read_size - 1] = '\0';
|
line[read_size - 1] = '\0';
|
||||||
history.hist[history.hend] = strdup(line);
|
history.hist[history.hend] = strdup(line);
|
||||||
|
|
||||||
|
@ -822,7 +821,7 @@ void source_file(TAOS *con, char *fptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((read_len = getline(&line, &line_len, f)) != -1) {
|
while ((read_len = taosGetline(&line, &line_len, f)) != -1) {
|
||||||
if (read_len >= tsMaxSQLStringLen) continue;
|
if (read_len >= tsMaxSQLStringLen) continue;
|
||||||
line[--read_len] = '\0';
|
line[--read_len] = '\0';
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,16 @@
|
||||||
*
|
*
|
||||||
* ****************************************************************/
|
* ****************************************************************/
|
||||||
|
|
||||||
#include "shell.h"
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include "os.h"
|
||||||
|
#include "shell.h"
|
||||||
|
#include "taos.h"
|
||||||
#include "shellCommand.h"
|
#include "shellCommand.h"
|
||||||
|
|
||||||
|
extern char configDir[];
|
||||||
|
|
||||||
void printHelp() {
|
void printHelp() {
|
||||||
char indent[10] = " ";
|
char indent[10] = " ";
|
||||||
printf("taos shell is used to test the TDEngine database\n");
|
printf("taos shell is used to test the TDEngine database\n");
|
||||||
|
@ -43,7 +47,7 @@ void printHelp() {
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
|
void shellParseArgument(int argc, char *argv[], SShellArguments *arguments) {
|
||||||
for (int i = 1; i < argc; i++) {
|
for (int i = 1; i < argc; i++) {
|
||||||
// for host
|
// for host
|
||||||
if (strcmp(argv[i], "-h") == 0) {
|
if (strcmp(argv[i], "-h") == 0) {
|
||||||
|
@ -81,7 +85,7 @@ void shellParseArgument(int argc, char *argv[], struct arguments *arguments) {
|
||||||
fprintf(stderr, "config file path: %s overflow max len %d\n", argv[i], TSDB_FILENAME_LEN - 1);
|
fprintf(stderr, "config file path: %s overflow max len %d\n", argv[i], TSDB_FILENAME_LEN - 1);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
strcpy(configDir, argv[i]);
|
strcpy(configDir, argv[++i]);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Option -c requires an argument\n");
|
fprintf(stderr, "Option -c requires an argument\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
|
|
@ -13,5 +13,7 @@ IF (TD_LINUX)
|
||||||
# ELSE ()
|
# ELSE ()
|
||||||
# TARGET_LINK_LIBRARIES(taosdemo taos_static)
|
# TARGET_LINK_LIBRARIES(taosdemo taos_static)
|
||||||
# ENDIF ()
|
# ENDIF ()
|
||||||
|
ELSEIF (TD_WINDOWS)
|
||||||
|
AUX_SOURCE_DIRECTORY(. SRC)
|
||||||
|
ADD_EXECUTABLE(taosdemo ${SRC})
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
|
||||||
*
|
*
|
||||||
* This program is free software: you can use, redistribute, and/or modify
|
* This program is free software: you can use, redistribute, and/or modify
|
||||||
|
|
|
@ -145,6 +145,7 @@ int flock(int fd, int option);
|
||||||
int fsync(int filedes);
|
int fsync(int filedes);
|
||||||
char * strndup(const char *s, size_t n);
|
char * strndup(const char *s, size_t n);
|
||||||
char * dirname(char *pszPathname);
|
char * dirname(char *pszPathname);
|
||||||
|
int gettimeofday(struct timeval *ptv, void *pTimeZone);
|
||||||
|
|
||||||
// for access function in io.h
|
// for access function in io.h
|
||||||
#define F_OK 00 //Existence only
|
#define F_OK 00 //Existence only
|
||||||
|
|
|
@ -16,6 +16,18 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
|
|
||||||
|
int gettimeofday(struct timeval *tv, struct timezone *tz) {
|
||||||
|
time_t t;
|
||||||
|
t = time(NULL);
|
||||||
|
SYSTEMTIME st;
|
||||||
|
GetLocalTime(&st);
|
||||||
|
|
||||||
|
tv->tv_sec = (long)t;
|
||||||
|
tv->tv_usec = st.wMilliseconds * 1000;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
struct tm *localtime_r(const time_t *timep, struct tm *result) {
|
struct tm *localtime_r(const time_t *timep, struct tm *result) {
|
||||||
localtime_s(result, timep);
|
localtime_s(result, timep);
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -56,6 +56,7 @@ static FORCE_INLINE int tsCompressTinyint(const char *const input, int inputSize
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +69,7 @@ static FORCE_INLINE int tsDecompressTinyint(const char *const input, int compres
|
||||||
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_TINYINT);
|
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_TINYINT);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,6 +82,7 @@ static FORCE_INLINE int tsCompressSmallint(const char *const input, int inputSiz
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,6 +95,7 @@ static FORCE_INLINE int tsDecompressSmallint(const char *const input, int compre
|
||||||
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_SMALLINT);
|
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_SMALLINT);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +108,7 @@ static FORCE_INLINE int tsCompressInt(const char *const input, int inputSize, co
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,6 +121,7 @@ static FORCE_INLINE int tsDecompressInt(const char *const input, int compressedS
|
||||||
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_INT);
|
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_INT);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,6 +134,7 @@ static FORCE_INLINE int tsCompressBigint(const char *const input, int inputSize,
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,6 +147,7 @@ static FORCE_INLINE int tsDecompressBigint(const char *const input, int compress
|
||||||
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_BIGINT);
|
return tsDecompressINTImp(buffer, nelements, output, TSDB_DATA_TYPE_BIGINT);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,6 +160,7 @@ static FORCE_INLINE int tsCompressBool(const char *const input, int inputSize, c
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,6 +173,7 @@ static FORCE_INLINE int tsDecompressBool(const char *const input, int compressed
|
||||||
return tsDecompressBoolImp(buffer, nelements, output);
|
return tsDecompressBoolImp(buffer, nelements, output);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +196,7 @@ static FORCE_INLINE int tsCompressFloat(const char *const input, int inputSize,
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,6 +209,7 @@ static FORCE_INLINE int tsDecompressFloat(const char *const input, int compresse
|
||||||
return tsDecompressFloatImp(buffer, nelements, output);
|
return tsDecompressFloatImp(buffer, nelements, output);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,6 +222,7 @@ static FORCE_INLINE int tsCompressDouble(const char *const input, int inputSize,
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +235,7 @@ static FORCE_INLINE int tsDecompressDouble(const char *const input, int compress
|
||||||
return tsDecompressDoubleImp(buffer, nelements, output);
|
return tsDecompressDoubleImp(buffer, nelements, output);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -234,6 +248,7 @@ static FORCE_INLINE int tsCompressTimestamp(const char *const input, int inputSi
|
||||||
return tsCompressStringImp(buffer, len, output, outputSize);
|
return tsCompressStringImp(buffer, len, output, outputSize);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,6 +261,7 @@ static FORCE_INLINE int tsDecompressTimestamp(const char *const input, int compr
|
||||||
return tsDecompressTimestampImp(buffer, nelements, output);
|
return tsDecompressTimestampImp(buffer, nelements, output);
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -591,6 +591,7 @@ int tsDecompressTimestampImp(const char *const input, const int nelements, char
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
assert(0);
|
assert(0);
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* --------------------------------------------Double Compression
|
/* --------------------------------------------Double Compression
|
||||||
|
|
Loading…
Reference in New Issue