bugfix: schemas/util.sql: copy_struct(): also need to util.copy_comment() because CREATE TABLE __ INCLUDING ALL is missing this
schemas/util.sql: added copy_comment(regclass, regclass)
schemas/public_.sql: viewFullOccurrence_individual_view: CREATE INDEX runtime: documented 2-column runtime (~2 h)
exports/analytical_stem_*GBIF.csv.run: documented runtime (40 min-1.2 h)
exports/view_full_occurrence_individual_*GBIF.csv.run: documented runtime (20-30 min)
added exports/analytical_stem_GBIF.csv.run, analytical_stem_non_GBIF.csv.run
added exports/view_full_occurrence_individual_GBIF.csv.run, view_full_occurrence_individual_non_GBIF.csv.run
schemas/public_.sql: viewFullOccurrence_individual_view: added "after updating this" instructions
schemas/public_.sql: viewFullOccurrence_individual_view: documented CREATE INDEX runtime (10 min - 1.5 h depending on the datatype and % populated)
web/links/index.htm: updated to Firefox bookmarks: updated to use frenzy instead of starscream
fix: lib/tnrs.py: retrieval_request_template: source_sorting (Constrain by Source): corrected explanation to reflect that the behavior is actually the same in both modes, since only one match is ever marked as selected, and that match should always come first
planning/meetings/BIEN conference call availability.xlsx: updated
inputs/.TNRS/schema.sql: taxon_match: added taxon_scrub_by_name index
inputs/.TNRS/schema.sql: taxon_match: added taxon_scrub_by_family index
inputs/.TNRS/schema.sql: taxon_match: added taxon_scrub_by_species_binomial index
bugfix: schemas/public_.sql: *_view_modify(): need to set the search_path so that tables are created in the same schema as the function, rather than whichever schema happens to be at the beginning of the search_path
bugfix: schemas/public_.sql: analytical_stem_view_modify(): updated to support being used directly instead of via a materialized table
schemas/public_.sql: removed no longer used analytical_stem. use analytical_stem_view or viewFullOccurrence_individual instead.
fix: schemas/public_.sql: viewfulloccurrence_individual_view_modify(): fixed capitalization in function name (needs "" to preserve case)
schemas/public_.sql: other derived views: use viewFullOccurrence_individual instead of analytical_stem because analytical_stem is no longer materialized (viewFullOccurrence_individual_view is materialized instead)
schemas/public_.sql: validation views: use analytical_stem_view instead of analytical_stem because analytical_stem is no longer materialized (viewFullOccurrence_individual_view is materialized instead)
schemas/public_.sql: derived views: use analytical_stem_view instead of analytical_stem because analytical_stem is no longer materialized (viewFullOccurrence_individual_view is materialized instead)
bugfix: schemas/util.sql: expansion_min_cols(): increased to properly handle all public-schema views (the largest is currently 2014-6-12.Jeff_Ott.climatic_range_determinants)
schemas/util.sql: view_def_to_orig(): use new expansion_min_cols() for easier configuration
schemas/util.sql: added expansion_min_cols() (the minimum # of cols from the same table to be treated as a * expression)
fix: schemas/public_.sql: analytical_stem_view: regenerated columns list for viewFullOccurrence_individual (instead of viewFullOccurrence_individual_view)
bugfix: mappings/VegCore-VegBIEN.csv: prefixed taxonomic ranks: use _concat_nullify() so that the prefix is only added if the epithet is non-NULL
fix: schemas/util.sql: col_re(): support column names with " in them
schemas/util.sql: added _concat_nullify(), which uses || instead of concat()
bugfix: inputs/FIA/REF_RESEARCH_STATION/map.csv: mapped country, which is not provided in the FIA data
schemas/public_.sql: removed no longer used threatened_taxonlabel_view. use iucn_red_list_view instead.
schemas/public_.sql: viewFullOccurrence_individual_view: documented materialize time (22 h)
inputs/.TNRS/schema.sql: taxon_match: removed no longer used scrubbed_unique_taxon_name. the scrubbed name ranks are now generated from the other TNRS columns instead.
/README.TXT: Full database import: added steps to re-run geoscrubbing
exports/geoscrub_input.csv.run: export_(): updated runtime (30 s)
fix: exports/viewFullOccurrence_*.csv.run: need to limit # rows to 5000 as requested by Bob
schemas/public_.sql: viewFullOccurrence_*: documented materialize time
bin/make_analytical_db: materialize viewFullOccurrence_individual_view instead of analytical_stem_view because analytical_stem_view is now generatable via a simple join onto viewFullOccurrence_individual_view. this avoids running into potential disk space constraints when materializing and backing up both tables (~50 GB/table * 2 tables * 2 copies (incl. the backup) = 200 GB, which is very close to the available disk space).
schemas/public_.sql: analytical_stem_view: use new materialized viewFullOccurrence_individual
schemas/public_.sql: added viewFullOccurrence_individual by running viewFullOccurrence_individual_view_modify()
schemas/public_.sql: added viewFullOccurrence_individual_view_modify(), analogous to analytical_stem_view_modify()
bin/make_analytical_db: removed extra () around psql_verbose_vegbien
bin/make_analytical_db: removed no longer used mk_table()
bin/make_analytical_db: use more up-to-date *_view_modify() functions instead of mk_table()
inputs/.TNRS/schema.sql: removed no longer used view ValidMatchedTaxon. use taxon_scrub instead.
schemas/public_.sql: iucn_red_list_view: use taxon_scrub instead of ValidMatchedTaxon since they are equivalent
inputs/.TNRS/schema.sql: taxon_scrub: use taxon_best_match directly, to avoid the need for a separate ValidMatchedTaxon view
fix: inputs/.TNRS/schema.sql: taxon_scrub: merged synonymous columns
schemas/vegbien.sql: taxon_scrub: documented steps to merge synonymous columns
inputs/.TNRS/schema.sql: removed no longer used view MatchedTaxon. use taxon_best_match instead.
inputs/.TNRS/schema.sql: ValidMatchedTaxon: use taxon_best_match now that it's equivalent to MatchedTaxon
bugfix: schemas/public_.sql: tnrs_input_name: use taxon_match instead of taxon_best_match because there is no index on taxon_match that includes just the filters used by taxon_best_match
schemas/public_.sql: tnrs_input_name: use taxon_best_match now that it's equivalent to MatchedTaxon
backups/TNRS.backup.md5: updated
fix: inputs/.TNRS/schema.sql: MatchedTaxon: merged synonymous columns
fix: schemas/util.sql: view_is_subset_or_renaming(): views with CASE statements are also not subsets/renamings
inputs/.TNRS/schema.sql: removed no longer used taxon_scrub.scrubbed_unique_taxon_name.* . use taxon_scrub instead.
inputs/.TNRS/schema.sql: taxon_scrub: use taxon_match derived columns instead of the incorrect values in taxon_scrub.scrubbed_unique_taxon_name.* (which does not work with the multi-match strategy)
inputs/.TNRS/schema.sql: MatchedTaxon: use derived columns from taxon_match. this also incorporates the fixes in the new derived columns.
inputs/.TNRS/schema.sql: taxon_scrub: use derived columns from taxon_match. this also incorporates the fixes in the new derived columns.
added exports/viewFullOccurrence_{CVS,VegBank,NCU}.csv.run
schemas/public_.sql: added viewFullOccurrence_{CVS,VegBank,NCU} for Bob
bugfix: schemas/util.sql: added GRANT USAGE for bien_read, public_ so that util schema functions can be called by other users
inputs/.TNRS/schema.sql: taxon_match: to port derived column changes to vegbiendev: derived_cols_export() code: documented runtime (6 h)
bugfix: inputs/.TNRS/schema.sql: removed no longer used derived column __accepted_infraspecific_label, which had a buggy formula that broke derived_cols_populate()
bugfix: schemas/util.sql: drop_derived_col(): also need to run util.derived_cols_trigger_update()
fix: inputs/.TNRS/schema.sql: taxon_match: to remove a column: updated instructions
bugfix: lib/sh/util.sh: str2varname(): need to lowercase str because on case-insensitive filesystems, paths sometimes canonicalize to a different capitalization than the original
lib/sh/util.sh: added lowercase()
bugfix: lib/sh/util.sh: die(): need stub since this is invoked before it's defined
bugfix: lib/sh/util.sh: setup_log_fd(): don't change $log_fd to stdlog until stdlog is set up, to avoid "Bad file descriptor" errors
**: updated to use the local machine's new hostname, frenzy
lib/sh/util.sh: func_override(), copy_func(): added echo_func to facilitate debugging
bugfix: lib/sh/util.sh: stubs: log++ alias also needs to be moved to stub section
bugfix: lib/Firefox_bookmarks.reformat.csv: URLs: match only the uppercase tags used by Firefox, not any lowercase tags added by the user
fix: lib/Firefox_bookmarks.reformat.csv: page's self-description: updated comment to match regexp
bugfix: lib/Firefox_bookmarks.reformat.csv: page's self-description: updated "page's self-description: " prefix to remove
web/links/index.htm: updated to Firefox bookmarks: added links for SSD vs. HDD reliability
/README.TXT: added steps to restore from Time Machine
/README.TXT: added steps to back up the local machine's hard drive
/README.TXT: to synchronize a Mac's settings with my testing machine's: renamed to "to back up the local machine's settings"
/README.TXT: to synchronize a Mac's settings with my testing machine's: removed download section because we don't use this
added backups/vegbien.r14089.backup.md5
bin/after_import: use new bin/make_backups
bugfix: bin/make_backups: need to `popd` when done
bugfix: bin/make_backups: need to `set +x` when done
bin/make_backups: run with initial "." so background processes will be owned by the invoking shell
added bin/make_backups
web/links/index.htm: updated to Firefox bookmarks: VirtualBox: performance: added that context-switching also imposes an overhead, in addition to sandboxing.
web/links/index.htm: updated to Firefox bookmarks: BIEN: added list of machines this has been tested on. VirtualBox: added links to performance considerations of running in a VM.
inputs/.TNRS/schema.sql: added new derived columns to derived views
fix: schemas/util.sql: view_def_to_orig(): need to support aliased columns (produced when a column is renamed)
schemas/util.sql: added aliased_col_re()
schemas/util.sql: added alias_re()
fix: schemas/util.sql: view_is_subset(): renamed to view_is_subset_or_renaming() because this also supports views that just rename columns, which should not be .*-ed by view_def_to_orig()
fix: schemas/util.sql: view_def_to_orig(): can't use FROM to alias util.col_re() because that prevents inlining the function
schemas/util.sql: view_def_to_orig(): use util.col_re() for clarity