Commit Graph

68 Commits

Author SHA1 Message Date
Ariel Mashraki
89e2d52000 entc/gen: merge context.go contents to ent.go file (#3355) 2023-02-28 11:55:34 +02:00
Ariel Mashraki
9c40fbc07b entc/gen: fix inconsistent goimports formatting (#3344) 2023-02-22 21:29:15 +02:00
Ariel Mashraki
8a31204259 entc/gen: reduce codegen lines (#3321) 2023-02-16 14:19:54 +02:00
Ariel Mashraki
770bb0f1a2 entc/gen: merge generate config.go file with client.go (#3319) 2023-02-16 12:08:41 +02:00
Ariel Mashraki
baec350ed4 entc/gen: support type-based matching for edge-schema columns (#3306)
In case of no match by foreign-keys, we search by edge-type. This can happen if the type (edge owner)
is named T, but the edge-schema E names its edge field as u_id. We consider it as a match if
there is only one usage of T in E.
2023-02-07 10:58:20 +02:00
Ariel Mashraki
939c7cff1a entc/gen: reduce the usage of DISTINCT in queries (#3305)
Most queries are not graph traversals but rather regular table scans,
in which case the DISTINCT clause is not needed as duplicates cannot be
returned (unless query was modified by the user).
2023-02-06 22:40:50 +02:00
Ariel Mashraki
138bd2bc1d entc/gen: <T>Query.IDs should not return duplicates (#3304) 2023-02-06 21:19:05 +02:00
Ariel Mashraki
0e6ef32505 dialect/sql/sqlgraph: add update spec builder (#3301) 2023-02-06 07:13:06 +02:00
Ariel Mashraki
92cc7438f7 dialect/sql/sqlgraph: add deletion spec builder (#3291) 2023-02-01 11:55:00 +02:00
Ariel Mashraki
cb2f75932f entc/gen: change typo from Use to Intercept (#3290) 2023-02-01 11:43:17 +02:00
Ariel Mashraki
037b5a4bc3 dialect/sql/sqlgraph: add builders to create spec (#3288) 2023-01-31 09:37:51 +02:00
Ariel Mashraki
a0fad09539 entc/gen: remove unnecessary function from codegen (#3287) 2023-01-30 18:32:25 +02:00
Ariel Mashraki
d11122592a entc/gen: add support for UpdateOne with predicates (#3286) 2023-01-29 13:09:16 +02:00
Ariel Mashraki
d66350ae40 entc/gen: add support for DeleteOne with predicates (#3271)
Also, fixed a bug in DeleteOne.Exec where it was skipping NotFoundError
2023-01-24 15:10:20 +02:00
sisterdong
c9445d2794 entc/gen: make interceptor works for eager loading m2m edges (#3257)
* entc/gen: make interceptor works for eager loading m2m edges

* entc/gen: make interceptor works for eager loading m2m edges

* entc/gen: fix indent

* entc/gen: go generate example
2023-01-23 15:42:08 +02:00
Ariel Mashraki
ef0427550f ent: add additional fields to QueryContext 2023-01-14 22:47:54 +02:00
Ariel Mashraki
236cd2920c entc/gen: use consistent per-node client names (#3233)
Fixed https://github.com/ent/ent/issues/3230
2023-01-11 12:09:13 +02:00
Ariel Mashraki
b88f45aa78 entc/gen: skip executing sub-query for empty set of edges (#3212) 2023-01-07 08:54:18 +02:00
Pedro Henrique
8307c2eaba entc/gen: copies interceptors on Clone (#3194) 2022-12-28 06:29:48 +02:00
Ariel Mashraki
34bd0b7b6f entc/gen: move mutation hooks logic to a shared generic function (#3180) 2022-12-19 17:36:29 +02:00
Ariel Mashraki
68a4533574 entc/gen: use new sql predicates to reduce codegen size (#3179) 2022-12-19 11:40:39 +02:00
Ariel Mashraki
f226627d67 ent: export query interceptors (#3157) 2022-12-19 10:17:10 +02:00
Ariel Mashraki
d0c5afa705 entc/gen: make generated client to implement the ent.Mutator interface (#3161) 2022-12-09 21:18:25 +02:00
Ariel Mashraki
381483e45c entc/gen: remove unnecessary sqlgraph.To step on HasE predicates (#3144)
Predicate that checks existence-only do not need the 'other' table
2022-12-04 13:15:16 +02:00
Ariel Mashraki
f1205ce95f entc/gen: remove driver specific implementation for Exist (#3136) 2022-12-01 17:39:52 +02:00
Ariel Mashraki
b6a475f066 entc/gen: skip generating edge-schema unique indexes if defined 2022-11-23 18:56:02 +02:00
Ariel Mashraki
2d980550db doc/edges: document the new edges behavior 2022-11-20 17:37:08 +02:00
Ariel Mashraki
f46dd7ace8 dialect/sql/sqlgraph: add support for edge-schema in create-bulk 2022-11-20 17:37:08 +02:00
Ariel Mashraki
aa3d21f01a dialect/sql/sqlgraph: changing the M2M creation semantic from Add to Connect
Thus, calling AddE with the same edge values, ignore and not throw an error.
For edge-schemas with extra fields, we maintain the same logic because we cannot
determine if the extra fields have different values that what exist in the database
2022-11-20 17:37:08 +02:00
Ariel Mashraki
35d0d4c3db dialect/sql/sqlgraph: handle edge-schema in M2O/O2Oi calls entql 2022-11-01 19:46:33 +02:00
Ariel Mashraki
3ddcb76ba0 entc/gen: fix codegen typo 2022-10-26 21:08:39 +03:00
Ariel Mashraki
765ec09d31 entc/gen: add Aggregate to <T>Select and <T>Query 2022-10-23 09:50:23 +03:00
Marwan Sulaiman
713828b311 Remove unused variable and type redundancy (#2996) 2022-10-09 00:59:52 +03:00
Ariel Mashraki
a8dde5e0d1 dialect/sql/sqlgraph: move fields setters to method calls (#2995) 2022-10-08 20:08:22 +03:00
Ariel Mashraki
1029a2d3ba entc/gen: attach tx hooks to underlying driver (#2980)
Allow attaching hooks to new instances of ent.Tx.
For example, ent.Mutation.Tx().OnCommit.
2022-10-01 09:26:02 +03:00
Aagosh
326fe42d49 entc/gen: use FirstID instead of Count for Exist calls (#2896)
* Improve sqlexist template

* Address review comment and regenerate files

* Regenerate using go1.19

* Run go generate for examples dir

* Address review comment

* Update entc/gen/template/dialect/sql/query.tmpl

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2022-09-04 10:04:57 +03:00
Ariel Mashraki
2969796669 dialect/sql/sqlgraph: support batch-upadte for edge-schemas (#2897) 2022-09-02 15:33:41 +03:00
Ariel Mashraki
f40cdf84f4 entc/gen: ensure immutability is consistent between edge and their fields (#2877) 2022-08-20 19:30:27 +03:00
Ariel Mashraki
b18ca9ca6f schema/edge: allow setting immutable edges (#2876) 2022-08-20 19:10:16 +03:00
Ariel Mashraki
2c63d1d70e all: gofmt -w -r 'interface{} -> any' (#2874) 2022-08-19 18:23:04 +03:00
Viktoriia Dlugopolskaia
7eb1ccd274 entc/gen: ignore immutable fields updating during bulk upsert (#2840) 2022-08-12 19:50:05 +03:00
Ariel Mashraki
47972774c5 go: bump go/packages version ci to 1.18+1.19 (#2832)
* bumped pkg golang.org/x/tools version to address issue #2826

* .github: update go1.19 in go generate

Co-authored-by: Ankit Patial <ankitpatial@gmail.com>
2022-08-05 11:17:53 +03:00
Giau. Tran Minh
89007ec983 entc/gen: fixed privacy filter for M2M edges (#2828)
* entc: fixed privacy filter for M2M

* all: codegen
2022-08-03 23:24:25 +03:00
Ariel Mashraki
26e07c90c0 dialect/sql/sqlgraph: support edgeschema in entgql (#2817) 2022-08-01 18:18:12 +03:00
Ariel Mashraki
b60e0f9eac entc/gen: add support for WithNamed<E> feature-flag (#2792)
* entc/gen: struct fields and methods for NamedEdge api

* entc/gen: generate WithNamedEdge methods for named-edges

* entc/gen: implement eager-loading for named-edges

* entc/gen: simplify eager-loading template

* entc/gen: drop support for unqiue edges in named-based loading

* all: codegen

* doc/website: named-edges feature-flag

* Update doc/md/eager-load.mdx

* Update doc/md/eager-load.mdx
2022-07-24 18:41:07 +03:00
Ariel Mashraki
a2b18f24f0 entc/gen: move eager-loading to method (#2790)
This is a preparation work for 'WithNamed<E>' API
2022-07-23 23:46:02 +03:00
Sasha Melentyev
9e0d8af284 ent/gen: use error.New for errors without format (#2764) 2022-07-17 16:50:50 +03:00
Ariel Mashraki
ddc46d34d8 schema/field: correctly extract package names from type identifier (#2765)
Fixes https://github.com/ent/ent/issues/2761
2022-07-17 16:49:11 +03:00
Ariel Mashraki
01f97334af entc/gen: use custom schema-type in join tables foreign-keys (#2760)
Fixed https://github.com/ent/ent/issues/2753
2022-07-15 11:01:13 +03:00
Ariel Mashraki
047b804dcd ent/gen: remove unnecessary if block in IN predicates (#2758) 2022-07-15 10:30:23 +03:00