diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3f224a4d..da0fe6c6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,11 @@ Unreleased ---------- - feat: Add man pages. +- feat: :doc:`/scripts/csvsql` adds the options: + + - :code:`--min-col-len` + - :code:`--col-len-multiplier` + - fix: :doc:`/scripts/csvstat` no longer errors when a column is a time delta and :code:`--json` is set. 2.0.0 - May 1, 2024 diff --git a/csvkit/utilities/csvsql.py b/csvkit/utilities/csvsql.py index ae59d671..8de5c482 100644 --- a/csvkit/utilities/csvsql.py +++ b/csvkit/utilities/csvsql.py @@ -81,6 +81,12 @@ def add_arguments(self): self.argparser.add_argument( '--chunk-size', dest='chunk_size', type=int, help='Chunk size for batch insert into the table. Requires --insert.') + self.argparser.add_argument( + '--min-col-len', dest='min_col_len', type=int, + help='The minimum length of text columns.') + self.argparser.add_argument( + '--col-len-multiplier', dest='col_len_multiplier', type=int, + help='Multiply the maximum column length by this multiplier to accomodate larger values in later runs.') def main(self): if isatty(sys.stdin) and self.args.input_paths == ['-']: @@ -206,6 +212,8 @@ def _failsafe_main(self): constraints=not self.args.no_constraints, unique_constraint=self.unique_constraint, chunk_size=self.args.chunk_size, + min_col_len=self.args.min_col_len, + col_len_multiplier=self.args.col_len_multiplier, ) if self.args.after_insert: diff --git a/docs/scripts/csvsql.rst b/docs/scripts/csvsql.rst index 99eb6593..04f274e8 100644 --- a/docs/scripts/csvsql.rst +++ b/docs/scripts/csvsql.rst @@ -74,6 +74,11 @@ Generate SQL statements for a CSV file or execute those statements directly on a --chunk-size CHUNK_SIZE Chunk size for batch insert into the table. Requires --insert. + --min-col-len MIN_COL_LEN + The minimum length of text columns. + --col-len-multiplier COL_LEN_MULTIPLIER + Multiply the maximum column length by this multiplier + to accomodate larger values in later runs. See also: :doc:`../common_arguments`. diff --git a/man/csvsql.1 b/man/csvsql.1 index 0bac3561..913a3ae0 100644 --- a/man/csvsql.1 +++ b/man/csvsql.1 @@ -103,6 +103,11 @@ optional arguments: \-\-chunk\-size CHUNK_SIZE Chunk size for batch insert into the table. Requires \-\-insert. + \-\-min\-col\-len MIN_COL_LEN + The minimum length of text columns. + \-\-col\-len\-multiplier COL_LEN_MULTIPLIER + Multiply the maximum column length by this multiplier + to accomodate larger values in later runs. .ft P .fi .UNINDENT