Project

General

Profile

Statistics
| Revision:

# Date Author Comment
8283 04/02/2013 01:39 PM Aaron Marcuse-Kubitza

lib/util.run: fwd: Added usage

8282 04/02/2013 01:32 PM Aaron Marcuse-Kubitza

lib/table.run: Switched from echo_run to echo_func

8281 04/02/2013 01:16 PM Aaron Marcuse-Kubitza

lib/util.run: run_cmd: Echo the command being run, including the top-level run script. This is in addition to the echoing of the command in the function itself (using echo_func), which provides both the runscript that was run and the file where the invoked command was actually located (which may be different due to includes).

8280 04/02/2013 01:12 PM Aaron Marcuse-Kubitza

lib/util.run: Echo the command at the beginning of each function using new echo_func, instead of having to type echo_run before every call to a function. Note that because echo_func uses BASH_SOURCE, the path to the file containing the function will be included in the debug message, which greatly facilitates locating which file a command is in.

8279 04/02/2013 01:08 PM Aaron Marcuse-Kubitza

lib/util.run: Added echo_func

8278 04/02/2013 12:50 PM Aaron Marcuse-Kubitza

lib/util.run: Added echo_cmd and use it in echo_run

8277 04/02/2013 12:46 PM Aaron Marcuse-Kubitza

lib/util.run: echo_cmd(): Renamed to echo_run for clarity, because it also runs the command

8276 04/02/2013 12:39 PM Aaron Marcuse-Kubitza

lib/util.run: Added inline_make()

8275 04/02/2013 12:39 PM Aaron Marcuse-Kubitza

lib/util.run: Added echo_stdin()

8274 04/02/2013 12:30 PM Aaron Marcuse-Kubitza

bin/my2pg_export: Put --password first because it's an authentication-related option

8273 04/02/2013 10:52 AM Aaron Marcuse-Kubitza

Added lib/table.run, which includes the commands in import.sh but uses run scripts to allow running commands other than just import. (For example, map_table or postprocess can be run separately. Uninstall-related commands which would not belong in an import script can also be added, because import is only one of many commands a run script can offer.)

8272 04/02/2013 10:35 AM Aaron Marcuse-Kubitza

Added lib/util.run with general functions and template for run scripts (a bash-based replacement for make). Unlike make, run scripts support full bash functionality including multiline commands. The run script template also includes syntax for various kinds of relative includes in bash.

8271 04/02/2013 12:03 AM Aaron Marcuse-Kubitza

lib/common.Makefile: Added $(require_var)

8270 04/01/2013 10:42 PM Aaron Marcuse-Kubitza

bin/publish_analytical_db: Fixed bug where need to remove `ESCAPED BY '"'` because this would causing " followed by an escape sequence char to be interpreted specially (e.g. "n -> \n). MySQL automatically takes care of quote doubling when you specify `FIELDS OPTIONALLY ENCLOSED BY`.

8269 04/01/2013 10:13 PM Aaron Marcuse-Kubitza

lib/common.Makefile: Compression: Added `%:: .gz`, `.gz: %`

8268 04/01/2013 08:07 PM Aaron Marcuse-Kubitza

planning/workflow/import_process_comparison.odg: Moved "staging tables" under the method labels to reduce empty space

8267 04/01/2013 07:52 PM Aaron Marcuse-Kubitza

planning/workflow/import_process_comparison.odg: Removed margins so the labels would align with the page margin on the Import process wiki page <https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/Import_process>

8266 04/01/2013 07:32 PM Aaron Marcuse-Kubitza

Added planning/workflow/import_process_comparison.odg and .png export

8265 04/01/2013 06:12 PM Aaron Marcuse-Kubitza

lib/db_xml.py: put_table(): Fixed bug where command to advance start to fetch next set was unintentionally deleted when removing the is_view check

8264 04/01/2013 06:11 PM Aaron Marcuse-Kubitza

inputs/UNCC/Specimen/new_terms.csv: Updated for updated VegCore vocab

8263 04/01/2013 03:53 PM Aaron Marcuse-Kubitza

inputs/GBIF/_MySQL/GBIFPortalDB-2013-02-20.data.sql.md5: Regenerated after appending agent table to GBIFPortalDB-2013-02-20.data.sql

8262 04/01/2013 03:51 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/_MySQL/GBIFPortalDB-2013-02-20.data.sql.gz.md5

8261 03/28/2013 08:16 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/raw_occurrence_record/ from refresh

