VegX-VegBIEN mapping: Took advantage of userdefined.userdefinedtype being optional
vegbien.sql: Gave userdefined.userdefinedtype a default value
VegX-VegBIEN mappings: Took advantage of plantconcept.reference_id becoming optional
vegbien.sql: Made plantconcept.reference_id optional. Merge plantconcepts with no reference_id when eliminating duplicates.
PostgreSQL-MySQL.csv: Deal with all non-NOT NULL timestamp fields
vegbien.sql: Removed confusing plantconcept.plantname field since we are using plantname.plantname instead
VegBIEN: Renamed aux_role to role
VegX-VegBIEN mappings: Took advantage of several fields becoming optional
Regenerated vegbien.ERD exports
vegbien.sql: taxonbinmethod points to stratumtype instead of stratum because stratumtype is a method table, but stratum is a measurements table. stratum does not point directly to stratummethod because it points to it via stratumtype.
vegbien.sql: Made taxondetermination.determinationdate optional because some determinations might not have a date
vegbien.sql: Added specimen.authorspecimencode
Adjusted vegbien.ERD.mwb
VegBIEN: Renamed sourceaccessionnumber to sourceaccessioncode to show that they are the data source's analog of accessioncode. Added sourceaccessioncode to all applicable tables because this is the database pkey, which is distinct from any author*code applied by the collector.
vegbien.sql: Changed taxonbinmethod_keys to UNIQUE INDEX to take advantage of COALESCE for dealing with NULL values
vegbien.sql: Renamed taxonbin to taxonbinmethod to reflect that it does not contain actual organisms (those go in aggregateoccurrence), but rather defined a method of aggregating organisms
vegbien.sql: Removed taxonbin.count because that belongs in aggregateoccurrence and taxonbin is more similar to a sampling method. Added taxonbin UNIQUE constraint.
vegbien.sql: Do location duplicate elimination independently on code or lat/long, allowing duplicate entries with NULLs to exist when a location is incompletely specified
vegbien.sql: Require location to have either an authorlocationcode or a lat/long. Distinguish between regular and subplots in UNIQUE constraint.
vegbien.sql: Renamed location.latitude and longitude to publiclatitude, publiclongitude to reflect that they are not the actual lat/long. Switched to requiring reallatitude/reallongitude.
Added inputs/TurboVeg
vegbien.ERD.mwb: Deal with MySQL assuming that a timestamp field is NOT NULL
PostgreSQL-MySQL.csv: Deal with MySQL assuming that a timestamp field is NOT NULL
vegbien.sql: Made specimen.taxonoccurrence_id required
vegbien.sql: Made several fields optional, adding defaults where needed
PostgreSQL-MySQL.csv: Deal with PostgreSQL-style :: casts
NYBG mappings: Add mapping for CollectorNumber to specimen.collectornumber_dwc
vegbien.sql: Added specimen.collectornumber_dwc
VegBIEN: Renamed sourceid to author*code
mappings: Map ScientificNameAuthor to plantconcept with rank author
vegbien.sql: Removed sizeclass.*precision fields
vegbien.sql: Added count field to taxonBin
VegBIEN: Renamed place to locationplace
vegbien.sql.make: Exclude 'CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql' to avoid restore errors
repl: When matching words, treat _ as word boundary and ignore case.
VegBIEN: Renamed individualplant.height to overallheight
PostgreSQL-MySQL.csv: Convert double quotes to backticks (`)
vegbien.for_ERD.sql: Fixed syntax error in stratum table
vegbien.sql: Renamed sizeclass.*accuracy to *precision to reflect intended purpose
vegbien.sql: Added stem.diameteraccuracy
vegbien.sql: Removed taxonoccurrence.currentdetermination_id and originaldetermination_id because it's not possible to create a two-way pointer when the child-to-parent pointer is required (chicken-and-egg problem)
README.TXT: Added make empty_db
vegbien.sql: Added taxonoccurrence.currentdetermination_id and originaldetermination_id
vegbien.ERD.mwb: Added stratum and place tables
Added vegbien.ERD.png
Added vegbien.ERD.svg
Added vegbien.ERD.pdf
Added vegbien ERD
Ignore *.bak in schemas
VegBIEN: specimen links directly to taxonoccurrence rather than indirectly via individualplant
vegbien.sql: Made voucher fields NOT NULL
vegbien.sql: Added voucher table
Create schemas/vegbien.for_wiki.sql from schemas/vegbien.for_ERD.sql
Added lib/ERD-wiki.csv to convert ERD SQL to human-readable wiki format
schemas/vegbien.for_ERD.sql: Removed VegBank-internal fields from taxonoccurrence
Removed no longer needed schemas/vegbien.my.sql
PostgreSQL-MySQL.csv: Use \g<0> instead of \0 in replacements because \0 not supported. Replace fulltext with fulltext__ (note fulltext_ doesn't work).
Added schemas/vegbien.for_ERD.sql and generated MySQL
Regenerated schemas/vegbien.for_ERD.sql
PostgreSQL-MySQL.csv: Deal with serial NOT NULL fields
Generate MySQL DDL schemas/vegbien.my.sql from vegbien.sql
Added repl spreadsheet to map PostgreSQL DDL to MySQL
Ignore src subdirectories in inputs
VegBIEN: Use stem instead of individualplant to store diameter/dbh
vegbien.sql: Removed no longer needed taxondetermination.plantname_id
VegBIEN: Made taxondetermination.plantconcept_id required and plantname_id optional
vegbien.sql: Added specimen.taxonoccurrence_id fkey
vegbien.sql: Removed no longer needed taxondetermination.individualplant_id, specimen_id fields
VegBIEN: Renamed plot to location to reflect that a location can also be used for specimens
vegbien.sql: Added individualplant.stemcount
vegbien.sql: Added accessioncode fields to existing, modified tables
vegbien.sql: Added accessioncode fields to new tables
vegbien.sql: Removed no longer needed individualplant.taxonarea
VegBIEN: Moved taxondetermination.sourceaccessionnumber and museum_id to specimen
vegbien.sql: Split taxondetermination UNIQUE CONSTRAINT into one constraint for each main key (taxonoccurrence_id, specimen_id, individualplant_id) to deal with Postgres treating a row with NULL in any of those columns as distinct. Added CHECK constraint to require one of taxonoccurrence_id, specimen_id, individualplant_id to be NOT NULL.
VegBIEN: Renamed museumaccessionnumber to sourceaccessionnumber
VegBIEN: Renamed authorcode to sourceid
vegbien.sql: Updated sizeclass to use ranges for parameters and remove taxonarea
input.Makefile: Fixed verify by making %.out: % rule use %.make instead
input.Makefile: Moved verifications into one set of verify.* files
input.Makefile: All tests are run in the same transaction, with output to test.out
bin/map: Added support for processing multiple map_paths at once in the same transaction
SALVIAS organisms mapping: Removed redundant PlotCode mapping because the association to plotevent is done with PlotID
bin/map: Started adding support for multiple map_paths, all run in the same db transaction
Filled in SALVIAS stems mappings. make test2's stems test fails because we don't wrap the import transaction around all the tests so that organisms are already in the database when stems are imported.
mappings/Makefile: Corrected stemobservation to stem
Use baseDistance/complexUserDefined/method to distinguish between different dbhs in VegX
VegX mappings: Use baseDistance/value instead of baseDistance so we can later use complexUserDefined to distinguish between different types of dbh
VegX-VegBIEN.organisms.csv: Added initial stems mappings
mappings/Makefile: Updated VegX-VegBIEN.stems.csv input/output roots
ch_root: Deal with roots followed by something other than \b