schemas/util.sql: lat_long_in_new_world(): use function rather than operator+search_path to allow inlining, which enables util.new_world() to only be evaluated once
bugfix: schemas/util.sql: operator @(postgis.geography, postgis.geography): must use wrapper function because st_coveredby() needs postgis to be in the search_path
fix: schemas/util.sql: point(): hide benign "Coordinate values were coerced into range [-180 -90, 180 90] for GEOGRAPHY" notices
schemas/public_.sql: 2014-6-12.Jeff_Ott.climatic_range_determinants: also include New World occurrences by coordinates, using new lat_long_in_new_world(). this modification (as requested by Jeff) will help reduce the false negatives filtered out by including only data with placenames.
schemas/public_.sql: added lat_long_in_new_world() wrapper around util.lat_long_in_new_world()
schemas/util.sql: lat_long_in_new_world(): documented that this includes false positives above and below the New World bounding box, as described in util.bounding_box()
schemas/util.sql: bounding_box(): documented that the geography type stores all edges as arcs of great circles, resulting in the latitude lines bulging outward from the true bounding box. this will create false positives above and below the bounding box.
schemas/util.sql: added lat_long_in_new_world()
schemas/util.sql: added operator @(postgis.geography, postgis.geography). can't use && for this because it only compares 2D bounding boxes (which are geometry objects that do not support geocoordinate wraparound).
schemas/util.sql: added point()
schemas/util.sql: new_world(): removed no longer needed cast to postgis.geography
bugfix: schemas/util.sql: bounding_box(): must use postgis.geography (instead of postgis.geometry) because that handles geocoordinate wraparound correctly
bugfix: schemas/util.sql: bounding_box(): need to explicitly set SRID to make sure the correct value is used
bugfix: schemas/util.sql: bounding_box(): use st_makeenvelope() instead of st_makebox2d() because st_makebox2d() doesn't support geocoordinate wraparound (it is not SRID-aware)
schemas/util.sql: new_world(): removed no longer needed cast to postgis.geometry
schemas/util.sql: bounding_box(): return postgis.geometry instead of postgis.box2d because box2d is not directly used in postgis functions
schemas/util.sql: added new_world()
bugfix: schemas/util.sql: bounding_box(): use util.range instead of numrange to support wraparound ranges for geocoordinates
schemas/util.sql: range(numeric, numeric): use util.range instead of numrange to support wraparound ranges (which use a modulus system such as geocoordinates)
schemas/util.sql: added `range` type (and cast to numrange), which allows wraparound ranges such as for geocoordinates
schemas/util.sql: bounding_box(): documented usage
schemas/public_.sql, inputs/.TNRS/schema.sql: upgraded to Postgres 9.3.4 format, which removes trailing " "
schemas/util.sql: added bounding_box()
schemas/util.sql: range(numeric, numeric): use simpler numrange() constructor instead of text input syntax
schemas/util.sql: operator functions: renamed to plain-text names to follow the Postgres convention of making the function name be the human-readable name of the operator
schemas/util.sql: added ~ operator for ranges
schemas/public_.sql: 2014-6-12.Jeff_Ott.climatic_range_determinants: allow geovalid_bien = NULL to enable filtering New World status by coordinates rather than country
schemas/public_.sql: 2014-6-12.Jeff_Ott.climatic_range_determinants: added geovalid_bien
schemas/VegCore/.htaccess: RewriteBase: use full path
schemas/VegBIEN/: moved Redmine/, TWiki/ to web/BIEN3/ since they relate to the BIEN3 project as a whole, not just the database
merged inputs/VegBIEN into schemas/VegBIEN, since for the purposes of the data dictionary URLs, VegBIEN is primarily an exchange schema
schemas/VegBIEN/taxonomy/: moved into schemas/VegBIEN/planning/
schemas/VegBIEN/attribution/: moved into schemas/VegBIEN/planning/
added schemas/VegBIEN/data_dictionary/create_bien3_viewFullOccurrence.txt from Brad
schemas/VegBIEN/growth_forms/: moved into schemas/VegBIEN/planning/
added schemas/VegBIEN/data_dictionary/schema_docum.pptx from Brian McGill
schemas/VegBIEN/VegBIEN data dictionary.xlsx: moved to schemas/VegBIEN/data_dictionary/
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: analytical_stem_view: approved by/to discuss: renamed to * (removing "approved by") because the participants in today's conference call indicated that they were happy with the definitions, and the issues raised before the call had been addressed
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added all tables used to create analytical_stem_view, not just those that Brian M listed. (Brian M generated his tables list from the analytical_stem_view columns rather than the joins, and renamed plot.** to plot, which is why his list ended up missing tables and in the wrong order.)
schemas/vegbien.sql: added 2014-6-12.Jeff_Ott.climatic_range_determinants (wiki.vegpath.org/Data_requests)
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: resized columns to fit laptop screen
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added my and Brian McGill's notes from the data dictionary conference call
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added analytical_stem_view table definitions
removed schemas/vegbien.ERD.MySQL_Workbench_6.1.6.mwb, because vegbien.ERD.mwb is now targeted to the correct version of MySQL Workbench (and is more up-to-date)
schemas/public_.sql: analytical_stem_view: applied data dictionary renamings, using the steps at wiki.vegpath.org/VegBIEN_schema_refactoring#apply-data-dictionary-renamings-to-database
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added "to discuss" column requested by Martha. resized columns to avoid truncating the viewFullOccurrence term names.
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: finished populating definitions of terms
added schemas/DwC/hist symlink to history/ to help fit URLs in the 63-char limit
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: finished populating viewFullOccurrence->analytical_stem_view and analytical_stem_view->viewFullOccurrence mappings
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: use new deletion comments (with () ) to indicate portions of external terms whose semantic meaning does not apply to our usage
web/username_prefix.php: comments: use [] instead of () because in writing, [] denotes insertion, while () (as an editing mark) denotes something to remove
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: removed extra rows and columns so that they aren't included when copying and pasting
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added tab to store viewFullOccurrence->analytical_stem_view mapping
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added viewFullOccurrence column
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: added links to editable and clickable versions of the spreadsheet, to enable switching back and forth between them. populated more definitions and links.
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: populated some definitions from VegCore data dictionary where available
bugfix: schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: restored "" that had been stripped out when the data was copied out and pasted back, due to a bug in Google spreadsheets. prepended : before initial " as a workaround to prevent the " getting stripped out again.
schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated
fix: schemas/VegBIEN/VegBIEN data dictionary.xlsx: updated: restored "" that had been stripped out when the data was pasted in. set column widths to fit on a laptop screen.
added schemas/VegBIEN/VegBIEN data dictionary.xlsx
schemas/public_.sql: analytical_stem_view: example terms from each source: added location in the VegBIEN core DB
schemas/public_.sql: analytical_stem_view: terms in normalized schemas: put the source name right next to the term name (instead of after the table name) so it's easy to find
schemas/public_.sql: analytical_stem_view: VegX terms: populated definitions
schemas/public_.sql: analytical_stem_view: VegX terms: referenced to the specific table/subpath that they are in
bugfix: schemas/public_.sql: analytical_stem_view: locationName: re-sourced to VegX because this is actually not a DwC term
schemas/public_.sql: analytical_stem_view: populated definitions of linked DwC terms from DwC data dictionary
schemas/public_.sql: analytical_stem_view: renamed terms to link URLs, using the steps at wiki.vegpath.org/VegBIEN_schema_refactoring#data-dictionary-rename-terms-to-link-URLs
inputs/.TNRS/schema.sql: unsafe_taxon_names(): removed the name with "spp." now that this TNRS bug (https://pods.iplantcollaborative.org/jira/browse/TNRS-193) has been fixed
schemas/public_.sql: analytical_stem_view: populated links from unrenamed term names, using the steps at wiki.vegpath.org/VegBIEN_schema_refactoring#data-dictionary-populate-links-from-unrenamed-term-names
fix: schemas/public_.sql: analytical_stem_view: links: removed = before them because the link is in fact one member in a list of definitions (the = would apply to all definitions, not just the link, and since it apply to all definitions, it's redundant because of course the comment is what the column equals)
fix: schemas/public_.sql: analytical_stem_view: vegpath.org links: use ; instead of : between link and definition, because it makes more grammatical sense
schemas/public_.sql: analytical_stem_view: vegpath.org links: removed no longer needed // suffix
schemas/public_.sql: analytical_stem_view: added links and definitions for half a dozen of the terms from various sources
schemas/public_.sql: analytical_stem_view: indicated provenance of the rest of the terms
schemas/public_.sql: analytical_stem_view: flagged the DwC terms
schemas/public_.sql: added plot.**.modify()
inputs/.TNRS/schema.sql: *_modify(): removed the need to manually maintain copies of the dependent view definitions with the *s in place, because the *s are now added automatically by view_def_to_orig()
fix: schemas/util.sql: view_def_to_orig(): also need to merge .* expressions resulting from a SELECT * of a join, to avoid duplicated columns
fix: schemas/util.sql: view_def_to_orig(): require at least 6 cols to avoid false positives in the expansion match pattern
bugfix: schemas/util.sql: view_def_to_orig(): 1st col: can't prepend \y because it considers only \w chars, not "
bugfix: schemas/util.sql: view_def_to_orig(): don't match whitespace in the middle of a "" identifier, as this could throw off the parser
schemas/util.sql: eval(): restore user's intent by running util.view_def_to_orig() on the query to unexpand expanded * expressions
schemas/util.sql: pg_get_viewdef(): use util.view_def_to_orig()
schemas/util.sql: added view_def_to_orig()
fix: schemas/util.sql: pg_get_viewdef(): should be STABLE because it references system catalogs
schemas/util.sql: added pg_get_viewdef() wrapper, which unexpands expanded * expressions
fix: schemas/public_.sql: tnrs_input_name: added ORDER BY to ensure a stable sort order. this also creates better query plans by enabling merge joins.
bugfix: schemas/public_.sql: tnrs_input_name: need to exclude unsafe taxon names as a workaround to #935 (TNRS crashes when scrubbing names with two infraspecific epithets)
schemas/public_.sql: taxonlabel: added index on taxonomicname to facilitate retrieving rows from tnrs_input_name
inputs/.TNRS/schema.sql: added taxon_name_is_safe()
inputs/.TNRS/schema.sql: added unsafe_taxon_names()
schemas/public_.sql: sync_*(): renamed to *_modify() to facilitate finding these functions when modifying the corresponding view (using the new naming convention for a view's on-modify function)
bugfix: inputs/.TNRS/schema.sql: MatchedTaxon_modify(): updated to include taxon_scrub derived fields
bugfix: schemas/util.sql: mk_drop_from_create(): need to match first rather than last CREATE
inputs/.TNRS/schema.sql: *_modify(): allow running without a view_query, as recreate_view() now supports this
schemas/util.sql: recreate_view(): support omitting the view_query if the view has already been modified (eg. for public.*_view, which allow changing the view as a separate step)
fix: schemas/public_.sql: sync_*(): use util.copy() instead of CREATE TABLE AS so that table and column comments are also copied. this avoids the need to separately add the same comments to the view and its materialized table.