8260 03/28/2013 08:07 PM Aaron Marcuse-Kubitza

inputs/GBIF/MySQL.schema.sql: Regenerated with inline enum type translated to CHECK constraint

8259 03/28/2013 08:07 PM Aaron Marcuse-Kubitza

bin/my2pg: Translate inline enum type to CHECK constraint

8258 03/28/2013 07:43 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/**/MySQL.schema.sql

8257 03/28/2013 07:42 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/_MySQL/MySQL.*.sql.make

8256 03/28/2013 07:36 PM Aaron Marcuse-Kubitza

inputs/FIA/: Archived no longer used subdirs from BIEN2 export

8255 03/28/2013 07:29 PM Aaron Marcuse-Kubitza

inputs/FIA/: Archived no longer used subdirs from BIEN2 export

8254 03/28/2013 07:22 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: SVN: add: Removed Source/map.csv prerequisite because it is not related to adding unversioned files in the dir. It was originally a prerequisite in order to auto-create it when the datasource dir is first created, but the map.csv recipe does not currently create metadata-only map.csvs. In the future, metadata-only map.csvs will be replaced with constant columns added to the applicable tables.

8253 03/28/2013 07:19 PM Aaron Marcuse-Kubitza

Added inputs/FIA/_archive

8252 03/28/2013 07:19 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: %/map.csv: Fixed bug where can only make header.csv if map.csv does not exist, because some subdirs are metadata-only and don't have a corresponding DB table

8251 03/28/2013 07:02 PM Aaron Marcuse-Kubitza

README.TXT: Datasource setup: Install the staging tables: For a MySQL .sql export: Documented which password to use at each of the two password prompts my2pg_export will give you. You could also embed the value of the 2nd prompt in the _MySQL/*.make file using `--password="$(cat path/to/config/bien_password)"`.

8250 03/28/2013 06:56 PM Aaron Marcuse-Kubitza

README.TXT: Datasource setup: Install the staging tables: Removed requirement that `make inputs/<datasrc>/reinstall quiet=1 &` be run on vegbiendev for MySQL .sql exports, because the hostname is now set to vegbiendev instead of localhost

8249 03/28/2013 06:38 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: sql/install: Use psql_script_vegbien instead of $(psqlNoSearchPath) (which uses psql_verbose_vegbien) because the insert statement for each data row should not be echoed

8248 03/28/2013 06:14 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/import: Run remake_VegBIEN_mappings at end to keep mappings to next stage of import process up to date

8247 03/28/2013 06:14 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/: Accepted new test output

8246 03/28/2013 06:13 PM Aaron Marcuse-Kubitza

lib/import.sh: remake_VegBIEN_mappings(): Also remake VegBIEN.csv and test.xml.ref use `make test`

8245 03/28/2013 06:11 PM Aaron Marcuse-Kubitza

lib/import.sh: Added remake_VegBIEN_mappings()

8244 03/28/2013 06:10 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: %/map.csv: make $*/header.csv first in case it doesn't exist (e.g. if it has been deleted so that it will be remade)

8243 03/28/2013 06:07 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/map.csv: Regenerated using new input table mappings

8242 03/28/2013 05:47 PM Aaron Marcuse-Kubitza

lib/import.sh: Added make() and use it instead of the full make command

8241 03/28/2013 05:23 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: postprocess: Use %/postprocess instead of %/postprocess.sql/run so $*/import is also run

8240 03/28/2013 05:21 PM Aaron Marcuse-Kubitza

inputs/FIA/: Ran inputs/FIA/import. This maps to VegCore's commonName.

8239 03/28/2013 05:19 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: %/postprocess: Also run the $*/import script, if it exists. Note that this is not the same as the %/import make target.

8238 03/28/2013 05:12 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: %/postprocess.sql/run: Factored out into separate %/postprocess command, which can eventually also perform other actions

8237 03/28/2013 04:59 PM Aaron Marcuse-Kubitza

inputs/FIA/PLOT/map.csv: ELEV: Remapped to elevation_ft, assuming units based on the actual elevation of the region for a sample plot record

8236 03/28/2013 04:27 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/map.csv: Mapped int_currplantcommon to vernacularName

8235 03/28/2013 04:25 PM Aaron Marcuse-Kubitza

mappings/VegCore.htm: Renamed salvias_plots table plotMetadata to PlotMetadata because of SALVIAS refresh on nimoy

8234 03/28/2013 04:18 PM Aaron Marcuse-Kubitza

mappings/VegCore.htm: Regenerated from wiki. Added flower, fruit, commonName.

8233 03/28/2013 03:37 PM Aaron Marcuse-Kubitza

mappings/Makefile: $(vocab); bin/redmine_synonyms: Support crossed out (deprecated) terms

8232 03/28/2013 03:24 PM Aaron Marcuse-Kubitza

README.TXT: Maintenance: VegCore data dictionary: Added steps to update the data dictionary's Tables section if necessary

8231 03/28/2013 02:14 PM Aaron Marcuse-Kubitza

inputs/GBIF/_MySQL/Makefile: %.data.sql: Added agent table

8230 03/28/2013 01:18 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/_MySQL/GBIFPortalDB-2013-02-20.data.sql.md5

8229 03/28/2013 01:11 PM Aaron Marcuse-Kubitza

Added inputs/GBIF/_MySQL/GBIFPortalDB-2013-02-20.schema.sql

8228 03/28/2013 11:02 AM Aaron Marcuse-Kubitza

Added web/main/svn*/, now using .htaccess to forward to Redmine/*

8227 03/28/2013 10:55 AM Aaron Marcuse-Kubitza

Removed web/main/svn, svn-web symlinks because they need to be .htaccess-es in order for the relative mod_rewrite commands to work correctly

8226 03/28/2013 10:50 AM Aaron Marcuse-Kubitza

Added web/main/svn, svn-web symlinks to Redmine/* for shorter URLs

8225 03/28/2013 10:49 AM Aaron Marcuse-Kubitza

Added web/main/Redmine/svn-web/

8224 03/28/2013 08:28 AM Aaron Marcuse-Kubitza

inputs/GBIF/: Added scripts for subsetting refresh

8223 03/28/2013 12:24 AM Aaron Marcuse-Kubitza

lib/sql.py: table_order_by(): Documented that it returns None if table is a view, because table_cluster_on() would return None. This is necessary for inputs/FIA/occurrence_all/ sorting to work correctly, because specifying a manual sort order would prevent the query planner from just using fast nested loop joins and instead cause it to perform a slow sort. (This appears to be a bug in the query planner, because when the column list specified matches the joined-on indexes, there should be no need for post-nested loop re-sorting.)

8222 03/28/2013 12:20 AM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/test.xml.ref: Updated inserted row count for new row sort order

8221 03/28/2013 12:19 AM Aaron Marcuse-Kubitza

lib/db_xml.py: put_table(): Fixed bug where also need to advance start to fetch next set when table is a view, because the views that are now being used with the import (inputs/FIA/occurrence_all/) are static rather than dynamic and do not return different rows after the previous set of rows has been imported

8220 03/27/2013 11:43 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/import: Removed no longer applicable comment that directional joins are needed for PostgreSQL query planner to avoid slow sorts

8219 03/27/2013 11:40 PM Aaron Marcuse-Kubitza

inputs/FIA/TREE/import: Reclustered table by TREE.parent path index, to facilitate path-order joins

8218 03/27/2013 11:39 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/import: Changed all RIGHT JOINs to inner joins so that tables would be joined in path order (i.e. general->specific). This optimizes the incremental joins so that the small tables are joined to each other before being joined to the large tables, rather than each row of the large tables being looked up in the small tables. This effect may not be noticeable for small LIMIT values, but would become apparent for large LIMIT values, such as the 1-million-row partitions used by db_xml.put_table() for column-based import. Note that inner joins used to cause the query planner to produce incorrect results containing slow sorts, but now this appears to no longer be an issue, perhaps because the result is not sorted by the TREE.ID index (which is not in the same order as the path indexes *.unique, *.parent).

8217 03/27/2013 10:46 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/import: Removed trailing whitespace

8216 03/27/2013 10:30 PM Aaron Marcuse-Kubitza

Removed unused inputs/FIA/COND_unique/. Use COND instead.

8215 03/27/2013 09:52 PM Aaron Marcuse-Kubitza

inputs/FIA/import: Use `set -o errexit` instead of putting ` || exit` after each command

8214 03/27/2013 09:52 PM Aaron Marcuse-Kubitza

lib/import.sh: map_table(): Removed unneeded () around psql. This also fixes a bug where an error exit status from psql would not have aborted the script because `set -o errexit` does not apply to commands enclosed in (). For () you need to use ` || exit` instead (or ` || return` inside a function).

8213 03/27/2013 09:42 PM Aaron Marcuse-Kubitza

lib/import.sh: Use `set -o errexit` so any command that exits with an error aborts the script. Note that a command's exit status can still be ignored using ` || true`. Removed no longer needed ` || return` in functions.

8212 03/27/2013 09:40 PM Aaron Marcuse-Kubitza

schemas/util.sql: Renamed rename_if_exists() to try_create() because it can be used to create a column in any way, not just by renaming another column

8211 03/27/2013 09:33 PM Aaron Marcuse-Kubitza

lib/import.sh: functions: abort if a command encounters an error

8210 03/27/2013 09:17 PM Aaron Marcuse-Kubitza

schemas/VegCore/mk_derived: Added cultivated from oldGrowth

8209 03/27/2013 09:16 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added try_mk_derived_col()

8208 03/27/2013 08:35 PM Aaron Marcuse-Kubitza

inputs/FIA/*/import: Run mk_derived after postprocessing commands

