Project

General

Profile

Statistics
| Revision:

# Date Author Comment
11008 09/18/2013 10:35 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/stemlocation_/postprocess.sql: added missing index on aggregateOrganismObservationID, needed for the 1:many portion of the taxon_observation.** left-join

11007 09/18/2013 10:28 PM Aaron Marcuse-Kubitza

inputs/VegBank/stemcount_/postprocess.sql: moved stemcount___parent index before the derived columns section because it does not depend on them

11006 09/18/2013 10:26 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/stemcount_/postprocess.sql: added missing index on taxonOccurrenceID, needed for the 1:many portion of the taxon_observation.** left-join

11005 09/18/2013 10:14 PM Aaron Marcuse-Kubitza

schemas/util.sql: added ||% operator to append to escaped strings (the % indicates an identifier, as in Perl hashes and one of the x86 assembler syntaxes for registers

11004 09/18/2013 03:50 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/taxon_observation.**/postprocess.sql: added sort_col (=identificationID) at beginning because column-based import will always sort a view by the first column, which may lead to slow query plans if the first column is not a joined table's pkey

11003 09/18/2013 02:04 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxon_observation.**/postprocess.sql: documented that there is no row_num because left-join to stemcount_, stemlocation_ adds rows to each taxonobservation_

11002 09/18/2013 02:03 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/taxon_observation.**/postprocess.sql: removed row_num (=identificationID), because there is actually more than one row per VegBank taxonobservation_, so this does not properly enumerate the view rows. this is because there is a 1:many left-join to stemcount_, stemlocation_ which adds rows to each taxonobservation_. since the row_num is gone, any row-subsetting of the view using OFFSET will always need to materialize the entire view up to the OFFSET value. this works for smaller datasources like VegBank that fit almost entirely into one column-based import chunk (1 million rows), but not for larger datasources like FIA where it would be much slower to materialize all preceding 16 million rows on the last chunk (which is what OFFSET normally does with left-joins).

11001 09/18/2013 01:51 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/taxon_observation.**/: generated header.csv and related files, which were previously not generated because the error in `rm header.csv` aborted the runscript

11000 09/17/2013 10:05 PM Aaron Marcuse-Kubitza

bugfix: lib/runscripts/*: calls to rm: use `rm -f` instead to avoid an error (which aborts the program) if the file does not yet exist

10999 09/16/2013 07:51 AM Aaron Marcuse-Kubitza

inputs/VegBank/: added taxon_observation.** left-join of the tables, using the steps at http://wiki.vegpath.org/Left-joining_a_datasource

10998 09/16/2013 07:48 AM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/create.sql: join starting with taxoninterpretation so that we can use the taxoninterpretation_id as the row_num (text strings, formed from concatenated #s cannot be used as a row_num). there is only 1 taxonobservation without a taxoninterpretation, so we can just include one row for each taxoninterpretation.

10997 09/16/2013 02:32 AM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/taxonobservation_/test.xml.ref: updated after reloading staging table. this fixed a bug where observationGranularity apparently either did not exist or was not the right type of constant column to be properly inlined the last time the tester was run. the inlining is important for using metadata switches to generate the correct XML import script.

10996 09/16/2013 12:13 AM Aaron Marcuse-Kubitza

bugfix: lib/sh/make.sh: don't allow rm to override remake if an invoked script uses this file. this fixes a bug in `rm=1 inputs/.../.../run` where the remake action would be invoked on the map_table command even though it had been suppressed, because it was run externally (i.e. make.sh was reloaded) and the rm=1 flag was still active

10995 09/15/2013 10:50 PM Aaron Marcuse-Kubitza

schemas/VegCore/ERD/VegCore.ERD.png.map.htm: reordered in dependency order: moved traceable before party because party is a subclass of it

10994 09/15/2013 10:02 PM Aaron Marcuse-Kubitza

bugfix: inputs/input.Makefile: `%/install: %/create.sql`: don't include %/header.csv as a target, so that it won't get deleted if the install fails (especially on a step that happens after the header is exported)

10993 09/15/2013 09:07 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/postprocess.sql: added primary key. note that the inserted row count changes, most likely because the rows are now in sorted order.

10992 09/15/2013 01:54 PM Aaron Marcuse-Kubitza

inputs/VegBank/stemcount_/postprocess.sql: added primary key. note that the inserted row count changes, most likely because the rows are now in sorted order.

10991 09/15/2013 01:27 PM Aaron Marcuse-Kubitza

bugfix: schemas/util.sql: mk_subset_by_row_num_func(): need explicit ORDER BY on the row_num_col, to prevent PostgreSQL from sorting the rows in reverse (they will be sorted because of the index scan, but the direction is otherwise indeterminate)

10990 09/15/2013 01:20 PM Aaron Marcuse-Kubitza

schemas/util.sql: mk_subset_by_row_num_func(): support tables whose pkeys don't start with 1 (such as the VegBank tables), by calculating the smallest row_num from the table

10989 09/15/2013 01:03 PM Aaron Marcuse-Kubitza

schemas/util.sql: offset2row_num(), limit2row_num(): added optional min_row_num, for tables whose serial pkeys start from a value other than 1

10988 09/15/2013 12:36 PM Aaron Marcuse-Kubitza

schemas/util.sql: added qual_name(regclass)

10987 09/15/2013 08:36 AM Aaron Marcuse-Kubitza

schemas/util.sql: added esc_name__append()

10986 09/15/2013 08:09 AM Aaron Marcuse-Kubitza

schemas/util.sql: added col__min()

10985 09/15/2013 07:34 AM Aaron Marcuse-Kubitza

schemas/util.sql: added limit2row_num() and use it in mk_subset_by_row_num_func() for clarity

10984 09/15/2013 07:26 AM Aaron Marcuse-Kubitza

schemas/util.sql: added offset2row_num() and use it in mk_subset_by_row_num_func() for clarity

10983 09/15/2013 07:25 AM Aaron Marcuse-Kubitza

bugfix: schemas/Makefile: `%/install: vegbien.sql`: when replacing public with the specified schema name, only perform the replacement if the schema is named something other than public. this prevents text like "public schema" inside comments from being "-escaped.

10982 09/15/2013 06:50 AM Aaron Marcuse-Kubitza

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

10981 09/15/2013 06:25 AM Aaron Marcuse-Kubitza

bugfix: /README.TXT: to backup files not in Time Machine: need to use -E option to sudo to preserve env, after installing the latest system update

10980 09/15/2013 05:47 AM Aaron Marcuse-Kubitza

schemas/VegCore/ERD/VegCore.ERD.png.map.htm: reordered in dependency order

10979 09/15/2013 05:40 AM Aaron Marcuse-Kubitza

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

10978 09/15/2013 05:17 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: party: added required name field

10977 09/15/2013 05:12 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: fixed table positions

10976 09/15/2013 05:09 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: event: added event_unique_within_parent, event_unique_within_place unique indexes

10975 09/15/2013 04:57 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: source: split into source and dataset tables, since many of the source fields (first_publisher, data_owners, contacts) were only applicable to datasets. note that a dataset is specifically something requiring attribution, while a source just indicates where something came from. non-dataset sources are useful e.g. as the taxon_concept.according_to.

10974 09/15/2013 03:48 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: source.owners: renamed to data_owners for clarity. documented that this is the parties who must be given attribution, such as copyrightholders.

10973 09/15/2013 03:39 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: source: allow multiple contacts

10972 09/15/2013 03:34 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: source: added contact (different from owners)

10971 09/15/2013 03:23 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: model options: templates for new column names, etc.: configured to our conventions (pkey is "id"; columns are unique within the table rather than being prefixed with the table name)

10970 09/15/2013 03:08 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: source: allow multiple data owners

10969 09/15/2013 03:04 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: documented that record is the record in the source data, and traceable is a row that can have associated source information

10968 09/15/2013 03:03 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: removed relationship table, because this is too general, and custom relationships between entities are better indicated in the applicable hstore extender field for the table in question. record: split into record and traceable tables, where record is instead the record in the source data, and traceable indicates that a row has associated source information.

10967 09/15/2013 02:36 AM Aaron Marcuse-Kubitza

bugfix: schemas/VegCore/VegCore.ERD.mwb: party_list_entry: use just a single id field as the primary key, because the pkey must be a single text string in order to uniquely identify the row by a global ID

10966 09/15/2013 02:25 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: party_list_entry: added role field

10965 09/15/2013 02:01 AM Aaron Marcuse-Kubitza

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

10964 09/15/2013 01:53 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: taxa_sampling_event: link directly to project, so that you don't have to search the parent event hierarchy to find the associated project

10963 09/15/2013 01:50 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: fixed table positions

10962 09/15/2013 01:48 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: spaced tables out more

10961 09/15/2013 01:36 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: taxon_occurrence: require all taxon_occurrences to have an associated within_place (which may be set to Earth if the coordinates/placename is unknown)

10960 09/15/2013 01:30 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: moved the plot table next the the section label for the plots half of the page

10959 09/15/2013 01:19 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: taxon_observation: allow any taxon_observation to link directly to a taxa_sampling_event, not just aggregate_observation. this allows any taxon_observation's methodology information to be found directly by joining to taxa_sampling_event. previously, one had to join to event.parent and then taxa_sampling_event, and it was not clear that event.parent would even be a taxa_sampling_event.

10958 09/15/2013 01:07 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: aggregate_observation: link to rather than being a taxa_sampling_event, because taxa_sampling_event was actually intended to be the container event in which various types of taxon_observations occur, rather than a type of taxon_observation itself. rearranged tables to avoid them covering any lines.

10957 09/14/2013 11:53 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: renamed GNRS & geovalidation steps to just geoscrubbing steps for clarity

10956 09/14/2013 11:48 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: taxon_occurrence: added within_place to allow easily locating all the taxon_occurrences in a plot. (some taxon_occurrences require within_place, but there was no common superclass field to allow joining to just a single table.)

10955 09/14/2013 11:24 PM Aaron Marcuse-Kubitza

schemas/VegCore/ERD/VegCore.ERD.png.map.htm: moved reobservable tables (individual, specimen, etc.) before aggregate_observation tables because these are less abstract

10954 09/14/2013 11:21 PM Aaron Marcuse-Kubitza

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

10953 09/14/2013 11:15 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: individual_count: inherit from taxon_presence because this is also a type of taxon_observation (and specifically, a taxon_presence), in addition to the general taxon_presence it's associated with. it is possible e.g. for different diameter classes to be counted by different collectors, and thus to need separate taxon_observations to store the different collectors.

10952 09/14/2013 11:07 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: added taxon_occurrence to store the underlying occurrence for each taxon_observation. we cannot use reobservable for this because not all taxon_observations are reobservable, but the one-time observations still have an associated occurrence. moved reobservable.current_determination to taxon_occurrence and renamed it to current_observation (this can be used to find the latest observation for each occurrence).

10951 09/14/2013 09:47 PM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: added spacing between later column and weeks to make clear that dots in the later column do not correspond to a week

10950 09/14/2013 09:26 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/: renamed to taxon_observation.** to clarify what an occurrence is. taxon_observation has the same meaning as in VegCore, where each taxon_determination is considered a separate taxon_observation of the associated specimen or vouchered plant (vegpath.org/VegCore/ERD/). (note that having multiple taxon_determinations only makes sense when there is something to reobserve.) the .** is SQL dotpath syntax (wiki.vegpath.org/SQL_dotpaths) for the recursive expansion of all tables to which taxon_observation has forward fkeys (i.e. "the left-join").

10949 09/14/2013 09:01 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/postprocess.sql: use :table_str var instead of hardcoding the table name as occurrence_all, to avoid needing to change this file when renaming the view

10948 09/14/2013 05:38 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/postprocess.sql: renamed occurrence_all--row_num to just row_num because this is for the entire view, rather than a specific table in it, and thus does not need a disambiguating table prefix. this also avoids embedding the view name in its own columns.

10947 09/14/2013 04:34 PM Aaron Marcuse-Kubitza

inputs/FIA/*/map.csv: use -- to separate the table and column name instead of - , to conform with the u-name format (wiki.vegpath.org/u-name#format), which works even when only one of _- can be used in the name. -s are needed in this case to linewrap the column on a separate line as the table in phpPgAdmin.

10946 09/14/2013 04:20 PM Aaron Marcuse-Kubitza

lib/runscripts/datasrc_dir.run: added postprocess target to run postprocess in just the table subdirs, skipping any additional subdirs that don't have this target

10945 09/14/2013 04:19 PM Aaron Marcuse-Kubitza

lib/runscripts/datasrc_dir.run: @subdirs: moved import_order.txt subdirs into separate @table_subdirs, which provides access to just the table subdirs when the user adds other dirs to @subdirs

10944 09/12/2013 06:43 PM Aaron Marcuse-Kubitza

inputs/VegBank/: prepended the table name to each column name to prevent column collisions, using the steps at http://wiki.vegpath.org/Left-joining_a_datasource

10943 09/12/2013 06:17 PM Aaron Marcuse-Kubitza

inputs/VegBank/: switched to new-style import, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource

10942 09/12/2013 06:13 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/stemlocation_/map.csv: put columns in table order, which is needed by new-style import

10941 09/12/2013 05:57 PM Aaron Marcuse-Kubitza

inputs/VegBank/stemlocation_/: translated one-to-many mappings to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10940 09/12/2013 05:49 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/taxonobservation_/map.csv: put columns in table order, which is needed by new-style import

10939 09/12/2013 05:26 PM Aaron Marcuse-Kubitza

bugfix: inputs/VegBank/plot_/postprocess.sql: coordinateUncertaintyInMeters: need to use GREATEST instead of _alt() to handle cases where the coordinate uncertainty is > than the fuzzing uncertainty, where you wouldn't want to just use the smaller fuzzing uncertainty

10938 09/12/2013 05:20 PM Aaron Marcuse-Kubitza

inputs/VegBank/plot_/: translated multi-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10937 09/12/2013 05:11 PM Aaron Marcuse-Kubitza

inputs/VegBank/plot_/postprocess.sql: map_*() derived cols: updated runtime

10936 09/12/2013 05:10 PM Aaron Marcuse-Kubitza

inputs/VegBank/plot_/: translated single-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10935 09/12/2013 04:36 PM Aaron Marcuse-Kubitza

inputs/VegBank/stemcount_/: translated multi-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10934 09/12/2013 04:31 PM Aaron Marcuse-Kubitza

inputs/VegBank/stemlocation_/: translated multi-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10933 09/12/2013 04:30 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/postprocess.sql: scientificName: recorded runtime (15 s)

10932 09/12/2013 04:15 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/: translated multi-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10931 09/12/2013 04:14 PM Aaron Marcuse-Kubitza

inputs/VegBank/taxonobservation_/: translated multi-column filters to postprocessing derived columns, using the steps at http://wiki.vegpath.org/Adding_new-style_import_to_a_datasource#Translating-filters-to-postprocessing-derived-columns

10930 09/12/2013 03:37 PM Aaron Marcuse-Kubitza

inputs/FIA/occurrence_all/postprocess.sql: use much simpler LEFT JOINs instead of nested RIGHT JOINs, which required lots of () to get them to happen in the right order. note that the columns are now provided in reverse instead of forwards path order, but this is still much clearer than the nested mess of RIGHT JOINs. this approach can also be used to simplify VegBank's joins.

10929 09/12/2013 03:34 PM Aaron Marcuse-Kubitza

bugfix: lib/runscripts/view.run: remake_VegBIEN_mappings(): also need to remake header.csv, not just map.csv as for tables, because view columns may change when the view is regenerated

10928 09/12/2013 02:42 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: specimen: changed definition to "something collected from a plant" rather than just "a physical part of a plant", to support using this table for identifying pictures and descriptions of a plant (as DwC does)

10927 09/12/2013 02:28 PM Aaron Marcuse-Kubitza

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

10926 09/12/2013 02:24 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: reobservable_presence: allow it to be vouchered by any reobservable element (including a tagged individual), not just a specimen

10925 09/12/2013 02:01 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: specimen.defining_data: clarified that the observations in this are actually a subset of individual_observation.traits (specifically, the subset that can be used to make a taxonomic redetermination). information in this field should therefore always also be stored in individual_observation.traits.

10924 09/12/2013 01:54 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: specimen: added specimen_unique_in_individual_observation unique constraint, analogous to specimen_unique_in_individual

10923 09/12/2013 01:34 PM Aaron Marcuse-Kubitza

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

10922 09/12/2013 01:29 PM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: specimen: added defining_data, which for a digital-only specimen, stores the information that comprises the specimen. note that a taxon_presence without a physical voucher can still qualify as reobservable if a detailed description of it is provided in this field, to make taxonomic redeterminations on. for datasources like VegBank, which incorrectly allow multiple taxon_determinations for any type of taxon_observation, their taxonomic redeterminations would actually be considered invalid if made on a purely taxon_presence observation (i.e. just a taxon name) without a detailed description that could be used to make a redetermination. this is different than the scrubbing of a taxon name, which relates a taxon name to another taxon name, rather than a taxon_observation to a completely different taxon name.

10921 09/12/2013 12:35 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/util.sh: set_fds(): don't add surrounding quotes to empty redirect dest

10920 09/12/2013 12:31 PM Aaron Marcuse-Kubitza

bugfix: lib/sh/util.sh: set_fds(): need to check if redirect is empty before escaping it with `printf %q`, which may add surrounding quotes to an empty string

10919 09/12/2013 11:40 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: attribution and conditions of use: documented that Brad/Brian/Bob should work on this, as decided in the conference call (wiki.vegpath.org/2013-09-12_conference_call#data-provider-metadata)

10918 09/12/2013 05:47 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: reformatted to fit all rows and all per-week columns on one page

10917 09/12/2013 05:30 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: streamline process of mapping and adding a new datasource: added subtask to create interactive scripts for each import step

10916 09/12/2013 05:15 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: improve and complete data provider metadata: moved to end because this can also been added manually to the source table, and does not have to be in place before running column-based import

10915 09/12/2013 05:09 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: flatten the datasources to a common schema: added subtask to left-join unvalidated datasources since they need the flattening in order to validate them properly

10914 09/12/2013 04:21 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: rebalanced dots

10913 09/12/2013 04:15 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: moved items marked later to separate section at bottom

10912 09/12/2013 04:13 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: moved revisions to schema under datasource validations because schema changes are largely driven by validations problems uncovered

10911 09/12/2013 04:12 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: split tasks into weeks

10910 09/12/2013 03:47 AM Aaron Marcuse-Kubitza

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

10909 09/12/2013 03:35 AM Aaron Marcuse-Kubitza

planning/timeline/timeline.2013.xls: split months into (currently identical) weeks