Prechádzať zdrojové kódy

convert BIGINT to hl int64

Nicolas Cannasse 2 dní pred
rodič
commit
f97d65cb33
1 zmenil súbory, kde vykonal 9 pridanie a 1 odobranie
  1. 9 1
      libs/mysql/mysql.c

+ 9 - 1
libs/mysql/mysql.c

@@ -47,7 +47,8 @@ typedef enum {
 	CONV_DATE,
 	CONV_DATETIME,
 	CONV_JSON,
-	CONV_BOOL
+	CONV_BOOL,
+	CONV_I64
 } CONV;
 
 typedef struct {
@@ -116,6 +117,12 @@ HL_PRIM vdynamic *HL_NAME(result_next)( result *r ) {
 		case CONV_INT:
 			hl_dyn_seti(obj, r->fields_ids[i], &hlt_i32, atoi(row[i]));
 			break;
+		case CONV_I64:
+			{
+			    char *endptr;
+				hl_dyn_seti64(obj, r->fields_ids[i], strtoll(row[i],&endptr,10));
+			}
+			break;
 		case CONV_STRING:
 			arg.t = &hlt_bytes;
 			arg.v.ptr = row[i];
@@ -226,6 +233,7 @@ static CONV convert_type( enum enum_field_types t, int flags, unsigned int lengt
 	case FIELD_TYPE_INT24:
 		return CONV_INT;
 	case FIELD_TYPE_LONGLONG:
+		return CONV_I64;
 	case FIELD_TYPE_DECIMAL:
 	case FIELD_TYPE_FLOAT:
 	case FIELD_TYPE_DOUBLE: