From e06265c2df71ead83e86d03d55f7ca8483b741f7 Mon Sep 17 00:00:00 2001 From: John Kerl Date: Fri, 4 Sep 2015 22:21:02 -0400 Subject: [PATCH] [read performance iterate] byte-reader iterate --- c/Makefile | 1 + c/cli/mlrcli.c | 3 +++ c/input/lrec_readers.c | 2 ++ c/input/lrec_readers.h | 1 + 4 files changed, 7 insertions(+) diff --git a/c/Makefile b/c/Makefile index 78f7f1a18..2789e7354 100644 --- a/c/Makefile +++ b/c/Makefile @@ -57,6 +57,7 @@ containers/header_keeper.c \ containers/join_bucket_keeper.c \ input/lrec_reader_in_memory.c input/lrec_readers.c \ input/lrec_reader_stdio_csv.c \ +input/lrec_reader_stdio_csvex.c \ input/lrec_reader_mmap_csvlite.c input/lrec_reader_stdio_csvlite.c \ input/lrec_reader_mmap_dkvp.c input/lrec_reader_stdio_dkvp.c \ input/lrec_reader_mmap_nidx.c input/lrec_reader_stdio_nidx.c \ diff --git a/c/cli/mlrcli.c b/c/cli/mlrcli.c index f9df7c4aa..05ff5a197 100644 --- a/c/cli/mlrcli.c +++ b/c/cli/mlrcli.c @@ -296,6 +296,9 @@ cli_opts_t* parse_command_line(int argc, char** argv) { else if (streq(argv[argi], "--icsvlite")) { popts->ifmt = "csvlite"; } else if (streq(argv[argi], "--ocsvlite")) { ofmt = "csvlite"; } + else if (streq(argv[argi], "--csvex")) { popts->ifmt = "csvex"; ofmt = "csv"; } + else if (streq(argv[argi], "--icsvex")) { popts->ifmt = "csvlite"; } + else if (streq(argv[argi], "--dkvp")) { popts->ifmt = ofmt = "dkvp"; } else if (streq(argv[argi], "--idkvp")) { popts->ifmt = "dkvp"; } else if (streq(argv[argi], "--odkvp")) { ofmt = "dkvp"; } diff --git a/c/input/lrec_readers.c b/c/input/lrec_readers.c index 996af8c51..4ada31b5c 100644 --- a/c/input/lrec_readers.c +++ b/c/input/lrec_readers.c @@ -20,6 +20,8 @@ lrec_reader_t* lrec_reader_alloc(char* fmtdesc, int use_mmap, char irs, char if return lrec_reader_mmap_csvlite_alloc(irs, ifs, allow_repeat_ifs); else return lrec_reader_stdio_csvlite_alloc(irs, ifs, allow_repeat_ifs); + } else if (streq(fmtdesc, "csvex")) { + return lrec_reader_stdio_csvex_alloc(irs, ifs, allow_repeat_ifs); } else if (streq(fmtdesc, "nidx")) { if (use_mmap) return lrec_reader_mmap_nidx_alloc(irs, ifs, allow_repeat_ifs); diff --git a/c/input/lrec_readers.h b/c/input/lrec_readers.h index 558347e89..a8ab0a468 100644 --- a/c/input/lrec_readers.h +++ b/c/input/lrec_readers.h @@ -11,6 +11,7 @@ lrec_reader_t* lrec_reader_alloc(char* fmtdesc, int use_mmap, char irs, char if lrec_reader_t* lrec_reader_stdio_csv_alloc(char irs, char ifs, int allow_repeat_ifs); lrec_reader_t* lrec_reader_stdio_csvlite_alloc(char irs, char ifs, int allow_repeat_ifs); +lrec_reader_t* lrec_reader_stdio_csvex_alloc(char irs, char ifs, int allow_repeat_ifs); lrec_reader_t* lrec_reader_stdio_dkvp_alloc(char irs, char ifs, char ips, int allow_repeat_ifs); lrec_reader_t* lrec_reader_stdio_nidx_alloc(char irs, char ifs, int allow_repeat_ifs); lrec_reader_t* lrec_reader_stdio_xtab_alloc(char ips, int allow_repeat_ips);