Better handling of blobs, query print length limited by compiler flag
This commit is contained in:
@@ -13,12 +13,19 @@
|
|||||||
#ifndef SQL_DEBUG_COLOUR
|
#ifndef SQL_DEBUG_COLOUR
|
||||||
# define SQL_DEBUG_COLOUR 36
|
# define SQL_DEBUG_COLOUR 36
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef SQL_DEBUG_MAX_LEN
|
||||||
|
# define SQL_DEBUG_MAX_LEN 512
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
uint64_t simpleQuery(struct stored_conn_t *sconn, const char *qry, size_t qry_len)
|
uint64_t simpleQuery(struct stored_conn_t *sconn, const char *qry, size_t qry_len)
|
||||||
{
|
{
|
||||||
#if defined DEBUG || defined SQL_DEBUG
|
#if defined DEBUG || defined SQL_DEBUG
|
||||||
printf("\x1b[%dm" "QRY: %s" "\x1b[0m" "\n", SQL_DEBUG_COLOUR, qry);
|
printf("\x1b[%dm" "QRY: %.*s%s" "\x1b[0m" "\n",
|
||||||
|
SQL_DEBUG_COLOUR,
|
||||||
|
SQL_DEBUG_MAX_LEN, qry,
|
||||||
|
(qry_len > SQL_DEBUG_MAX_LEN ? "..." : "")
|
||||||
|
);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char *old_ptr;
|
char *old_ptr;
|
||||||
|
|||||||
@@ -56,7 +56,9 @@ void db_value_sbva(str_builder *sb, e_column_type type, uint32_t n_args, va_list
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (type == TYPE_RAW) {
|
if (type == TYPE_RAW) {
|
||||||
strbld_str(sb, va_arg(args, char *), va_arg(args, size_t));
|
tmp_str = va_arg(args, char *);
|
||||||
|
tmp_len = va_arg(args, size_t);
|
||||||
|
strbld_str(sb, tmp_str, tmp_len);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +115,6 @@ void db_value_sbva(str_builder *sb, e_column_type type, uint32_t n_args, va_list
|
|||||||
strbld_str(sb, "NULL", 4);
|
strbld_str(sb, "NULL", 4);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp_len = va_arg(args, size_t);
|
tmp_len = va_arg(args, size_t);
|
||||||
|
|
||||||
esc_str = (char *)malloc(tmp_len * 2 + 1 + 2);
|
esc_str = (char *)malloc(tmp_len * 2 + 1 + 2);
|
||||||
@@ -121,11 +122,12 @@ void db_value_sbva(str_builder *sb, e_column_type type, uint32_t n_args, va_list
|
|||||||
fprintf(stderr, "[%d]malloc: (%d) %s\n", __LINE__, errno, strerror(errno));
|
fprintf(stderr, "[%d]malloc: (%d) %s\n", __LINE__, errno, strerror(errno));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
esc_str[0] = '0';
|
esc_str[0] = '0';
|
||||||
esc_str[1] = 'x';
|
esc_str[1] = 'x';
|
||||||
esc_len = mysql_hex_string(esc_str + 2, tmp_str, tmp_len);
|
esc_len = mysql_hex_string(esc_str + 2, tmp_str, tmp_len);
|
||||||
|
|
||||||
strbld_str(sb, esc_str, esc_len);
|
strbld_str(sb, esc_str, esc_len);
|
||||||
|
|
||||||
free(esc_str);
|
free(esc_str);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user