Generate valid GnuCash SQL by not inserting values if there are none.

This commit is contained in:
Chris Berkhout 2021-05-31 18:50:48 +02:00
parent 82c4f45ce0
commit 5fdbb480e7
2 changed files with 5 additions and 3 deletions

View file

@ -66,6 +66,7 @@ class GnuCashSQL(BaseOutput):
)
values_parts.append(v)
values = ",\n".join(values_parts)
values_comment = "" if values_parts else "-- "
if too_big:
# https://code.gnucash.org/docs/MAINT/group__Numeric.html
@ -83,6 +84,7 @@ class GnuCashSQL(BaseOutput):
timestamp=datetime.utcnow().isoformat() + "Z",
base=self._sql_str(base),
quote=self._sql_str(quote),
values_comment=values_comment,
values=values,
)

View file

@ -16,9 +16,9 @@ FROM prices p, commodities c
WHERE FALSE;
-- Populate the staging table.
INSERT INTO new_prices (guid, date, base, quote, source, type, value_num, value_denom) VALUES
{values}
;
{values_comment}INSERT INTO new_prices (guid, date, base, quote, source, type, value_num, value_denom) VALUES
{values_comment}{values}
{values_comment};
-- Get some numbers for the summary.
CREATE TEMPORARY TABLE summary (description TEXT, num INT);