Activity
From 01/01/2012 to 01/30/2012
01/30/2012
- 07:14 PM Revision 762: inputs/NYBG: Map via DwC instead of VegX
- 07:12 PM Revision 761: mappings/DwC-VegBIEN.specimens.csv: Provide schema URLs for namespaces (in the column header)
- 07:11 PM Revision 760: input.Makefile: Deal with core maps (the main *-VegBIEN map) whose roots are other than organisms
- 07:09 PM Revision 759: bin/map: In the xml_func.process() for XML outputs, pass an on_error that outputs to ex_tracker.track()
- 07:08 PM Revision 758: xpath.py: set_id(): Deal with XPaths with an
- 07:07 PM Revision 757: xml_dom.py: replace_with_text(): Accept Node inputs for cases where e.g. an XML func with an error has been replaced with a comment
- 07:06 PM Revision 756: xml_func.py: _date: Year defaults to 1900
- 05:18 PM Revision 755: DwC-VegBIEN.specimens.csv: Output DwC as XML instead of CSV
- 05:05 PM Revision 754: xpath.py: Allow XPath names to be quoted literals, just like values. Handle : embedded in a name (even without quotes), often indicating a namespace.
- 04:55 PM Revision 753: Removed no longer needed lib/ERD-wiki.csv
- 04:54 PM Revision 752: Parser.py: In syntax errors, only print <END> at end of string if error was *at* end of string
- 04:50 PM Revision 751: bin/map: Print error message rather than assertion failure for CSV output, which isn't supported yet
- 04:47 PM Revision 750: input.Makefile: Don't abort tester if via test fails, because CSV output is not supported yet
- 04:02 PM Revision 749: input.Makefile: Deal properly with more than one format that's being mapped via (e.g. DwC and VegX)
- 03:49 PM Revision 748: Renamed mappings/DwC-VegBIEN.organisms.csv back to mappings/DwC-VegBIEN.specimens.csv because it now uses /specimenreplicate as the output root
- 03:43 PM Revision 747: Renamed mappings/DwC-VegBIEN.organisms.csv back to mappings/DwC-VegBIEN.specimens.csv because it now uses /specimenreplicate as the output root
- 03:41 PM Revision 746: mappings/DwC-VegBIEN.organisms.csv: Fixed syntax error in a mapping
- 03:35 PM Revision 745: mappings/DwC-VegBIEN.organisms.csv: Sorted
- 03:34 PM Revision 744: mappings/Makefile: Sort DwC-VegBIEN.organisms.csv
- 03:33 PM Revision 743: inputs/NYBG/maps/VegBIEN.organisms.csv: Regenerated
- 03:12 PM Revision 742: mappings/DwC-VegBIEN.organisms.csv: Sort on output column
- 03:04 PM Revision 741: Renamed mappings/DwC-VegBIEN.specimens.csv to DwC-VegBIEN.organisms.csv because it (currently) uses /taxonoccurrence as the output root
- 03:03 PM Revision 740: Renamed mappings/DwC-VegBIEN.specimens.csv to DwC-VegBIEN.organisms.csv because it (currently) uses /taxonoccurrence as the output root
- 03:01 PM Revision 739: Makefile: Support recursing into subdir when no target is specified (e.g. make mappings/)
- 02:55 PM Revision 738: union: Merge rows (and column labels) using maps.merge_mappings()
- 02:51 PM Revision 737: join: Merge the column labels as well
- 02:51 PM Revision 736: maps.py: Eliminate duplicates when merging values in the same column
- 02:06 PM Revision 735: join: Moved mappings-specific merge functionality into maps.merge_mappings()
- 01:55 PM Revision 734: join: Use merge_rows() from new maps.py
- 01:54 PM Revision 733: Added new library maps.py for map spreadsheet manipulation
- 01:38 PM Revision 732: join: Merge comments of input map and join map
- 01:37 PM Revision 731: join: Report which input mappings are missing a mapping in the join map
- 01:03 PM Revision 730: join: Report which input mappings are missing a mapping in the join map
- 12:28 PM Revision 729: inputs/NYBG/maps/VegX.organisms.csv: Added note that the primary key has NULL values in some rows
- 12:24 PM Revision 728: input.Makefile: Preserve as many intermediate files as possible (make likes to delete intermediates if they aren't marked as .PRECIOUS)
- 11:46 AM Revision 727: sort: Sort empty strings last so that inputs with no mapping go at the end of the map spreadsheet
- 11:24 AM Revision 726: VegBIEN-VegBank.csv: Updated for recent table renames
- 11:21 AM Revision 725: join: For input mappings with no match in the join map, include them in the output map with an empty mapping
- 11:05 AM Revision 724: input.Makefile: Generalized to handle mapping via any format, not just VegX
- 10:44 AM Revision 723: input.Makefile: Don't print message to accept output for failing 2-step tests, because they use another test's accepted output
01/28/2012
- 06:02 PM Revision 722: input.Makefile: Don't abort tester if only 2-step test fails, as it's often finicky
- 05:55 PM Revision 721: xml_func.py: Raise xml_func.SyntaxException for ValueErrors generated by date.strftime() (e.g. year out of range due to poor Y2K support in some OS implementations of strftime)
- 05:51 PM Revision 720: xml_func.py: Raise xml_func.SyntaxException for ValueErrors generated by datetime.date() (e.g. month out of range)
- 05:46 PM Revision 719: vegbien.sql: Added project.reference_id to namespace project names by datasource
- 05:39 PM Revision 718: input.Makefile: Import all tables at once by default
- 05:11 PM Revision 717: bin/map: Print "Inserted ... new rows into database" message to stdout rather than stderr so it can be stored in the test case output as a validation check
- 05:08 PM Revision 716: Accepted initial test output for NYBG/test/import.out.ref
- 05:06 PM Revision 715: bin/map: Clean up datasource input values
- 05:06 PM Revision 714: strings.py: Added std_newl() to convert line endings and cleanup() to process strings with extra or nonstandard whitespace
- 04:46 PM Revision 713: PostgreSQL-MySQL.csv: Deal with custom types
- 04:36 PM Revision 712: vegbien.sql: Added aggregateoccurrence.occurrencestatus_dwc field
- 04:22 PM Revision 711: Regenerated vegbien.ERD exports
- 04:21 PM Revision 710: vegbien.ERD.mwb: Added commclass table to ERD
- 04:11 PM Revision 709: vegbien.sql: Removed direct pointer from location to namedplace because locationplace already has this relationship and we don't want to have an extra pointer just for duplicate elimination
- 03:56 PM Revision 708: vegbien.ERD.mwb: Added stratummethod to ERD
- 03:53 PM Revision 707: vegbien.sql: Removed locationevent.stratummethod_id because the stratummethod is a per-stratum (or technically, per-stratumtype) field
- 03:28 PM Revision 706: PostgreSQL-MySQL.csv: Remove CHECK constraints
- 03:20 PM Revision 705: PostgreSQL-MySQL.csv: Remove functions and triggers
- 03:13 PM Revision 704: vegbien.sql: Ensure that aggregateoccurrence.count == 1 when the aggregateoccurrence has a plantobservation. Use a trigger to do this automatically.
- 02:51 PM Revision 703: README.TXT: Added command for reimporting data
- 02:48 PM Revision 702: README.TXT: Added instructions to sync ERD with vegbien.sql schema. Organized commands into categories.
- 02:23 PM Revision 701: Regenerated vegbien.ERD exports
- 02:22 PM Revision 700: Added BIEN_logo.png
- 02:19 PM Revision 699: vegbien.ERD.mwb: Added color group legend
- 01:59 PM Revision 698: Regenerated vegbien.ERD exports
- 01:58 PM Revision 697: vegbien.ERD.mwb: Fixed lines
- 01:57 PM Revision 696: Regenerated vegbien.ERD exports
- 01:57 PM Revision 695: vegbien.ERD.mwb: Fixed lines and moved plant to its own color category
- 01:52 PM Revision 694: vegbien.ERD.mwb: Added colors to ERD
- 01:34 PM Revision 693: vegbien.ERD.mwb: Simplified diagram by removing column types
- 12:56 PM Revision 692: schemas/Makefile: Don't generate for_ERD DDLs because the ERD is now synced with the full schema
- 12:54 PM Revision 691: vegbien.ERD.mwb: Synced with whole schema
- 12:54 PM Revision 690: vegbien.sql: Reordered fields in tables truncated in the ERD so that all removed fields are at the end of the table
- 12:44 PM Revision 689: schemas/Makefile: Generate MySQL version of vegbien.sql as well as vegbien.for_ERD.sql for eventual use in syncing the ERD with the whole schema
- 12:43 PM Revision 688: PostgreSQL-MySQL.csv: Added translations for syntaxes used by pg_dump
- 12:41 PM Revision 687: PostgreSQL-MySQL.csv: Added translations for syntaxes used by pg_dump
- 12:40 PM Revision 686: repl: All regexps are by default in multiline and ignore case mode
01/27/2012
- 04:59 PM Revision 685: Regenerated vegbien.ERD exports
- 04:59 PM Revision 684: vegbien.sql: Made planttag a child of plantobservation instead of plant, since tags change over time
- 04:39 PM Revision 683: Regenerated vegbien.ERD exports
- 04:37 PM Revision 682: vegbien.sql: Removed no longer used plantobservation.aggregateoccurrence_id
- 04:35 PM Revision 681: VegX-VegBIEN mapping: Link aggregateoccurrence to plantobservation via forward pointer rather than backward child-to-parent pointer
- 04:32 PM Revision 680: vegbien.sql: Made plantobservation.aggregateoccurrence_id optional because link will soon be going in the other direction
- 04:25 PM Revision 679: vegbien.sql: Removed taxonbinmethod table since its fields are now in aggregateoccurrence
- 04:14 PM Revision 678: vegbien.sql: Added taxonbinmethod fields to aggregateoccurrence
- 04:10 PM Revision 677: vegbien.sql: Added back aggregateoccurrence.stratum_id
- 04:05 PM Revision 676: vegbien.sql: Added stratum.area
- 04:03 PM Revision 675: vegbien.sql: Removed denormalized duplicate fields from stratum
- 03:58 PM Revision 674: vegbien.sql: Added plant and planttag tables
- 03:43 PM Revision 673: VegBIEN: Renamed stem to stemobservation
- 03:35 PM Revision 672: vegbien.sql: Removed specimenreplicate:taxonoccurrence 1:1 requirement
- 03:32 PM Revision 671: VegBIEN: Renamed individualplant to plantobservation
- 03:22 PM Revision 670: vegbien.sql: Updated table comments for specimenreplicate and specimen
- 03:19 PM Revision 669: vegbien.sql: Added specimen table to tie specimenreplicates together
- 03:12 PM Revision 668: VegBIEN: Renamed specimen to specimenreplicate
- 03:06 PM Revision 667: Remerged ERD DDL into ERD
- 02:55 PM Revision 666: Redoing commit that linked aggregateoccurrence forward to individualplant, allowing many taxonoccurrences (e.g. one for each specimen) to point to the same plant (e.g. that those specimens came from)
- 12:57 PM Revision 665: Added NYBG input
- 12:48 PM Revision 664: input.Makefile: Run tests with verbose output
- 12:48 PM Revision 663: bin/map: Fixed bug where verbose/debug flags were ignored and message were always printed.
- 12:39 PM Revision 662: bin/map: Added verbose and debug options. Added initial debug info.
- 12:39 PM Revision 661: xml_dom.py: Added is_simple() to determine whether every child recursively has no more than one child. Used is_simple() to print condensed XML when simple nodes are converted to a string.
- 11:58 AM Revision 660: vegbien.sql: Enforce 1:1 relationship between aggregateoccurrence<->individualplant and taxonoccurrence<->specimen
- 11:44 AM Revision 659: vegbien.sql: Changed individualplant UNIQUE constraint to enforce 1:1 relationship between aggregateoccurrence and individualplant
- 11:35 AM Revision 658: Undoing previous commit since it would prevent a plant from being tied to a data source, because the aggregateoccurrence pointer goes in the wrong direction
- 11:18 AM Revision 657: vegbien.sql: Added aggregateoccurrence.individualplant_id to make a 1:1 relationship between aggregateoccurrence and individualplant
- 01:55 AM Revision 656: input.Makefile: Generate VegBIEN.2-step.xml correctly from VegX.xml, by removing DB config env vars passed to map for that test case. Note that this causes the VegBIEN.2-step.xml test to fail, because the 2-step mapping does not yet match the 1-step mapping.
- 01:28 AM Revision 655: input.Makefile: Don't need to filter test output since stderr now goes to the screen
- 01:21 AM Revision 654: input.Makefile: Don't save *.err outputs for each test because this information is printed to the screen
01/26/2012
- 06:50 PM Revision 653: input.Makefile: Send echoed diff command to stdout of the make process (set -x echoes it to stderr)
- 06:48 PM Revision 652: input.Makefile: Write test stderr to .err file instead of test output, and tee it to stdout of the make process
- 06:08 PM Revision 651: vegbien.sql: Updated name of UNIQUE constraint for specimen collectionnumber. Regenerated vegbien.ERD exports.
- 05:49 PM Revision 650: input.Makefile: Don't print "accept test" message when user aborted a test with Ctrl+C
- 05:34 PM Revision 649: inputs/SALVIAS/test: Accepted test outputs
- 05:33 PM Revision 648: input.Makefile: Also print message for accepting test output when diff fails
- 05:23 PM Revision 647: bin/map: Print a message when a database is successfully connected to
- 05:20 PM Revision 646: bin/map: Print a message when a database is successfully connected to
- 05:03 PM Revision 645: sql.py: Don't enclose PostgreSQL names in quotes because this disables case-insensitivity
- 04:58 PM Revision 644: sql.py: Use esc_name() to escape fields in SELECT statements
- 04:54 PM Revision 643: sql.py: Added esc_name() to escape identifiers like column names
- 04:27 PM Revision 642: vegbien.sql: Added comments to specimen.collectioncode_dwc and collectionnumber to differentiate them
- 04:22 PM Revision 641: vegbien.sql: Renamed authorspecimencode to collectionnumber to match its name in source data
- 04:18 PM Revision 640: input.Makefile: Use pipefail to cause a test to fail even when the output is filtered by grep. Print message for failing tests with command to run to accept the new test output.
01/24/2012
- 06:10 PM Revision 639: VegX-VegBIEN mapping: Map additional taxondetermination.determinationdate input formats straight through
- 06:08 PM Revision 638: test/input/SALVIAS_db.sh: Updated DB name
- 05:57 PM Revision 637: Regenerated vegbien.ERD exports
- 05:55 PM Revision 636: input.Makefile: Added documentation for why import errors for one input do not abort the import process for all inputs
- 05:53 PM Revision 635: input.Makefile: Determine DB name from input directory name, rather than DB file name
- 05:20 PM Revision 634: input.Makefile: Added documentation for accepting a test output
- 05:07 PM Revision 633: mappings/Makefile: Don't delete DwC-VegBIEN.specimens.csv in clean
- 05:05 PM Revision 632: VegBIEN: Renamed taxondetermination.*determination to is*
- 04:16 PM Revision 631: inputs/SALVIAS/test: Ignore test outputs
- 04:12 PM Revision 630: input.Makefile: Added test that generates VegBIEN.2-step.xml by mapping via a VegX.xml
- 03:39 PM Revision 629: input.Makefile: Added test that generates VegX.xml
- 03:29 PM Revision 628: input.Makefile: Added test that generates VegBIEN.xml
- 02:50 PM Revision 627: input.Makefile: Factored test/import.out out of DB section
- 02:43 PM Revision 626: input.Makefile: Renamed test/import.ref to import.out.ref. Changed syntax for accepting a test output to work with all types of test outputs.
- 02:32 PM Revision 625: Makefiles: Recurse into outermost subdir rather than bypassing it and going directly to innermost subdir
- 02:08 PM Revision 624: input.Makefile: Deal with inputs without a DB file, tests, verifications, etc.
- 02:07 PM Revision 623: inputs/Makefile: Don't use subdir makefiles because they are no longer needed
- 01:28 PM Revision 622: input.Makefile: Detect DB engine automatically from SQL file available in src subdir
- 01:00 PM Revision 621: input.Makefile: Factored as much as possible out of section for each DB engine
- 12:58 PM Revision 620: input.Makefile: Moved tests into test subdir
- 12:51 PM Revision 619: input.Makefile: Moved tests into test subdir
- 12:46 PM Revision 618: Added initial DwC-VegBIEN mappings spreadsheet with DwC terms
- 12:36 PM Revision 617: inputs/SALVIAS/verify: Updated to use new names for renamed tables
- 12:34 PM Revision 616: inputs/SALVIAS/verify: Updated to use new names for renamed tables
- 12:18 PM Revision 615: vegbien.sql: Removed no longer needed specimen.collector_id
- 12:16 PM Revision 614: VegX-VegBIEN mapping: Map collector name to new verbatimcollectorname field
- 12:11 PM Revision 613: vegbien.sql: Removed specimen.collectornumber_dwc and replaced it with verbatimcollectorname to reflect that the collectornumber_dwc is actually an ID of the specimen, and the collector's name is what we want to store
01/23/2012
- 05:33 PM Revision 612: mappings/Makefile: Run simplify_xpath on VegX-VegBIEN.organisms.csv
- 05:33 PM Revision 611: simplify_xpath: Be case sensitive to handle VegX correctly
- 05:18 PM Revision 610: VegX-VegBIEN mapping: Avoid using a dummy taxondetermination with role=collector
- 04:50 PM Revision 609: VegX-VegBIEN mapping: Map stem count to new stemcount field
- 04:48 PM Revision 608: VegX-VegBIEN mapping: Take advantage of aggregateoccurrence.count being optional
- 04:46 PM Revision 607: vegbien.sql: Made aggregateoccurrence.count to handle individuals data (for which count should be dynamically determined from # individual plants inside the aggregateoccurrence)
- 04:43 PM Revision 606: NYBG-VegBIEN mapping: Don't map dummy values to locationcode, etc. (e.g. in specimens data) because these tables are no longer required
- 04:42 PM Revision 605: vegbien.sql: Made several pointers to parent elements optional to deal with specimens data that might not have a location, etc.
- 04:29 PM Revision 604: vegbien.sql: Added taxondetermination UNIQUE constraint
- 04:18 PM Revision 603: VegX-VegBIEN mapping: Took advantage of location.confidentialitystatus being optional
- 04:16 PM Revision 602: VegX-VegBIEN mapping: Took advantage of userdefined.userdefinedtype being optional
- 04:13 PM Revision 601: vegbien.sql: Gave userdefined.userdefinedtype a default value
- 04:10 PM Revision 600: VegX-VegBIEN mappings: Took advantage of plantconcept.reference_id becoming optional
- 04:07 PM Revision 599: vegbien.sql: Made plantconcept.reference_id optional. Merge plantconcepts with no reference_id when eliminating duplicates.
- 04:05 PM Revision 598: PostgreSQL-MySQL.csv: Deal with all non-NOT NULL timestamp fields
- 04:00 PM Revision 597: vegbien.sql: Removed confusing plantconcept.plantname field since we are using plantname.plantname instead
- 03:54 PM Revision 596: VegBIEN: Renamed aux_role to role
- 03:47 PM Revision 595: VegX-VegBIEN mappings: Took advantage of several fields becoming optional
- 03:43 PM Revision 594: VegX-VegBIEN mappings: Took advantage of several fields becoming optional
- 03:36 PM Revision 593: Regenerated vegbien.ERD exports
- 03:36 PM Revision 592: 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.
- 03:04 PM Revision 591: vegbien.sql: Made taxondetermination.determinationdate optional because some determinations might not have a date
- 02:47 PM Revision 590: Regenerated vegbien.ERD exports
- 02:46 PM Revision 589: vegbien.sql: Added specimen.authorspecimencode
- 02:36 PM Revision 588: Adjusted vegbien.ERD.mwb
- 02:34 PM Revision 587: Regenerated vegbien.ERD exports
- 02:33 PM Revision 586: 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.
- 01:56 PM Revision 585: vegbien.sql: Changed taxonbinmethod_keys to UNIQUE INDEX to take advantage of COALESCE() for dealing with NULL values
- 01:43 PM Revision 584: 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
- 01:39 PM Revision 583: vegbien.sql: Removed taxonbin.count because that belongs in aggregateoccurrence and taxonbin is more similar to a sampling method. Added taxonbin UNIQUE constraint.
- 01:24 PM Revision 582: 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
- 01:15 PM Revision 581: vegbien.sql: Require location to have either an authorlocationcode or a lat/long. Distinguish between regular and subplots in UNIQUE constraint.
- 01:10 PM Revision 580: 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.
- 01:02 PM Revision 579: Added inputs/TurboVeg
- 12:58 PM Revision 578: vegbien.ERD.mwb: Deal with MySQL assuming that a timestamp field is NOT NULL
- 12:57 PM Revision 577: PostgreSQL-MySQL.csv: Deal with MySQL assuming that a timestamp field is NOT NULL
- 12:53 PM Revision 576: vegbien.sql: Made specimen.taxonoccurrence_id required
- 12:47 PM Revision 575: vegbien.sql: Made several fields optional, adding defaults where needed
- 12:47 PM Revision 574: PostgreSQL-MySQL.csv: Deal with PostgreSQL-style :: casts
- 12:14 PM Revision 573: NYBG mappings: Add mapping for CollectorNumber to specimen.collectornumber_dwc
- 12:08 PM Revision 572: vegbien.sql: Added specimen.collectornumber_dwc
- 12:03 PM Revision 571: VegBIEN: Renamed sourceid to author*code
- 12:01 PM Revision 570: VegBIEN: Renamed sourceid to author*code
- 11:44 AM Revision 569: mappings: Map ScientificNameAuthor to plantconcept with rank author
- 10:53 AM Revision 568: vegbien.sql: Removed sizeclass.*precision fields
- 10:50 AM Revision 567: vegbien.sql: Added count field to taxonBin
- 10:47 AM Revision 566: VegBIEN: Renamed place to locationplace
- 10:40 AM Revision 565: vegbien.sql.make: Exclude 'CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql' to avoid restore errors
- 10:20 AM Revision 564: repl: When matching words, treat _ as word boundary and ignore case.
01/20/2012
- 05:09 PM Revision 563: VegBIEN: Renamed individualplant.height to overallheight
- 02:34 PM Revision 562: Regenerated vegbien.ERD exports
- 02:32 PM Revision 561: PostgreSQL-MySQL.csv: Convert double quotes to backticks (`)
- 02:10 PM Revision 560: Regenerated vegbien.ERD exports
- 02:09 PM Revision 559: vegbien.for_ERD.sql: Fixed syntax error in stratum table
- 02:00 PM Revision 558: Regenerated vegbien.ERD exports
- 01:39 PM Revision 557: vegbien.sql: Renamed sizeclass.*accuracy to *precision to reflect intended purpose
- 01:33 PM Revision 556: vegbien.sql: Added stem.diameteraccuracy
- 01:22 PM Revision 555: 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)
- 01:05 PM Revision 554: README.TXT: Added make empty_db
- 12:52 PM Revision 553: vegbien.sql: Added taxonoccurrence.currentdetermination_id and originaldetermination_id
- 12:41 PM Revision 552: vegbien.ERD.mwb: Added stratum and place tables
01/19/2012
- 05:28 PM Revision 551: Added vegbien.ERD.png
- 05:24 PM Revision 550: Added vegbien.ERD.svg
- 05:21 PM Revision 549: Added vegbien.ERD.pdf
- 05:19 PM Revision 548: Added vegbien ERD
- 05:19 PM Revision 547: Ignore *.bak in schemas
- 05:07 PM Revision 546: VegBIEN: specimen links directly to taxonoccurrence rather than indirectly via individualplant
- 04:43 PM Revision 545: vegbien.sql: Made voucher fields NOT NULL
- 04:41 PM Revision 544: vegbien.sql: Added voucher table
- 04:26 PM Revision 543: VegBIEN: specimen links directly to taxonoccurrence rather than indirectly via individualplant
- 04:22 PM Revision 542: VegBIEN: specimen links directly to taxonoccurrence rather than indirectly via individualplant
- 04:12 PM Revision 541: Create schemas/vegbien.for_wiki.sql from schemas/vegbien.for_ERD.sql
- 04:11 PM Revision 540: Added lib/ERD-wiki.csv to convert ERD SQL to human-readable wiki format
- 04:10 PM Revision 539: schemas/vegbien.for_ERD.sql: Removed VegBank-internal fields from taxonoccurrence
- 03:51 PM Revision 538: Removed no longer needed schemas/vegbien.my.sql
- 03:51 PM Revision 537: PostgreSQL-MySQL.csv: Use \g<0> instead of \0 in replacements because \0 not supported. Replace fulltext with fulltext__ (note fulltext_ doesn't work).
- 01:34 PM Revision 536: Added schemas/vegbien.for_ERD.sql and generated MySQL
- 01:34 PM Revision 535: Regenerated schemas/vegbien.for_ERD.sql
- 01:33 PM Revision 534: PostgreSQL-MySQL.csv: Deal with serial NOT NULL fields
- 01:22 PM Revision 533: Generate MySQL DDL schemas/vegbien.my.sql from vegbien.sql
- 01:22 PM Revision 532: Added repl spreadsheet to map PostgreSQL DDL to MySQL
- 12:56 PM Revision 531: Ignore src subdirectories in inputs
- 12:46 PM Revision 530: VegBIEN: Use stem instead of individualplant to store diameter/dbh
01/18/2012
- 05:57 PM Revision 529: vegbien.sql: Removed no longer needed taxondetermination.plantname_id
- 05:53 PM Revision 528: VegBIEN: Made taxondetermination.plantconcept_id required and plantname_id optional
- 04:28 PM Revision 527: vegbien.sql: Added specimen.taxonoccurrence_id fkey
- 03:47 PM Revision 526: vegbien.sql: Removed no longer needed taxondetermination.individualplant_id, specimen_id fields
- 01:57 PM Revision 525: VegBIEN: Renamed plot to location to reflect that a location can also be used for specimens
- 01:29 PM Revision 524: vegbien.sql: Added individualplant.stemcount
- 12:38 PM Revision 523: vegbien.sql: Added accessioncode fields to existing, modified tables
- 12:21 PM Revision 522: vegbien.sql: Added accessioncode fields to new tables
01/17/2012
- 04:56 PM Revision 521: vegbien.sql: Removed no longer needed individualplant.taxonarea
- 04:40 PM Revision 520: VegBIEN: Moved taxondetermination.sourceaccessionnumber and museum_id to specimen
- 03:32 PM Revision 519: 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.
- 02:47 PM Revision 518: VegBIEN: Renamed museumaccessionnumber to sourceaccessionnumber
- 02:42 PM Revision 517: VegBIEN: Renamed authorcode to sourceid
- 02:33 PM Revision 516: vegbien.sql: Updated sizeclass to use ranges for parameters and remove taxonarea
01/13/2012
- 05:25 PM Revision 515: input.Makefile: Fixed verify by making %.out: % rule use %.make instead
- 05:24 PM Revision 514: input.Makefile: Moved verifications into one set of verify.* files
- 05:18 PM Revision 513: input.Makefile: All tests are run in the same transaction, with output to test.out
- 05:04 PM Revision 512: bin/map: Added support for processing multiple map_paths at once in the same transaction
- 04:50 PM Revision 511: SALVIAS organisms mapping: Removed redundant PlotCode mapping because the association to plotevent is done with PlotID
- 04:49 PM Revision 510: bin/map: Started adding support for multiple map_paths, all run in the same db transaction
- 04:35 PM Revision 509: 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.
- 04:28 PM Revision 508: mappings/Makefile: Corrected stemobservation to stem
- 03:46 PM Revision 507: Use baseDistance/complexUserDefined/method to distinguish between different dbhs in VegX
- 03:41 PM Revision 506: VegX mappings: Use baseDistance/value instead of baseDistance so we can later use complexUserDefined to distinguish between different types of dbh
- 03:07 PM Revision 505: VegX-VegBIEN.organisms.csv: Added initial stems mappings
- 03:06 PM Revision 504: mappings/Makefile: Updated VegX-VegBIEN.stems.csv input/output roots
- 03:05 PM Revision 503: ch_root: Deal with roots followed by something other than \b
- 02:41 PM Revision 502: input.Makefile: Remove *.out in new verify and test subdirs
- 02:38 PM Revision 501: Moved inputs files into subdirs for maps, verify, and test operations
- 02:00 PM Revision 500: vegbien.sql: Removed taxondetermination.collector_id because that's now in specimen
- 01:58 PM Revision 499: VegBIEN: Map to specimen.collector_id instead of taxondetermination
- 01:27 PM Revision 498: vegbien.sql: Added specimen.collector_id column
- 01:20 PM Revision 497: vegbien.sql: Changed taxondetermination.stem_id to individualplant_id
- 01:16 PM Revision 496: vegbien.sql: Removed taxondetermination columns that have been moved to specimen
- 01:14 PM Revision 495: VegBIEN: Merged specimen.collectionnumber and catalognumber_dwc fields. Removed NOT NULL constraints on several specimen columns because not all specimens have all identifiers. Mapped to new specimen fields.
- 12:59 PM Revision 494: VegX-VegBIEN mapping: Map collectiondate to specimen table
- 12:55 PM Revision 493: vegbien.sql: Added specimen.collectionnumber and collectiondate fields
- 12:50 PM Revision 492: Updated README.TXT to reflect new make targets
01/12/2012
- 01:18 PM Revision 491: vegbien.sql: Added sizeclass columns
- 01:01 PM Revision 490: VegBIEN: Removed stem* prefix from stem measurements because it's redundant and because these same field names were reused in non-stem tables
- 12:51 PM Revision 489: VegBIEN: Renamed stemobservation to stem
- 12:49 PM Revision 488: vegbien.sql: Added comments to renamed tables specifying VegBank equivalent
- 12:45 PM Revision 487: vegbien.sql: Added comments to new tables
- 12:25 PM Revision 486: vegbien.sql: Removed r# prefix from foreign key constraints
- 12:21 PM Revision 485: vegbien.sql: Added plot.namedplace_id for theplots which are identified by a namedplace rather than lat/long or name
- 12:18 PM Revision 484: vegbien.sql: Made plot.authorcode optional as not all plots have names
- 12:15 PM Revision 483: vegbien.sql: Added _dwc to specimen columns that are from DwC
- 12:12 PM Revision 482: vegbien.sql: Added UNIQUE constraint for specimen table. Made catalognumber required so that all specimens can be uniquely identified.
- 12:09 PM Revision 481: vegbien.sql: Made specimen.individualplant_id optional because specimens are not required to have a corresponding plot event (which all individualplants must have)
- 12:05 PM Revision 480: VegBIEN-VegBank.csv: Updated to reflect renames
- 12:02 PM Revision 479: vegbien.sql: Renamed specimen.code to collectioncode to match DwC term
- 11:58 AM Revision 478: vegbien.sql: Added sizeclass table
- 11:51 AM Revision 477: vegbien.sql: Renamed collection to specimen to reflect that it's for a single collection specimen
- 11:45 AM Revision 476: VegBIEN: Renamed collectiveobservation to aggregateoccurrence to reflect VegX usage of aggregate and the new taxonoccurrence table
01/11/2012
- 02:47 PM Revision 475: VegBIEN: Renamed stemobservation.stemcode to authorcode
- 02:43 PM Revision 474: vegbien.sql: Renamed individualplant.code to authorcode
- 02:41 PM Revision 473: sql.py: Reordered get() args to match put()
- 02:40 PM Revision 472: db_xml.py: Use new sql.put() which only eliminates duplicates based on database UNIQUE constraints
- 02:38 PM Revision 471: sql.py: Added new function put() and changed get() to use it
- 02:32 PM Revision 470: sql.py: Fixed raising of NullValueException to pass array of columns rather than single column
- 02:25 PM Revision 469: vegbien.sql: Added UNIQUE constraints to tables used in the mapping so that duplicates are eliminated by the database
- 02:23 PM Revision 468: sql.py: ExceptionWithColumn now stores multiple columns so that they can all be used in DuplicateKeyExceptions
- 02:22 PM Revision 467: util.py: Fixed dict_subset() to work correctly when a key does not exist
- 02:13 PM Revision 466: util.py: Added dict_subset()
- 02:07 PM Revision 465: sql.py: Use constraint_cols() to determine DuplicateKeyException column in try_insert()
- 01:50 PM Revision 464: sql.py: Added constraint_cols() to get columns of a constraint for use in determining the columns for a DuplicateKeyException
- 11:59 AM Revision 463: db_xml.py: Map empty fields to None instead of ignoring them, to ensure that an existing row with a value in that field is not used in the duplicate elimination
- 11:56 AM Revision 462: bin/map: Use db_xml.put()'s new on_error handler
- 11:53 AM Revision 461: db_xml.py: put(): Added on_error handler. Reordered arguments according to how often they are likely to be used.
- 11:31 AM Revision 460: bin/map: Print # input rows processed
01/10/2012
- 05:32 PM Revision 459: VegX-VegBIEN mapping: Merge different sources of plot elevation
- 05:32 PM Revision 458: vegbien.sql: Added individualplant.code field
- 05:10 PM Revision 457: xml_func.py: Expand XML funcs in XML func args
- 05:06 PM Revision 456: xml_dom.py: In NodeTextEntryIter, return non-text children as-is instead of ignoring them so that XML functions can use them
- 04:46 PM Revision 455: xml_dom.py: Improved readability by separating into sections
- 04:41 PM Revision 454: db_xml.py: Ignore only fields that are actually empty (rather than just not having element children), as a field containing anything other than a comment should be flagged as invalid input
- 04:41 PM Revision 453: xml_dom.py: Changed is_empty() to consider nodes with only comments to be empty
- 04:23 PM Revision 452: bin/map: Add input row to exceptions
- 04:22 PM Revision 451: db_xml.py: Ignore empty fields. Fixes bug where a field that's not text but has no Element children will be treated as a table, and an error is triggered because the corresponding table does not exist in the database.
- 04:19 PM Revision 450: xml_dom.py: Added has_elems() to check if node has Element children
- 03:56 PM Revision 449: bin/map: Use xml_func.process()'s new on_error error handler. Add row to database errors and xml_func.SyntaxExceptions.
- 03:54 PM Revision 448: xml_func.py: Changed formatting of comment that node with syntax errors is replaced with so that it starts on its own line
- 03:50 PM Revision 447: xml_func.py: Use on_error exception handler to allow caller to print exceptions instead of raising them
- 03:41 PM Revision 446: db_xml.py: Add node to any database exceptions generated in put()
- 03:09 PM Revision 445: exc.py: Added raise_() wrapper for raise statement
- 02:45 PM Revision 444: Ignore .~* (lock files generated by OpenOffice.org) in inputs
- 02:44 PM Revision 443: inputs/SALVIAS: Added stems map
- 02:43 PM Revision 442: bin/map: Handle empty rows for db output
- 02:34 PM Revision 441: mappings: Use stemParent instead of stemOrganism to identify stems so that it's clear that the stemParent is an individualOrganismObservation, not an individualOrganism
- 02:25 PM Revision 440: input.Makefile: Include VegX maps not in tablesSort
- 02:13 PM Revision 439: mappings/Makefile: Generate initial VegX-VegBIEN.stems.csv
- 01:36 PM Revision 438: mappings/Makefile: Cleaned up in preparation for adding rule to generate VegX-VegBIEN.stems.csv
- 12:51 PM Revision 437: bin/map: Continue with database insertion even if a row had XML func syntax errors, because these errors have been fixed by removing the offending function node
- 12:49 PM Revision 436: xml_func.py: Remove function nodes with syntax errors to prevent them from causing DatabaseErrors later
- 12:48 PM Revision 435: xml_dom.py: Added remove() function to remove a node
- 12:39 PM Revision 434: bin/map: Track Exceptions with ExTracker
- 12:38 PM Revision 433: exc.py: Added ExTracker to track printed (suppressed) Exceptions and exit with nonzero status if any were encountered
- 12:12 PM Revision 432: bin/map: Parse each output XPath at the beginning so XPath syntax errors are detected right away
- 12:03 PM Revision 431: vegbien.sql: Reran renames to capture cases where a name is in the middle of an identifier
- 11:47 AM Revision 430: vegbien.sql: Use character varying(255) instead of text or character varying in new tables and columns
- 11:35 AM Revision 429: input.Makefile: Print Postgres NULL as NULL instead of empty string to match MySQL output
- 11:26 AM Revision 428: VegX-VegBIEN mapping: Fixed syntax error in mapping
01/09/2012
- 05:30 PM Revision 427: vegbien.sql: Added trait table
- 05:22 PM Revision 426: vegbien.sql: Added columns to stemobservation
- 05:13 PM Revision 425: vegbien.sql: Renamed collectiveobservation.stratum_id to taxonbin_id
- 04:51 PM Revision 424: vegbien.sql: Added some DarwinCore attributes to collection table
- 04:21 PM Revision 423: Makefiles: Added remake target to run clean and all
- 04:04 PM Revision 422: vegbien.sql: Added taxondetermination.collection_id column
- 03:56 PM Revision 421: VegBIEN: Made taxondetermination.plantname_id required
- 02:59 PM Revision 420: vegbien.sql: Made taxondetermination.plantconcept_id optional
- 02:49 PM Revision 419: VegBIEN: Renamed author*code to authorcode
- 02:47 PM Revision 418: Makefiles: Added empty rules for targets without a rule so that these rules wouldn't trigger the recursive subdir invocation for the default target
- 02:33 PM Revision 417: VegX-VegBIEN mapping: Convereted all database names to lowercase to correspond to their case in the database
- 02:04 PM Revision 416: Makefiles: Added empty Makefile target so that Makefiles are not included in the targets recursively run on subdirs
- 02:01 PM Revision 415: input.Makefile: Dependencies in other directories are included as prerequisistes. Use tablesSort variable instead of sort order prefix to order tables.
- 01:35 PM Revision 414: Makefile: Added default target that recursed into subdirs with Makefiles. Used default target for all and clean.
- 01:34 PM Revision 413: Regenerated inputs/SALVIAS/map.VegBIEN.0.plots.csv
- 01:32 PM Revision 412: Removed scripts symlink because it was causing Makefile recursion issues
- 01:28 PM Revision 411: Makefile: Take advantage of new inputs/Makefile
- 01:24 PM Revision 410: Added inputs/Makefile to run input targets recursively on each input
- 01:08 PM Revision 409: Makefile: Run inputs-* targets for all and clean
- 01:00 PM Revision 408: input.Makefile: all doesn't run import. import runs verify.
- 12:41 PM Revision 407: vegbien.sql: Set all FOREIGN KEY constraints to ON UPDATE CASCADE ON DELETE CASCADE
- 12:35 PM Revision 406: SALVIAS mappings: use PlotID as authorObsCode to link plot observations and organisms correctly for organisms without a PlotCode
- 12:32 PM Revision 405: SALVIAS mappings: use PlotID as authorObsCode to link plot observations and organisms correctly for organisms without a PlotCode
- 11:49 AM Revision 404: input.Makefile: Fixed bug in verify's diff rule
- 11:34 AM Revision 403: Added CTFS input
01/06/2012
- 05:01 PM Revision 402: Makefile: Generate error when trying to run subMake on a directory with no Makefile
- 04:37 PM Revision 401: input.Makefile: Tests use bin/map's new new test mode
- 04:37 PM Revision 400: bin/map: Added test mode that empties the database before doing anything
- 04:37 PM Revision 399: sql.py: Added functions to truncate tables, list all tables, and empty a database
- 04:35 PM Revision 398: Accepted new SALVIAS test outputs
- 03:38 PM Revision 397: Makefile: Print Finished message after running test2 (inputs tests)
- 03:38 PM Revision 396: Accepted test outputs for SALVIAS
- 03:37 PM Revision 395: input.Makefile: Added ability to accept a test output to use as the new reference output
- 03:01 PM Revision 394: vegbien db: Renamed all occurrences of interpretation to determination
- 02:56 PM Revision 393: Makefile: Tell make that subMake rules run make recursively
- 02:51 PM Revision 392: vegbien.sql: Updated collection table for recent refactorings
- 02:42 PM Revision 391: Made more of Bob Peet's changes to the vegbien db and updated VegX-VegBIEN mapping
- 02:32 PM Revision 390: Makefile: Fixed pattern for recursive invocation of subdirectory make
- 12:54 PM Revision 389: Moved mappings/schemas to schemas
- 12:50 PM Revision 388: Makefile: Changed all to make schemas and mappings instead of running install
- 12:34 PM Revision 387: Moved mappings/schemas to schemas
- 12:25 PM Revision 386: Makefile: Added inputs import target
- 12:24 PM Revision 385: input.Makefile: Fixed syntax error with use of import_cmd variable
- 12:19 PM Revision 384: vegbien.sql: Added collection table
- 12:18 PM Revision 383: Makefiles: Changed _not_file to _always because _not_file is sometimes used to force a file to always be remade
01/05/2012
- 04:48 PM Revision 382: Decoupled VegBIEN from VegBank and removed mappings to VegBank
- 04:30 PM Revision 381: Regenerate vegbien.sql by dumping the vegbien db
- 04:06 PM Revision 380: Regenerate vegbien.sql by dumping the vegbien db
- 04:05 PM Revision 379: psql_vegbien: Changed to use postgres_vegbien
- 04:03 PM Revision 378: Added postgres_vegbien to run PostgreSQL command on the vegbien db
- 03:26 PM Revision 377: SALVIAS verification: Added plot methods
- 01:19 PM Revision 376: SALVIAS verification: Added # plots
- 01:06 PM Revision 375: Makefile: Added targets to run input targets on all inputs
- 12:54 PM Revision 374: SALVIAS verification: Added projects list to examine why project counts differ
- 12:41 PM Revision 373: SALVIAS verification: Made statement-label SELECT statements use the same syntax for MySQL and PostgreSQL so they are easy to copy and paste between the input and output queries
01/04/2012
- 04:54 PM Revision 372: input.Makefile: Don't remove logs in clean
- 04:32 PM Revision 371: input.Makefile: Added support for multi-column verification queries. inputs/SALVIAS: Added a multi-column verification query.
- 03:47 PM Revision 370: input.Makefile: Remove all *.out in clean
- 02:59 PM Revision 369: inputs: Don't keep *.out under version control
- 02:35 PM Revision 368: input.Makefile: Added rules to verify inserted data and run tests
- 11:38 AM Revision 367: Regenerated inputs/SALVIAS/map.VegBIEN.1.organisms.csv
- 11:32 AM Revision 366: exc.py: Print ! before error messages so they can be found and counted more easily in log files
- 11:13 AM Revision 365: input.Makefile: Only output to log if importing all rows
- 10:46 AM Revision 364: Moved vegbien CREATE DATABASE command to Makefile and run vegbien.sql as bien user
- 10:27 AM Revision 363: Renamed vegbien tables according to Bob Peet's new VegBank-VegBIEN mapping
- 10:16 AM Revision 362: input.Makefile: Don't print commands that use set -x to be echoed
- 10:14 AM Revision 361: input.Makefile: Use system's time utility instead of shell's time command
- 10:09 AM Revision 360: sql.py: Include sql.DbException in DatabaseErrors list
01/03/2012
- 04:28 PM Revision 359: Generate VegX-VegBIEN.organisms.csv from VegBank-VegBIEN.map.csv, which is generated from VegBank-VegBIEN.map_only.csv
- 04:21 PM Revision 358: repl: Process whole file as one string so that regexps can match EOF for appending
- 04:21 PM Revision 357: mappings/Makefile: Clean *-VegBIEN.*.csv maps
- 04:08 PM Revision 356: Generate VegBank-VegBIEN.schema.csv from VegBank-VegBIEN.schema_only.csv and VegBank-VegBIEN.csv
- 04:06 PM Revision 355: Added cat_csv to concatenate two spreadsheets
- 03:34 PM Revision 354: Removed no longer needed inputs/SALVIAS/db.sh
- 03:24 PM Revision 353: Add sort order prefixes to inputs/SALVIAS maps
- 02:49 PM Revision 352: VegX-VegBank organisms mapping: Added collectionDate mapping
- 02:36 PM Revision 351: VegX-VegBank organisms mapping: Added collectionDate mapping
- 02:36 PM Revision 350: mappings/Makefile: Sort VegX-VegBank organisms mapping automatically when anything that depends on it is remade
- 02:34 PM Revision 349: Added in_place to run a stream command on a file
- 02:14 PM Revision 348: join_sort: Use /bin/sh instead of /bin/bash
- 01:44 PM Revision 347: NYBG-VegX mapping: Removed no longer needed global stem count value
- 01:42 PM Revision 346: Renamed test/accept_output to accept
- 01:40 PM Revision 345: VegX-VegBank.organisms.csv: Made stemCount default to 1
- 01:17 PM Revision 344: bin/map: Print DatabaseErrors without stack traces
- 01:13 PM Revision 343: exc.py: Added print_ex()
- 01:13 PM Revision 342: exc.py: Added print_ex()
- 01:13 PM Revision 341: util.py: Added type_name()
- 01:12 PM Revision 340: strings.py: Added ensure_newl()
- 11:42 AM Revision 339: input.Makefile: Save map output in log file
- 11:27 AM Revision 338: bin/map: Print usage message when run with no arguments
- 10:10 AM Revision 337: Makefile: Removed unnecessary commenting out of "allow from 127.0.0.0..." lines in /etc/phppgadmin/apache.conf
Also available in: Atom