Revision History for DBIx-RoboQuery
===================================

0.012025
--------

ec49092 Add hashrefs as a stopword

2dd0f31 Wrap SQL words in C<> formatting codes

931cc8a Fix typos in order_from_sql example

3a0484c Link to query/prefer from resultset/preference

c445a42 Make minor formatting adjustments

a51bfca Just call it 'the query object' instead of using the full name again

94a74b8 Wrap unadorned attribute name in C<> codes

e2937bc Simplify Pod link for local method

88f6c3b Stop referring to it as "Query"

4ef56bd Specify required version of Test::MockObject (1.09)

94f6144 Use "C<>" formatting codes when talking about attributes/options

f5b7cc3 Prepend a code example to each method documentation

8951946 Wrap "Obviously" in the Security section in bold

91f82e4 Update code example in transform documentation to match latest Sub::Chain API

2fcdd2c Reword the drop_columns documentation for clarity

af7d118 Reword how default_slice is used by the query

cd76204 Mention when prepare_transformations is called

9ad8f98 Add code examples to methods missing them

3154684 Recognize that Synopsis should end on any =command

218ac21 Add stopwords

ac3d433 Ignore ASC/DESC when returning column order

da0c879 Test resultset_class (automatic and explicit)

83bf177 Load resultset_class before trying to instantiate it

7fa448e Test the actual Synopsis from the main module Pod

7d98860 Fix discrepancies in Synopsis code so that it works

v0.12 2011-01-06
----------------

8c65e2b Cache $query->resultset and move the caching of sql to ResultSet->new

48688b7 Reword some of the documentation for key_columns

08b04e7 Add a query() ro accessor to ResultSet

55d9aa3 Remove resultset aliases to avoid confusion

41eb892 Document the drop_columns attribute (and link to its method) in the constructor

27d7d69 Remove the documentation for the options to ResultSet/new and link to Query/new

82c54f3 Add more examples to the Query Synopsis and link to it from ResultSet

e8b6e4a Undocument internal methods _pass_through_args

045364a Define _arrayref_args methods to simplify common columns

522ef66 Add 'drop_columns' rw accessor similar to key_columns

ee2c1b3 Document the purpose of the ro accessor for key_columns on the resultset

923c87e Only ensure arrayrefs for items that already exist in the hash

608fcc7 Test the new getter/setters for key_columns and order

v0.11 2011-01-06
----------------

e2f7444 Define rw accessors for key_columns and order

683316e Clarify and improve grammar in constructor options documentation

9459e70 Update construtor documentation to reflect change in API

9d98f1b Add _flatten function to Util module

86261ef Change export to import when referring to user's intentions

f28a5e5 Add TODO items to Pod

1e20976 Add the word 'obviously' to the Security section

5779d2f Add ToDo item for writing more tests

44b41c3 List configurable enhancements in Description

cb60f6e Add TODO comment for order-by test

a447f37 Add See Also and ToDo sections

f98dc1d Link to other modules that parse a SQL Order By clause

e93b0da Make Security a head1 and link to it from Description

b30dd32 Reformat and clarify documentation for constructor options

d56d395 Beef up the Synopsis Pod with a start-to-finish example

f113e59 Remove suggestion for File::Slurp

b3a1ee8 Update module name in dist.ini and .gitignore

889ad3e Move 'ensure attributes are arrayrefs' logic to Util for use from both modules

9b644ab Break POD line into multiple lines

f05084e Remove Exporter from Util module

fed7952 Move order() from ResultSet to Query

6a394b0 Move Util module to new namespace

v0.10 2011-01-05
----------------

093fc27 Rename the module to DBIx::RoboQuery and limit its focus to that

a2f864f Add resultset_class attribute

9c48b9f Add transformations to constructor calls to make the tests pass again

a7af09f Define prepare_transformations() as a convenience shortcut

v0.9 2011-01-04
---------------

e8e412a Use Sub::Chain::Group instead of Data::Transform::Named::Stackable

480efb8 Process the sql template before creating a ResultSet so that any changes in the template get passed

2f9e131 Explicitly test that key_columns transfers from Query to ResultSet

v0.8 2010-12-23
---------------

476a86f Cache the sql() so that the template only gets processed once

a4c53af Tell the transformations all the possible fields

01b97ab Specifically test setting the key_columns attribute from the template

5304d71 Use the $query variable that we already have instead of dereferencing $self->{query}

03fb36d Alias 'key' and 'non_key' groups to their full names

3e397c2 Test that ResultSet's array() and hash() methods return transformed data

dff564c Test calling the query.transform function inside the query template

4f7b660 Define 'key' and 'non_key' groups (for transformation) after executing the statements

e6c2bf5 Transform the rows or hashes returned by ResultSet->array()

ef5dc2c Insert a simple coderef to transform() the rows returned by hash()

v0.7 2010-12-17
---------------

