Project

General

Profile

Statistics
| Revision:

# Date Author Comment
10868 09/04/2013 11:48 PM Aaron Marcuse-Kubitza

bugfix: bin/after_import: run backups/fix_perms right after the backup files are created to make them private

10867 09/04/2013 11:32 PM Aaron Marcuse-Kubitza

bugfix: backups/fix_perms: just make the backups themselves private, since the other files are in svn, and their permissions should match their accessibility through Redmine

10866 09/04/2013 11:06 PM Aaron Marcuse-Kubitza

inputs/*/*/test.xml.ref: updated source.shortname for new datasource name, which now starts out with .new suffix

10865 09/04/2013 05:27 PM Aaron Marcuse-Kubitza

bugfix: bin/make_analytical_db: `/run export_`: don't take input from the terminal, because this causes rm to prompt the user (from a background task) about overwriting the previous export

10864 09/04/2013 05:26 PM Aaron Marcuse-Kubitza

/README.TXT: Full database import: Publish the new import: added runtime (1 min)

10863 09/04/2013 03:00 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: $(map2db): import to datasrc.new instead of plain datasrc, so that the current import of the datasrc is not overwritten

10862 09/04/2013 02:59 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: added publish (`make inputs/src/publish`)

10861 09/04/2013 02:55 PM Aaron Marcuse-Kubitza

bugfix: schemas/vegbien.sql: source: removed testing row that had gotten in during `make schemas/remake`

10860 09/04/2013 02:43 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: added %/publish (`make inputs/src/src.version/publish`)

10859 09/04/2013 02:32 PM Aaron Marcuse-Kubitza

bugfix: schemas/vegbien.sql: datasource_publish(): need to remove the current live datasource instead of the datasource to publish. note that datasource_rename() does not currently generate an error if the specified datasource doesn't exist.

10858 09/04/2013 02:27 PM Aaron Marcuse-Kubitza

