aboutsummaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* moved bind to factory of selectNick Kallen2008-04-113-17/+8
|
* added attribute.eq(nil)Nick Kallen2008-03-168-7/+19
| | | | - produces attribute IS NULL
* projections now support string passthroughNick Kallen2008-03-162-3/+7
| | | | - there is a weird inconsistency in where bind is called on values; this needs to be resolved
* nested orderingsNick Kallen2008-03-165-14/+10
|
* allowing string passthrough for order clausesNick Kallen2008-03-163-14/+23
|
* added support for `attribute IN ...` and `attribute BETWEEN ...`Nick Kallen2008-03-168-25/+44
| | | | | - IN and BETWEEN are chosen depending on the type of the second operand - ranges (1..2), arrays ([1,2,3]), and relations ("SELECT * ...") are all supported
* renamed operatorsNick Kallen2008-03-161-5/+5
| | | | | | - equals / eq - greater_than / gt - etc.
* formatting insert and update statementsNick Kallen2008-03-164-14/+6
| | | | - values need to be coerced to the type corresponding to the column
* renamed strategy to formatterNick Kallen2008-03-1611-18/+18
|
* properly quoting array valuesNick Kallen2008-03-1611-22/+39
|
* js/nk - fixed hashingNick Kallen2008-03-152-3/+5
|
* annotated abstract methods on relationNick Kallen2008-03-132-6/+16
|
* annotated abstractionNick Kallen2008-03-136-5/+9
| | | | | - in compound - created superclass for the create/insert/update write operations, marked :call as abstract
* added abstract declarationNick Kallen2008-03-135-10/+22
|
* renamed sql formatting strategies to correspond with sql grammar rule names ↵Nick Kallen2008-03-135-26/+25
| | | | in the mysql bnf
* - renamed scalar to valueNick Kallen2008-03-125-13/+13
| | | | - added better test coverage and documentation of binary spec #to_sql
* renamed strategy method to formatNick Kallen2008-03-115-15/+19
| | | | | | - strategy (the method on scalar and attribute) is a complex double-dispatching scheme to format (to_sql) a scalar in the light of the particular attribute; that is, it casts strings to integers if the column is int, etc.
* refactored session's interaction with engine/connectionNick Kallen2008-03-115-4/+20
| | | | | - follows law of demeter - Table.engine uses AR::Base adapter
* implemented hashing macro; implemented custom matcher testing this macroNick Kallen2008-03-115-10/+11
|
* basic functionality for simplest active record find(id)Nick Kallen2008-03-052-11/+25
| | | | - messy code, to be cleaned up this weekend
* scalars are now lifted; the heavy lifting is done by the operations on ↵Nick Kallen2008-03-0213-48/+70
| | | | relation (select, join, etc.)
* introduced engine dependency for sql strategiesNick Kallen2008-03-0212-33/+43
| | | | - hacked in default engine for scalars -- BAD
* new concept of session boundariesNick Kallen2008-03-028-17/+53
|
* quoting issuesNick Kallen2008-02-2411-70/+58
|
* renamed attribute to operand per josh's suggestionNick Kallen2008-02-241-12/+13
|
* Introduced concept of session. It does not yet support multiple databases, ↵Nick Kallen2008-02-237-27/+89
| | | | nor transactions, but it's a start!
* updating functionalityNick Kallen2008-02-231-0/+17
|
* added primitive update functionalityNick Kallen2008-02-231-0/+1
|
* extracted conditionals concerning the "externalizing" of relations under a join.Nick Kallen2008-02-185-18/+44
|
* made descend public; added test coverage for it; tests for qualify are now ↵Nick Kallen2008-02-189-16/+8
| | | | in terms of descend
* rename __collect__ to descend since the double underscores were ugly.Nick Kallen2008-02-1811-22/+22
|
* adding support for scalar selectsNick Kallen2008-02-161-2/+2
|
* introduced __collect__, an internal enumerating operator. This is a map down ↵Nick Kallen2008-02-1613-34/+61
| | | | the tree representing the relation. Monadic map to be precise
* cleanupNick Kallen2008-02-165-19/+11
|
* organized congruence stuff in attributeNick Kallen2008-02-162-12/+19
|
* more test coverageNick Kallen2008-02-163-9/+10
|
* attribute is now a concrete ancestor of expression. seems logical.Nick Kallen2008-02-162-24/+17
|
* removing unneccessary tests now that attribute lookup is so simpleNick Kallen2008-02-111-1/+0
|
* rename substitute to bind since it 'binds' an object to a new relation.Nick Kallen2008-02-118-13/+13
|
* aesthetic considerationsNick Kallen2008-02-119-15/+29
|
* removing code complexity concerning attribute lookup.Nick Kallen2008-02-117-47/+12
|
* cleaning up code and adding test coverage for attribute and expression.Nick Kallen2008-02-042-12/+20
|
* this is very messy but it is finally close to feature-completeNick Kallen2008-02-0312-53/+121
|
* i know it doesn't work but need to anchor here...Nick Kallen2008-02-0314-164/+129
|
* filling out some pending specsNick Kallen2008-01-212-1/+4
|
* joining on aggregations; this time where the aggregation is on the right.Nick Kallen2008-01-215-18/+27
|
* merging "schmoin" experiment with joining aggregations into regular "join" ↵Nick Kallen2008-01-214-6/+22
| | | | functionality; half-way done...
* completed initial functionality for joining with aggregation (the meaning of ↵Nick Kallen2008-01-2111-52/+78
| | | | which is joining on a subselect/derived table); the big change is the introduction of a #projections protected method; this is a private version of #attributes which preserves implementation information (e.g., the name of the function called)
* adding grouping functionality; added some dummy code ("Schmoin") for ↵Nick Kallen2008-01-169-16/+91
| | | | experimenting with aggregate joins. need to resolve the ambiguity in the #as operator between (SELECT * FROM foo AS bar) vs. (SELECT * FROM foo) AS bar
* Remove ActiveRelation sub-modules and refactor specsBryan Helmkamp2008-01-1418-503/+471
|