1958611 Define Query->transform for loading transformation specifications for given query fields

ec74565 Test calling query.prefer() from inside a query template

1917618 Document the expectation for DBI/RaiseError in a Caveats POD section

bfd05ed Just "use lib 't/lib'" instead of using FindBin

f78efda Test the new slicing operations of array() and hash()

v0.6 2010-12-09
---------------

4f8d1e3 Make hash() and array() methods slice out the dropped columns

81dd1f6 Save an arrayref of all_columns [in the original order] for later internal use

426fa5c Handle drop_columns whether it's a string or arrayref

a537645 Change heading from DESCRIPTION to module name

5690168 Restore actual module name so tests stop skipping when the module is available

bc97f6b Suggest Test::Exception (but don't require it)

1862358 Simplify POD links

3bac78e Improve symbols for THelper to avoid warnings

7481805 Die if non_key_columns isn't defined (means non-select or DBI error)

7b96c55 Make ResultSet->hash() die if there are no key_columns

33d4662 Skip Test::Exception tests transparently it not available

66f3603 Test columns, key_columns, and drop_columns on ResultSet after execute

2df5121 Remove unused (and not useful) Test::MockDBI

d20c1c7 Remove inappropriate croak message for missing key_columns

4c359e6 Test ResultSet->preference() through Query->prefer() API in addition to forced white-box hack

3f00346 Test that the preferences set with Query->prefer pass to Resultset intact

2de93e3 Test Query->prefer()

c3dd59a Allow 'default_slice' option to set the default for the array() method

v0.5 2010-11-29
---------------

1b3fb22 Default ResultSet->array() to return an array of hash refs if no arguments

fc30c30 Test ResultSet->hash() (fetchall_hashref w/ and w/o preference)

v0.4 2010-11-29
---------------

ca38edb Reimplement fetchall_hashref using preference()

7847031 Pluralize 'preference' attribute (to 'preferences') to make it sound like it's an array

ae43ec5 Short-circuit preference() if there are no preferences defined

4d16536 Add "DBI's" as a stopword

30583c1 Add dbh, sql, and resultset to the global stopwords list

f55ffe0 Update Pod::Coverage hints for aliases and removed methods

864fec1 Change 'recordset' to 'result set' for consistency with module name

5b805eb Use POD I<> formatting code instead of single quotes

e4bb707 Fix module links in POD

eaa6511 Don't send the preference rules to ResultSet->preference() since it's already on the object

004a710 Test ResultSet->preference()

9eb9f73 Define and document Query->prefer() and ResultSet->preference()

c0ecf35 Test various aspects of the ResultSet

1ca067e Only guess 'order' from sql when the method is called (lazy)

c4bf487 Separate the methods that expand the 'column' attributes for organization, exceptions, and clarity

7c04a6c Dereference array ref attributes when returning lists or referencing attributes

ea4d8a8 Simplify the non_key_columns logic

4f08278 Document ResultSet->new() and its options

886f615 Add 'dbh' to the _pass_through_args() list

0690451 Fix order_from_sql re to match more strings and test to be sure

ee108bd Define various column-related attributes in the constructor

81ea29b Make constructor argument logic more consistent between Query and ResultSet

56124e0 Create query->resultset() method for convenience

00f2727 Make variable usage and croak logic more consistent in execute()

68e844b Make pass_through_args a "private" sub instead of a lexical array

8bb8f85 Use strict and warnings in test case

ca09fba Fix variable typo in untested constructor

719cf1b Recommend File::Slurp but don't require it

8677e72 Rename fetch subs by dropping 'refs' (&arrayrefs => &array, &hashrefs => &hash)

eb4abc0 Make ResultSet constructor logic consistent with Query

b2c0672 Test that Query constructor returns blessed reference and dies expectedly

b0887af Allow prefix and suffix options and concatenate them to SQL before template processing

334b380 Update the tests to match the new hash[ref] interface

v0.3 2010-11-22
---------------

86ac9e6 Change constructor to accept solely a hash or hashref

967bf5d Create a slurp_file function that defers to File::Slurp if available

f0de6c0 Add Util module to the main_module's SEE ALSO list

515971f Space test lines consistently

v0.2 2010-11-22
---------------

64d768b Change attributes in Query->new() to hashref only

40be508 Use strict and warnings to raise kwalitee

53399c9 Create (empty) main module for documentation

27a81da Commit initial ResultSet class to return configurable results from Query

8631d6e Begin module of utility functions for working with SQL/DBI

1ef8bf2 Add Basic README to make github happy

dce4609 Specify Abstract, document constructor, and improve syntax in SYNOPSIS

e8fe2d8 Enable absolute paths and strict variables in Template::Toolkite

27f7ab3 Test new Query class (mostly test pre-processing the sql with Template::Toolkit)

===================================
End of changes in the last 365 days
===================================