Changes for version 0.36 - 2012-01-05

  • Fix for 'like' clause's escape string on PostgreSQL Speed improvement for class initialization by normalizing metadata more efficiently and only calculating the cached data for property_meta_for_name() once. Workaround for a bug in Perl 5.8 involving sorters by avoiding method calls inside some sort subs Fully deprecate the old Subscription API in favor of the new Observer api UR::Value classes use UR::DataSource::Default and the normal loading mechanism. Previously, UR::Values used a special codepath to get loaded into memory Add a json perspective for available views Allow descending sorts in order-by. For example: my @o = Some::Class->get(prop => 'value', -order => ['field1','-field2'] To get all objects where prop is equal to the string 'value', first sorted by field1 in ascending order, then by field2 in descending order Standardize sorting results on columns with NULLs by having NULL/undef always appears at the end for ascending sorts. Previously, the order depended on the data source's behavior. Oracle and PostgreSQL put them at the end, while MySQL, SQLite and cached get()s put them at the beginnind. Fix exit code for 'ur test run' when the --lsf arg is used. It used always return a false value (1). Now it returns true (0) if all tests pass, and false (1) if any one test fails. UR::Object now implements the messaging API that used to be in Command (error_message, dump_error_messages, etc). The old messaging API is now deprecated.

Documentation

ur
command-line interface to UR
Environment variables that control UR behavior
Short list of UR's documentation
Recepies for getting things working
Overview of the metadata classes in UR
UR from Ten Thousand Feet
Slides for a presenation on UR
Tips for designing an efficient schema for UR
Step-by-step guide to building a set of classes for a simple database schema
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
ur
tools to create and maintain a ur class tree

Modules

auto-generate sub-commands based on other classes
base class for modules implementing the command pattern
base class for modules implementing the command pattern
UR
rich declarative transactional objects
a "where clause" for objects
a UR::BoolExpr minus specific values
a rule which is true if ALL the underlying conditions are true
an "and" or "or" rule
a rule which is true if ANY of the underlying conditions are true
implements logic for rules with a logic_type of "PropertyComparison"
evaluates to true if the property's value is false
perform a greater than or equal test
perform a Perl regular expression match
perform a negated In comparison
perform a negated SQL-ish like test
Evaluates to true if the property's value is true
non-OO module to collect utility functions used by the BoolExpr modules
Manage the current state of the application
The base context used when no special base context is specified
Track closures used to fabricate objects from data sources
Impliments a generic interface to the current application.
API for software transactions
methods for interacting with a database.
a database report interface
manage the the relationship between objects and a specific storage system
Parent class for data sources using DBD::CSV
Parent class for file-based data sources
Parent class for datasources which can multiplex many files together
Data source for the MetaDB
MySQL specific subclass of UR::DataSource::RDBMS
Oracle specific subclass of UR::DataSource::RDBMS
PostgreSQL specific subclass of UR::DataSource::RDBMS
Abstract base class for RDBMS-type data sources
metadata about a data source's bitmap indexes
Parent class for all MetaDB-sourced classes
metadata about a data source's foreign keys
metadata about a data source's foreign keys
metadata about a data source's primary keys
Object-oriented class for RDBMS table objects.
View class for RDBMS table objects
metadata about a data source's table's columns
View class for RDBMS column objects
metadata about a data source's unique constraints
base class for datasources using the SQLite3 RDBMS
Controls for debugging behavior
Represents an instance of a no-longer-existent object
methods to allow clean application exits.
Error, status, and warning messaging for derived packages
a Module::Build subclass with UR extensions
manage dynamic configuration of modules.
UR hooks into Class::Autouse
Manage collections of packages and classes
Top-level Command module for the UR namespace commands
View class for metadata via the browser namespace command
transactional, queryable, process-independent entities
Base class for fetching objects and then performing a function on/with them.
Fetches and lists objects in different styles.
Fetches and lists objects in different styles.
Abstract class for representing deleted objects not yet committed
Indexing system for retrieving objects by non-id properties
API for iterating through objects matching a rule
Class representing metadata about a class property
View class for UR::Object::Property
View class for UR::Object::Property
View class for UR::Object::Property
Transitory attribute tags for a UR::Object at a given time.
a meta-class for any class or primitive type
Helper module for UR::Object::Type responsible for creating accessors for properties
Implements a calculation accessor which multiplies the values of its properties
Implements a calculation accessor which sums the values of its properties
Class definition syntax
Helper module for UR::Object::Type responsible for writing Perl modules
View class for class metaobjects
View class for class metaobjects
a base class for "views" of UR::Objects
a specification for one aspect of a view
Gtk adaptor for object views
Gtk2 adaptor for object views
represent object state in HTML format
object views in text format
represent object state in XML format
base class for views which use XSL on an XML view to generate content
represent object state in HTML format
Declaration of Text as a View toolkit type
restores changes removed in UR version 0.01
restores changes removed in UR version 0.04
bind callbacks to object changes
A self-contained JSON-RPC server for UR namespaces
Base class for modules implementing RPC executers
Serializable object appropriate for sending RPC messages
Class for implementing RPC servers
Abstract class for implementing singleton objects
Collection of utility subroutines and methods
auto "use lib" when a module is in the tree of the PWD

