Advanced QHacc
QHacc is aimed squarely at the non-advanced user. However, there are
some features that should generally be avoided by the casual user, but
may be of interest to people who like to break things. I call these the
advanced features of QHacc. You should not use any of the features
described here. They are for tinkerers and
live-by-the-seat-of-your-pantsers. Very often, they will completely
destroy your installation and all your data. You have been warned.
Undocumented Features
I should start off by saying I get a kick out of a section in the
documentation titled "Undocumented Features." Obviously, I'm documenting
them here, so perhaps this section should be titled "Screwball Antics," or
"How to Break QHacc," or some such, but those just don't make me laugh
like "Undocumented Features" does. I should also mention that, for the
time being, the items listed here are just preferences that can be set
manually but not through the Preferences Dialog.
- KEEPFILEPERMS By default, QHacc will reset the file
permissions on files it writes so that only the current user can open
them later. That's not strictly true, because setting the
KEEPFILEPERMS preference to true will make QHacc leave the file
permissions alone. It will leave file permissions as it finds
them. This is highly discouraged, as it could leave your data readable
by anyone on the system. However, if two users want to share one
QHACC_HOME, it's very handy.
- CONSERVEIDSONIMPORT If you're a big importer and exporter,
you may have noticed that QHacc burns through table ids like they're
going out of style. That behavior has been curtailed somewhat as of
release 2.9.3, but QHacc will still waste many IDs. Setting
CONSERVEIDSONIMPORT to true will force QHacc to reclaim any IDs that
it previously wasted. That is, all the IDs of QHacc's tables will be
contiguous starting with ID=1. This is totally unnecessary. QHacc uses
an unsigned integer for all its IDs, so even if you tried as hard as
you could, it would next to impossible to run out of IDs. Still, if
you're anal like me, you might want your IDs to be contiguous.
This "feature" is particularly dangerous because it will invalidate
duplicate checking on subsequent imports, and it will very likely
break any archives you've made. Basically, you won't be able to import
any data ever again, and recovery from this situation is impossible.
- NORECALCONSTARTUP QHacc tries to recalculate its account
balances every time it starts up. This is to make sure that any
transactions added or modified without using the program are correctly
accounted for. If you find that you never alter QHacc's data without
using the GUI or CLI, you can set this preference to true, and QHacc
will skip its usual calculations. This will make startup a bit faster,
especially if you have lots of transactions and are using the native
database. Account balances will still be recalculated when a
transaction inside the account is altered.