8207 03/27/2013 08:28 PM Aaron Marcuse-Kubitza

inputs/FIA/import_order.txt: Added occurrence_all/

8206 03/27/2013 08:23 PM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: subplotID,subplot -> location.sourceaccessioncode: Fixed bug where need /_first to handle the case where both subplotID and subplot are provided

8205 03/27/2013 08:15 PM Aaron Marcuse-Kubitza

Added inputs/FIA/map.csv, which maps shared columns to VegCore

8204 03/27/2013 08:12 PM Aaron Marcuse-Kubitza

inputs/FIA/FIA_COND_unique/test.xml.ref: Updated now that PLOT, CONDID have been mapped

8203 03/27/2013 08:12 PM Aaron Marcuse-Kubitza

inputs/FIA/*/map.csv for pre-refresh tables: Added back * before unmapped column names

8202 03/27/2013 08:03 PM Aaron Marcuse-Kubitza

lib/csvs.py: stream_info(): Fixed bug where headers with multiline columns were not supported because only the first line (not the first multiline row) is sniffed for the dialect

8201 03/27/2013 06:56 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: %/header.csv: Fixed bug where newlines inside column names were incorrectly formatted by psql's table header formatting, by using COPY TO STDOUT instead

8200 03/27/2013 05:28 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added do_optionally_ignore()

8199 03/27/2013 04:28 PM Aaron Marcuse-Kubitza

schemas/util.sql: Renamed rename_if_exists() to try_create() because it can be used to create a column in any way, not just by renaming another column

8198 03/27/2013 04:12 PM Aaron Marcuse-Kubitza

lib/import.sh: Added mk_derived(). Added mk_derived to usage template.

8197 03/27/2013 04:11 PM Aaron Marcuse-Kubitza

Added schemas/VegCore/mk_derived, which will be run in the import scripts

8196 03/27/2013 04:09 PM Aaron Marcuse-Kubitza

lib/import.sh: psql(): Set psql vars :schema, :table, :table_str for use by the psql commands

8195 03/27/2013 03:22 PM Aaron Marcuse-Kubitza

lib/import.sh: Export $schema, $table so they are available to programs invoked within an import script, which should not reset these vars if they include import.sh

8194 03/27/2013 03:20 PM Aaron Marcuse-Kubitza

lib/import.sh: Only set $table, $schema if they don't already exist

8193 03/27/2013 03:11 PM Aaron Marcuse-Kubitza

lib/import.sh: Added $root_dir and use it in $bin_dir

8192 03/27/2013 03:11 PM Aaron Marcuse-Kubitza

inputs/FIA/*/import: Use new mk_*_col()

8191 03/27/2013 02:50 PM Aaron Marcuse-Kubitza

schemas/*functions.sql: Renamed to *util.sql because now that these schemas are used by the new-style import scripts, there can be more than just functions in them

8190 03/27/2013 02:43 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added mk_const_col()

8189 03/27/2013 02:37 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added type_qual()

8188 03/27/2013 02:34 PM Aaron Marcuse-Kubitza

schemas/util.sql: mk_derived_col(): Added "idempotent" comment

8187 03/27/2013 02:23 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added mk_derived_col()

8186 03/27/2013 02:22 PM Aaron Marcuse-Kubitza

inputs/FIA/COND/import: oldGrowth: Updated expr column names

8185 03/27/2013 01:49 PM Aaron Marcuse-Kubitza

schemas/util.sql: Added typeof(text, regtype)

8184 03/27/2013 12:54 PM Aaron Marcuse-Kubitza

inputs/FIA/*/import: Removed util. before function names because util is in the search_path