Aaron L
32561717b1
Clean up the byte primary key stuff
2016-09-16 08:02:32 -07:00
Aaron L
c624943f53
Make a rough sketch of what this would look like
...
Needs cleanup: Do not merge
2016-09-16 00:22:12 -07:00
Aaron L
a426f09a75
Remove helpers in favor of more optimized paths
2016-09-15 23:44:44 -07:00
Aaron L
b0b0ff87c6
Fix MySQL return query optimization.
...
- Before, this could erroneously detect that it could do without the
return query because it thought all we wanted was the id. Now with
this fix it should properly discard the query when all we want is id.
2016-09-15 22:28:23 -07:00
Aaron L
bac82b6f0e
Correct caching for upserts with no returns
...
- Previously it would return early, and therefore no caching was being
performed since it would never write to the cache.
2016-09-15 22:17:37 -07:00
Aaron L
440e3a1343
Fix cache keying for upsert
...
- Previously the non-zero default columns were not taken into account
and therefore this cached too aggressively.
2016-09-15 22:08:45 -07:00
Aaron L
09eeef63af
Optimize upsert.
2016-09-14 23:06:06 -07:00
Patrick O'brien
0abfe1cba6
Fix upsert if else
2016-09-15 14:59:48 +10:00
Patrick O'brien
b3230c2757
Fix insert with goto
2016-09-15 14:46:03 +10:00
Patrick O'brien
e52fac9c5e
Fix indentation
2016-09-15 14:27:06 +10:00
Patrick O'brien
01f08efe8a
Fix lint errors for generated package
2016-09-15 14:21:33 +10:00
Aaron L
f803cdd6bd
Fix all references to moved elements.
2016-09-14 21:02:24 -07:00
Patrick O'brien
f6b4d3c6fd
Rename exec funcs to conform to sql stdlib
2016-09-15 02:14:30 +10:00
Patrick O'brien
1c28f761f1
Upsert fixed
2016-09-15 01:36:36 +10:00
Patrick O'brien
931f3d2de5
Fix mock driver compat with upsert
2016-09-14 18:27:20 +10:00
Patrick O'brien
83f7092dc6
Add MySQL Upsert, fix identation in all tpls
2016-09-14 18:14:07 +10:00
Aaron L
a86e794b61
Fix composite primary keys for DeleteAll
2016-09-13 17:20:13 -07:00
Patrick O'brien
91bb5ee940
Change Exec funcs to methods with Query receiver
2016-09-13 19:46:32 +10:00
Aaron L
1facccacc1
Fix an edge case for MySQL
...
- This patch removes auto-generation of queries that have the pattern
COUNT(tablename.*) which is a syntax error in mysql.
2016-09-13 00:48:14 -07:00
Aaron L
b1e8816d42
Fix update all
2016-09-12 23:49:18 -07:00
Aaron L
912693a124
Update parameter generation for mysql
2016-09-12 23:28:23 -07:00
Aaron L
37a05de380
Fix a mistake in the insert query
2016-09-11 23:50:11 -07:00
Aaron L
8392a4ba2a
Fix quoting throughout templates
...
- Use "" style strings for all templates
- Attach a Quote and SchemaTable that understand escaped quotes so we
can use "" style strings without repercussion.
- Make SchemaTable use escaped quotes
- Remove schemaTable from the templates in favor of .SchemaTable
2016-09-11 23:50:11 -07:00
Patrick O'brien
793522650c
Add lq, rq, and indexplaceholders args everywhere
2016-09-10 05:15:50 +10:00
Patrick O'brien
419f2760c7
Change quotes to bytes
2016-09-10 03:30:46 +10:00
Patrick O'brien
9e6a3d5ee3
Add quote dialects
2016-09-10 03:14:18 +10:00
Patrick O'brien
ac02f7d2e0
Fix broken relationship templates by adding schema
2016-09-09 22:31:51 +10:00
Patrick O'brien
1c8a9d2e39
Add schema feature to everything (except rels)
...
* Add strmangle SchemaTable helper
2016-09-09 07:23:10 +10:00
Patrick O'brien
4e8191b8dd
Add struct tags flag
2016-09-04 23:44:54 +10:00
Aaron L
22f67ab4ed
Make sure to only write to cache when needed
2016-09-03 23:46:21 -07:00
Aaron L
ecfa35350c
Finish update optimization.
2016-09-03 22:53:42 -07:00
Aaron L
0ebccdb20a
Try and fix MySQL a little bit.
2016-09-03 12:50:31 -07:00
Aaron L
acad9f7de5
Finish Insert() caching.
2016-09-03 12:47:27 -07:00
Aaron L
793306d749
Fit caching in to insert.
2016-09-03 12:24:18 -07:00
Aaron L
e1bfd9d0da
Remove TitleCases from NonZeroDefaultSet
2016-09-03 11:54:23 -07:00
Aaron L
b522ab6a75
Fix spacing in setop methods.
2016-09-03 11:04:37 -07:00
Patrick O'brien
09fb8005f6
Add TitleCase cache
2016-09-02 17:55:16 +10:00
Aaron L
b101df0a24
Make sure join tables get ToMany Set/Remove
2016-09-01 23:33:18 -07:00
Patrick O'brien
4b1c934751
Remove pointers to L, not needed
...
* Add no-tests flag
2016-09-02 11:22:56 +10:00
Patrick O'brien
fd07a1a6a7
Move loaders off R to a new struct L
2016-09-02 11:03:59 +10:00
Aaron L
b5d3b60b3a
ToOne Set Remove no longer uses ...
2016-08-31 21:38:25 -07:00
Patrick O'brien
67ae024439
Unexport Relationship struct
2016-09-01 13:33:05 +10:00
Patrick O'brien
d56e28a36d
Fix Location pointer
2016-09-01 11:24:39 +10:00
Patrick O'brien
8f6191c4d2
Move buildUpsertQuery to boil
2016-09-01 11:20:16 +10:00
Patrick O'brien
87b1f90c43
Fix Find name
2016-09-01 11:16:21 +10:00
Patrick O'brien
e33da59f0b
Update hook names
2016-09-01 11:12:46 +10:00
Aaron L
79d8642d8d
Put setops into their final resting place.
2016-08-29 22:58:55 -07:00
Patrick O'brien
629ec8c8d0
Add hooks to eager load funcs
...
* Add PreserveDots text helper
* Fix bug using wrong XTitleCases name
2016-08-30 02:36:07 +10:00
Patrick O'brien
ccdfc93fee
Add auto timestamps for upsert
...
* Add IsZero checks for auto timestamps
2016-08-29 23:23:42 +10:00
Patrick O'brien
7f24185544
Add executor to hooks
2016-08-29 23:23:42 +10:00
Aaron L
9553f462c7
Merge branch 'sets'
2016-08-28 23:29:47 -07:00
Aaron L
ae99b2a649
Finish ToManyRemove.
...
- Make Set test better.
2016-08-28 23:26:44 -07:00
Aaron L
d9931fe7ba
Finish Set
2016-08-28 21:12:04 -07:00
Aaron L
4ba1849297
Finish ToManyAdd
2016-08-28 16:51:07 -07:00
Aaron L
4e70c9bb17
Near completion on the ToManyAdd setop
2016-08-28 16:36:49 -07:00
Aaron L
0eea12fb75
Complete removal on the remove method
2016-08-28 15:01:37 -07:00
Patrick O'brien
96d40fcfe4
Add automatic timestamps for created_at/updated_at
...
* Update and Insert
* Add --no-auto-timestamps flag
2016-08-29 00:12:37 +10:00
Patrick O'brien
677d45cef4
Add delete and insert hooks to templates
2016-08-28 22:16:08 +10:00
Patrick O'brien
d9ec68b76a
Add afterSelectHooks to One and All finishers
2016-08-28 22:02:21 +10:00
Patrick O'brien
e2553705e1
Remove BeforeSelect hook (makes no sense)
2016-08-28 21:23:08 +10:00
Patrick O'brien
2a5630ce3e
Add before/after select/delete to hooks generation
...
* Add tests for all hooks
2016-08-28 21:13:45 +10:00
Patrick O'brien
8aad8fc479
Rename before/after Create hook to Insert hook
2016-08-28 20:54:46 +10:00
Patrick O'brien
95ff24b918
Add --no-hooks feature
2016-08-28 20:48:50 +10:00
Aaron L
947081c579
Rename ReverseInserts -> OneToOne
...
- Fix bug & failing test
- Skip WIP test
2016-08-28 00:27:50 -07:00
Aaron L
625dee4648
Fix documentation.
...
- Fix test failure for ToOneSet
2016-08-28 00:06:33 -07:00
Patrick O'brien
09cdb7a652
Fix SQL (takes exec now)
...
* Add SQLG
* Update templates using SQL
2016-08-28 14:51:03 +10:00
Aaron L
bc71147282
WIP - Trying to fix bugs
2016-08-27 19:10:46 -07:00
Aaron L
f6206ea6b7
Use better errors in setops
2016-08-27 12:13:15 -07:00
Aaron L
ea22d3656c
Add more text helpers for ToMany.
2016-08-27 12:00:42 -07:00
Aaron L
1887f23ca5
Finish ToOneSet
...
- Replace the custom update that actually set every model's relationship
to the same thing with a real update method so we get logging & hooks
2016-08-26 23:36:57 -07:00
Aaron L
9db43ae3ad
Finish ToOneSet
2016-08-26 22:43:50 -07:00
Aaron L
c1962eb7ac
Get all the tests running properly
2016-08-26 22:04:49 -07:00
Aaron L
f489e22ab4
Rename Loaded -> R
2016-08-26 21:40:29 -07:00
Aaron L
dc49fa4d59
Align some stuff properly
...
- Begin tests
2016-08-26 07:59:28 -07:00
Aaron L
6ad467c259
Started relationship set operations
2016-08-25 23:50:45 -07:00
Aaron L
28e485603a
Add fast path for binding by caching TitleCase
2016-08-23 23:20:41 -07:00
Aaron L
d130354890
Fix eager loading, off-by-one pointer
2016-08-23 22:07:51 -07:00
Aaron L
509fe44f4e
Rename Relationships struct to Loaded
2016-08-22 21:54:02 -07:00
Patrick O'brien
c61ff2aa46
Fix some formatting bugs of generated code
2016-08-21 16:28:47 +10:00
Patrick O'brien
0c44af51a8
Fix name conflict bug in find
...
* Add more tests to test schema
2016-08-21 16:03:51 +10:00
Patrick O'brien
cd7e45efaa
Fix bugs for table only containing composite pkey
...
* Add more tables to test schema
* Add string slice match helper
2016-08-21 15:44:49 +10:00
Aaron L
c04e0d003a
Make relationships only return query objects.
2016-08-18 00:19:15 -07:00
Aaron L
2567a60a25
Rename some files to keep sanity
2016-08-17 23:48:37 -07:00
Aaron L
453858d026
Put the templates in their proper place
2016-08-17 23:26:17 -07:00
Aaron L
92c4e7f8f3
Support many_to_many eager loading properly
...
- Reorder the where statement in to_many to match eager loading.
2016-08-17 23:09:54 -07:00
Aaron L
fb198cc92c
Looking like to_many eager load is done
...
- Fix to_many join table query
- Fix testing output
- Add debug logging
2016-08-16 22:14:07 -07:00
Aaron L
756281f9fb
WIP Debugging eager loading
2016-08-16 22:14:07 -07:00
Aaron L
932f14d26c
Fix up some bits in eager load to_many
2016-08-16 22:14:07 -07:00
Aaron L
eae23ae42b
Add eager loading for to_many
...
- Needs tests
2016-08-16 22:14:07 -07:00
Aaron L
d25712f929
Change entire project tests.
2016-08-14 01:58:36 -07:00
Aaron L
180fbb0b8c
Remove swaths of metadata for tables in templates
2016-08-13 23:50:40 -07:00
Aaron L
f40688cfe3
Refactor Update & Insert tests.
...
- Added additional checking to statements for drivers that support a
number of results affected.
- Changed the way we keep imports around for compare values
2016-08-13 23:38:41 -07:00
Aaron L
efa1fbb80a
Big refactor of generated code
...
- Stop generating helper functions for each model
- Move Insert/Update/Upsert query generation helpers to strmangle
- Add tests for query generation helpers
- Delete a lot of the Insert/Upsert tests that test the query generation
helpers.
- Use tx for more of the tests.
2016-08-13 21:21:26 -07:00
Aaron L
8a7a9a35e8
Fix the last bits of problems with auto inc pkey
2016-08-13 16:34:02 -07:00
Aaron L
944303f2f5
Properly abstract LastInsertID
2016-08-13 16:34:02 -07:00
Aaron L
ef03225024
Add primary key column gen
2016-08-13 16:34:02 -07:00
Aaron L
ab88d8511d
Move string set operations to strmangle
...
- Delete MakeDBName (unused)
- Rename HasElement to SetInclude
2016-08-13 16:34:02 -07:00
Patrick O'brien
160c6ff0f0
Begin the pain
2016-08-13 16:34:02 -07:00
Aaron L
1875bac7cf
Correct improper detection of one-to-one
2016-08-13 15:33:54 -07:00
Patrick O'brien
641a433a2d
Fix query in insert
2016-08-14 06:35:43 +10:00