bugfix: schemas/vegbien.sql: datasource_publish(): run it in a nested transaction so that there is always one published copy of the datasource. (note that a nested transaction is not automatically created for each function, http://stackoverflow.com/questions/6274457/set-isolation-level-for-postgresql-stored-procedures?In_PG_your_procedures_aren%27t_separate_transactions#answer-6283201 .)

10857 09/04/2013 01:57 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: added datasource_publish()

10856 09/04/2013 01:53 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: added datasource_rename()

10855 09/04/2013 01:51 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: added rm_version_suffix()

10854 09/04/2013 01:28 PM Aaron Marcuse-Kubitza

bin/map: allow user to override the source env var, which is used as the source.shortname value in the DB

10853 09/04/2013 09:43 AM Aaron Marcuse-Kubitza

exports/: svn:ignore *.zip

10852 09/04/2013 09:42 AM Aaron Marcuse-Kubitza

inputs/WIN/Specimen/unmapped_terms.csv: updated

10851 09/04/2013 09:37 AM Aaron Marcuse-Kubitza

inputs/import.stats.xls: updated import times

10850 08/31/2013 07:47 PM Aaron Marcuse-Kubitza

/README.TXT: Full database import: time to wait for the import to finish: updated to time in inputs/import.stats.xls

10849 08/31/2013 07:44 PM Aaron Marcuse-Kubitza

bugfix: bin/import_all: `rm inputs/.TNRS/tnrs/tnrs.make.lock`: need to use `"rm"` instead of `rm` so that we don't use any rm alias the user might have in their shell (import_all is run in the calling shell so that the jobs are owned by the calling shell)

10848 08/31/2013 07:36 PM Aaron Marcuse-Kubitza

bugfix: mappings/VegCore-VegBIEN.csv: don't map datasetURL to source.url for taxa-only data (this mapping should only occur for Source tables)

10847 08/31/2013 07:27 PM Aaron Marcuse-Kubitza

bin/import_all: added step to remove any leftover TNRS lockfile (previously done manually)

10846 08/31/2013 06:46 PM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: updated for progress

10845 08/31/2013 06:32 PM Aaron Marcuse-Kubitza

bugfix: lib/sql_io.py: put_table(): Getting output table pkeys of existing/inserted rows: need to include the index cond in the join condition here, too (using var join_custom_cond), so that an index scan can be used instead of a much slower full-table sort

10844 08/31/2013 06:01 PM Aaron Marcuse-Kubitza

bugfix: schemas/vegbien.sql: locationevent: locationevent_unique_within_location unique index: added COALESCE expression around location_id since it is nullable, and this is needed for the left and right sides of the join to exactly match up to use an index scan

10843 08/31/2013 05:52 PM Aaron Marcuse-Kubitza

bugfix: lib/sql_io.py: put_table(): DuplicateKeyException: need to include any index cond in the join condition, so that an index scan can be used instead of a much slower full-table sort (otherwise the query planner will not know that it can restrict results to rows satisfying the index cond)

10842 08/31/2013 05:48 PM Aaron Marcuse-Kubitza

lib/sql_gen.py: Join: added custom_cond param that can be used to add to the JOIN condition

10841 08/31/2013 01:02 AM Aaron Marcuse-Kubitza

lib/sql.py: distinct_table(): support custom filters on the distincting query

10840 08/31/2013 01:01 AM Aaron Marcuse-Kubitza

lib/sql_gen.py: ColValueCond: support conds that are just plain SQL (without separate left and right sides) using special custom_cond flag value

10839 08/30/2013 11:18 PM Aaron Marcuse-Kubitza

bugfix: inputs/input.Makefile: %/test: in by_col mode, also need to run %/test.by_col.xml

10838 08/30/2013 10:38 PM Aaron Marcuse-Kubitza

lib/sql_io.py: ensure_cond(): documented meaning of passed, failed params (at least one row passed/failed the constraint)

10837 08/30/2013 06:28 PM Aaron Marcuse-Kubitza

fix: web/links/index.htm: PostgreSQL: vacuuming: moved info about autovacuum process being aborted to correct bookmark

10836 08/30/2013 06:25 PM Aaron Marcuse-Kubitza

web/links/index.htm: updated to Firefox bookmarks. PostgreSQL: added info on vacuuming and analyzing.

10835 08/30/2013 06:06 PM Aaron Marcuse-Kubitza

lib/runscripts/util.run: usage: documented that this usage also applies to all files that include this file

10834 08/30/2013 06:06 PM Aaron Marcuse-Kubitza

lib/runscripts/util.run: usage: clarified that the cmd to run is a function

10833 08/30/2013 06:03 PM Aaron Marcuse-Kubitza

added schemas/postgresql*.conf.run, which installs these config files and takes care of restarting the server

10832 08/30/2013 06:02 PM Aaron Marcuse-Kubitza

added lib/runscripts/pg.conf.run, which installs PostgreSQL config files

10831 08/30/2013 06:01 PM Aaron Marcuse-Kubitza

added lib/runscripts/install.run, analogous to import.run

10830 08/30/2013 04:39 PM Aaron Marcuse-Kubitza

fix: schemas/postgresql*.conf: turn on autovacuum logging (log_autovacuum_min_duration = 0) so we can verify if autovacuum is happening

10829 08/30/2013 04:35 PM Aaron Marcuse-Kubitza

bugfix: lib/db_xml.py: put_table(): turned off db.autoanalyze, since forcing an ANALYZE after every bulk insert is inefficient for small datasources. the default autovacuum settings in schemas/postgresql.conf should be fine; however, the frequency and/or threshold may need to be increased if autovacuum does not ANALYZE frequently enough to replace db.autoanalyze.

10828 08/30/2013 03:37 PM Aaron Marcuse-Kubitza

/run: taxon_trait/make(): order by scientificName, measurementType as described in the taxon_trait table comment

10827 08/30/2013 03:36 PM Aaron Marcuse-Kubitza

lib/sh/db.sh: mk_select(): added support for ORDER BY

10826 08/30/2013 03:30 PM Aaron Marcuse-Kubitza

/run: added taxon_trait/make()

10825 08/30/2013 03:28 PM Aaron Marcuse-Kubitza

lib/sh/db.sh: added pg_export_table_to_dir(), analogous to pg_export_table_to_dir_no_header()

10824 08/30/2013 03:03 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxon_trait: added query to use to export

10823 08/30/2013 02:52 PM Aaron Marcuse-Kubitza

inputs/NVS/*/map.csv: Taxon Growth Form: mapped to VegBIEN.growthform enum, using http://www.fgdc.gov/standards/projects/FGDC-standards-projects/vegetation/NVCS_V2_FINAL_2008-02.pdf#page=83&section.page=76 . documented values used by each table.

10822 08/30/2013 02:18 PM Aaron Marcuse-Kubitza

lib/sh/util.sh: is_array(): handle unset vars (=false). this fixes a bug in pg_export_table_no_header, which produced the error "lib/sh/util.sh: line 290: declare: cols: not found".

10821 08/30/2013 02:06 PM Aaron Marcuse-Kubitza

fix: lib/sh/util.sh: join(): documented that delim must be a single char

10820 08/30/2013 07:15 AM Aaron Marcuse-Kubitza

bugfix: /README.TXT: on a live machine, you should put the following in your .profile: need to make svn files web-accessible, because these are used by fs.vegpath.org links (such as to the ERD, etc.). note that this does not affect unversioned files, because these get the right permissions on the local machine instead (see Testing > On a development machine, you should put the following in your .profile).

10819 08/30/2013 07:07 AM Aaron Marcuse-Kubitza

/README.TXT: to backup files not in Time Machine: added command to start the PostgreSQL server

10818 08/30/2013 06:58 AM Aaron Marcuse-Kubitza

bugfix: /README.TXT: to synchronize a Mac's settings with my testing machine's: don't upload ~/.profile, etc. to jupiter because these files are different on each machine. they can instead be synced manually.

10817 08/30/2013 06:52 AM Aaron Marcuse-Kubitza

/README.TXT: to backup files not in Time Machine: added command to stop the PostgreSQL server

10816 08/30/2013 06:49 AM Aaron Marcuse-Kubitza

/README.TXT: to synchronize vegbiendev, jupiter, and your local machine: noted that ./fix_perms should be run on all machines

10815 08/30/2013 06:36 AM Aaron Marcuse-Kubitza

removed unused dir analysis/ (originally requested by Jim)

10814 08/30/2013 06:31 AM Aaron Marcuse-Kubitza

bugfix: /README.TXT: to synchronize vegbiendev, jupiter, and your local machine:: added step to run `make backups/TNRS.backup/download live=1`, because bin/sync_upload does not sync this due to filters in backups/.rsync_filter.download

10813 08/30/2013 06:11 AM Aaron Marcuse-Kubitza

/README.TXT: Maintenance: to synchronize vegbiendev, jupiter, and your local machine: added step to run ./fix_perms so that there are fewer permissions diffs to review

10812 08/30/2013 06:07 AM Aaron Marcuse-Kubitza

bugfix: /README.TXT: to synchronize a Mac's settings with my testing machine's: upload: `(cd ~/Dropbox/svn/; svn up)`: use `up` instead so that the needed --force option is applied

10811 08/30/2013 05:37 AM Aaron Marcuse-Kubitza

inputs/VegBank/*/postprocess.sql: added primary keys to derived tables

10810 08/30/2013 05:15 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: regenerated exports and udpated image map

10809 08/30/2013 05:11 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: individual_observation.individual: documented that it is optional because an individual_observation cannot have an associated individual unless the individual is traceable to a specific plant

10808 08/30/2013 05:09 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: individual_observation.place_observed_at: made it optional because some individual_observations (e.g. of the plant a specimen was collected from) may be missing location information. however, an individual_observation cannot have an associated individual unless the individual is traceable to a specific plant.

10807 08/30/2013 05:03 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: specimen: added individual_observation, which stores observations about the plant the specimen was collected from. (some specimens may not be traceable to a reobservable individual, but will still have these plant observations.) specimen_observation: adjusted position to fully display the HAS-A connector to specimen.

10806 08/30/2013 03:44 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: updated for progress. rebalanced dots.

10805 08/30/2013 01:39 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: added separate task for Individual datasource refresh (separate from Individual datasource removal), because we also need to optimize the reload of datasources. the reload is most likely slow because rows are being added to very large tables.

10804 08/30/2013 01:21 AM Aaron Marcuse-Kubitza

/README.TXT: Single datasource import: run commands in the background, since these are long-running commands

10803 08/30/2013 12:57 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: moved Attribution and conditions of use before Flatten the datasources as suggested in meeting with Mark

10802 08/30/2013 12:42 AM Aaron Marcuse-Kubitza

schemas/vegbien.sql: datasource_rm(): runtime: added runtime of MO (55 min, 0.85 ms/row), which has a much larger # of rows than ACAD (4 million instead of 45,000). updated GBIF runtime estimate (~13 h) with more accurate ms/row from MO.

10801 08/29/2013 11:19 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: datasource_rm(): estimated runtime for GBIF (~10 h). note that this is still significantly shorter than the import time (3.4 days).

10800 08/29/2013 11:11 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: datasource_rm(): documented how to calculate runtime

10799 08/29/2013 11:04 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: datasource_rm(): documented runtime for ACAD: 30 s; 0.61 ms/row

10798 08/29/2013 05:09 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: rm: use new datasource_rm(), which encapsulates the schema-specific aspects of removing a datasource

10797 08/29/2013 04:59 PM Aaron Marcuse-Kubitza

bugfix: schemas/vegbien.sql: datasource_rm(): set_config(): don't name the is_local param because it is not a named parameter

10796 08/29/2013 04:50 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: added datasource_rm(). this uses an internal schema-scoping parameter to ensure that the function always operates on tables in the schema it was defined in, rather than tables in the search_path. this ensures that when the public schema is renamed (e.g. from an imported version), the function will continue to operate on its own schema rather than whichever schema happens to be called public. this avoids any surprises if you are trying to remove a datasource in one schema, and don't want it to unintentionally be removed in another schema instead.

10795 08/29/2013 04:20 PM Aaron Marcuse-Kubitza

schemas/util.sql: added schema_ident()

10794 08/29/2013 03:20 PM Aaron Marcuse-Kubitza

schemas/util.sql: added schema(regtype), schema(anyelement)

10793 08/29/2013 02:07 PM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: added covering indexes on foreign keys where needed. this enables rows to be cascadingly deleted without a full table scan.

10792 08/29/2013 01:58 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: added covering indexes on foreign keys where needed. this enables rows to be cascadingly deleted without a full table scan.

10791 08/27/2013 11:11 PM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: increased font size for better readability at 100% (which is also the printed size). note that the timeline is normally zoomed in, so you don't see the actual font size.

10790 08/27/2013 10:52 PM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: tnrs: instructions for when changing this table's schema: updated to use new `inputs/.TNRS/data.sql.run refresh`

10789 08/27/2013 10:50 PM Aaron Marcuse-Kubitza

inputs/.TNRS/data.sql.run: added refresh() target which runs inputs/test_taxonomic_names/test_scrub

10788 08/27/2013 10:34 PM Aaron Marcuse-Kubitza

inputs/test_taxonomic_names/test_scrub: added step to update inputs/.TNRS/data.sql to the now-refreshed TNRS sample data (this updating step is now automated)

10787 08/27/2013 10:32 PM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: tnrs: updated steps to run when changing this table's schema, to use new TNRS editing workflow

10786 08/27/2013 10:14 PM Aaron Marcuse-Kubitza

inputs/.TNRS/data.sql: re-ran TNRS using `inputs/test_taxonomic_names/test_scrub; rm=1 inputs/.TNRS/data.sql.run export_`

10785 08/27/2013 10:13 PM Aaron Marcuse-Kubitza

/README.TXT: Full database import: fixing TNRS errors: noted that inputs/test_taxonomic_names/test_scrub re-runs TNRS

10784 08/27/2013 10:12 PM Aaron Marcuse-Kubitza

/README.TXT: Full database import: fixing TNRS errors: updated instructions for new TNRS schema editing workflow

10783 08/27/2013 09:53 PM Aaron Marcuse-Kubitza

inputs/.TNRS/data.sql: generate from the DB using `rm=1 inputs/.TNRS/data.sql.run export_` instead of being a hand-edited file

10782 08/27/2013 09:50 PM Aaron Marcuse-Kubitza

added inputs/.TNRS/data.sql.run for syncing data.sql directly with the DB without needing to use inputs/test_taxonomic_names/test_scrub just to export the sample data. (however, when modifying the tnrs table, it may still be easier to generate new sample data using test_scrub rather than refactoring the table in place.)

10781 08/27/2013 09:35 PM Aaron Marcuse-Kubitza

added lib/runscripts/data.pg.sql.run (analogous to schema.pg.sql.run for data-only SQL scripts)

10780 08/27/2013 09:32 PM Aaron Marcuse-Kubitza

added lib/runscripts/file.pg.sql.run and use it in schema.pg.sql.run

10779 08/27/2013 09:25 PM Aaron Marcuse-Kubitza

added lib/runscripts/schema.pg.sql.run and use it in inputs/.TNRS/schema.sql.run

10778 08/27/2013 09:18 PM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: generate from the DB using `rm=1 inputs/.TNRS/schema.sql.run export_` instead of being a hand-edited file. this makes it much easier to edit the (now frequently-changing) TNRS schema directly in pgAdmin (which is graphical), rather than having to manually copy SQL changes from pgAdmin to the file.

10777 08/27/2013 09:15 PM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql.run: export_(): added usage

10776 08/27/2013 09:12 PM Aaron Marcuse-Kubitza

added inputs/.TNRS/schema.sql.run, which syncs schema.sql with the DB

10775 08/27/2013 09:07 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/db.sh: pg_dump(): don't default $struct flag to on, because both structure and data should be printed by default

10774 08/27/2013 09:02 PM Aaron Marcuse-Kubitza

lib/sh/db.sh: pg_dump(): added create_schema= flag to remove CREATE SCHEMA statements (useful if the schema already exists)

10773 08/27/2013 08:59 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/util.sh: set_fds(): remove empty redirects resulting from using `redirs= cmd...` to clear the redirs and then using $redirs as an array

10772 08/27/2013 08:47 PM Aaron Marcuse-Kubitza

fix: lib/sh/util.sh: set_fds(): documented that it does not currently support redirecting an fd to itself (due to bash bugs that require the dest fd to be closed before it can be reopened)

10771 08/27/2013 08:44 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/util.sh: stdout2fd(): don't add >&$fd redirect if the fd is 1, because redir does not currently support redirecting an fd to itself (due to bash bugs that require the dest fd to be closed before it can be reopened)

10770 08/27/2013 08:40 PM Aaron Marcuse-Kubitza

lib/sh/util.sh: filter_fd(): factored out >() subshell command into stdout2fd() for clarity

10769 08/27/2013 08:33 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/util.sh: redir(): unset redirs so that you don't redirect again in the invoked command