Provides

in lib/Command.pm
in lib/Command/SubCommandFactory.pm
in lib/Command/Test.pm
in lib/Command/Test/Echo.pm
in lib/Command/Test/Tree1.pm
in lib/Command/Test/Tree1/Echo1.pm
in lib/Command/Test/Tree1/Echo2.pm
in lib/Devel/callcount.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Change.pm
in lib/UR/Context/LoadingIterator.pm
in lib/UR/Context/Root.pm
in lib/UR/DBI.pm
in lib/UR/DBI.pm
in lib/UR/DataSource/Code.pm
in lib/UR/DataSource/Default.pm
in lib/UR/DataSource/QueryPlan.pm
in lib/UR/DataSource/ValueDomain.pm
in lib/UR/Doc/Pod2Html.pm
in lib/UR/Doc/Section.pm
in lib/UR/Doc/Writer.pm
in lib/UR/Doc/Writer/Html.pm
in lib/UR/Doc/Writer/Pod.pm
in lib/UR/Env/UR_COMMAND_DUMP_STATUS_MESSAGES.pm
in lib/UR/Env/UR_CONTEXT_BASE.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_HIGHWATER.pm
in lib/UR/Env/UR_CONTEXT_CACHE_SIZE_LOWWATER.pm
in lib/UR/Env/UR_USED_LIBS.pm
in lib/UR/Env/UR_CONTEXT_MONITOR_QUERY.pm
in lib/UR/Env/UR_CONTEXT_ROOT.pm
in lib/UR/Env/UR_DBI_DUMP_STACK_ON_CONNECT.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_CALLSTACK.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_IF.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_MATCH.pm
in lib/UR/Env/UR_DBI_EXPLAIN_SQL_SLOW.pm
in lib/UR/Env/UR_DBI_MONITOR_DML.pm
in lib/UR/Env/UR_DBI_MONITOR_EVERY_FETCH.pm
in lib/UR/Env/UR_DBI_MONITOR_SQL.pm
in lib/UR/Env/UR_DBI_NO_COMMIT.pm
in lib/UR/Env/UR_DBI_SUMMARIZE_SQL.pm
in lib/UR/Env/UR_DEBUG_OBJECT_PRUNING.pm
in lib/UR/Env/UR_DEBUG_OBJECT_RELEASE.pm
in lib/UR/Env/UR_IGNORE.pm
in lib/UR/Env/UR_NO_REQUIRE_USER_VERIFY.pm
in lib/UR/Env/UR_NR_CPU.pm
in lib/UR/Env/UR_STACK_DUMP_ON_DIE.pm
in lib/UR/Env/UR_STACK_DUMP_ON_WARN.pm
in lib/UR/Env/UR_TEST_FILLDB.pm
in lib/UR/Env/UR_TEST_QUIET.pm
in lib/UR/Env/UR_USED_MODS.pm
in lib/UR/Env/UR_USE_ANY.pm
in lib/UR/Env/UR_USE_DUMMY_AUTOGENERATED_IDS.pm
in lib/UR/ObjectDeprecated.pm
in lib/UR/Namespace/Command.pm
in lib/UR/Namespace/Command/Define.pm
in lib/UR/Namespace/Command/Define/Class.pm
in lib/UR/Namespace/Command/Define/Datasource.pm
in lib/UR/Namespace/Command/Define/Datasource/File.pm
in lib/UR/Namespace/Command/Define/Datasource/Mysql.pm
in lib/UR/Namespace/Command/Define/Datasource/Oracle.pm
in lib/UR/Namespace/Command/Define/Datasource/Pg.pm
in lib/UR/Namespace/Command/Define/Datasource/Rdbms.pm
in lib/UR/Namespace/Command/Define/Datasource/RdbmsWithAuth.pm
in lib/UR/Namespace/Command/Define/Datasource/Sqlite.pm
in lib/UR/Namespace/Command/Define/Db.pm
in lib/UR/Namespace/Command/Define/Namespace.pm
in lib/UR/Namespace/Command/Describe.pm
in lib/UR/Namespace/Command/Init.pm
in lib/UR/Namespace/Command/List.pm
in lib/UR/Namespace/Command/List/Classes.pm
in lib/UR/Namespace/Command/List/Modules.pm
in lib/UR/Namespace/Command/List/Objects.pm
in lib/UR/Namespace/Command/Old.pm
in lib/UR/Namespace/Command/Old/DiffRewrite.pm
in lib/UR/Namespace/Command/Old/DiffUpdate.pm
in lib/UR/Namespace/Command/Old/ExportDbicClasses.pm
in lib/UR/Namespace/Command/Old/Info.pm
in lib/UR/Namespace/Command/Old/Redescribe.pm
in lib/UR/Namespace/Command/RunsOnModulesInTree.pm
in lib/UR/Namespace/Command/Sys.pm
in lib/UR/Namespace/Command/Sys/ClassBrowser.pm
in lib/UR/Namespace/Command/Test.pm
in lib/UR/Namespace/Command/Test/Callcount.pm
in lib/UR/Namespace/Command/Test/Callcount/List.pm
in lib/UR/Namespace/Command/Test/Compile.pm
in lib/UR/Namespace/Command/Test/Eval.pm
in lib/UR/Namespace/Command/Test/Run.pm
in lib/UR/Namespace/Command/Test/TrackObjectRelease.pm
in lib/UR/Namespace/Command/Test/Use.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Test/Window.pm
in lib/UR/Namespace/Command/Update.pm
in lib/UR/Namespace/Command/Update/ClassDiagram.pm
in lib/UR/Namespace/Command/Update/ClassesFromDb.pm
in lib/UR/Namespace/Command/Update/Doc.pm
in lib/UR/Namespace/Command/Update/Pod.pm
in lib/UR/Namespace/Command/Update/RenameClass.pm
in lib/UR/Namespace/Command/Update/RewriteClassHeader.pm
in lib/UR/Namespace/Command/Update/SchemaDiagram.pm
in lib/UR/Namespace/Command/Update/TabCompletionSpec.pm
in lib/UR/Namespace/View/SchemaBrowser/CgiApp/Base.pm
in lib/UR/Namespace/View/SchemaBrowser/CgiApp/Class.pm
in lib/UR/Namespace/View/SchemaBrowser/CgiApp/File.pm
in lib/UR/Namespace/View/SchemaBrowser/CgiApp/Index.pm
in lib/UR/Namespace/View/SchemaBrowser/CgiApp/Schema.pm
in lib/UR/Object/Accessorized.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Command/List/Style.pm
in lib/UR/Object/Join.pm
in lib/UR/Object/Set.pm
in lib/UR/Object/Set/View/Default/Html.pm
in lib/UR/Object/Set/View/Default/Json.pm
in lib/UR/Object/Set/View/Default/Text.pm
in lib/UR/Object/Set/View/Default/Xml.pm
in lib/UR/Object/Type/View/AvailableViews/Json.pm
in lib/UR/Object/Type/View/AvailableViews/Xml.pm
in lib/UR/Object/Value.pm
in lib/UR/Object/View/Default/Json.pm
in lib/UR/Object/View/Lister/Text.pm
in lib/UR/Service/RPC/TcpConnectionListener.pm
in lib/UR/Test.pm
in lib/UR/Value.pm
in lib/UR/Value/ARRAY.pm
in lib/UR/Value/Blob.pm
in lib/UR/Value/Boolean.pm
in lib/UR/Value/CSV.pm
in lib/UR/Value/DateTime.pm
in lib/UR/Value/Decimal.pm
in lib/UR/Value/DirectoryPath.pm
in lib/UR/Value/FOF.pm
in lib/UR/Value/FilePath.pm
in lib/UR/Value/FilesystemPath.pm
in lib/UR/Value/Float.pm
in lib/UR/Value/HASH.pm
in lib/UR/Value/Integer.pm
in lib/UR/Value/Iterator.pm
in lib/UR/Value/Number.pm
in lib/UR/Value/PerlReference.pm
in lib/UR/Value/SCALAR.pm
in lib/UR/Value/Set.pm
in lib/UR/Value/SloppyPrimitive.pm
in lib/UR/Value/String.pm
in lib/UR/Value/Text.pm
in lib/UR/Value/Timestamp.pm
in lib/UR/Value/URL.pm
in lib/UR/Value/View/Default/Html.pm
in lib/UR/Value/View/Default/Json.pm
in lib/UR/Value/View/Default/Text.pm
in lib/UR/Value/View/Default/Xml.pm
in lib/UR/Vocabulary.pm
in lib/UR/Object/Type/Initializer.pm