Ariel Mashraki
2c63d1d70e
all: gofmt -w -r 'interface{} -> any' ( #2874 )
2022-08-19 18:23:04 +03:00
Ariel Mashraki
0fd641333c
dialect/sql/sqlgraph: support custom modifiers in UPDATE commands
2022-08-05 14:42:04 +03:00
Ariel Mashraki
ba582c83b3
entc/gen: improve edge-schema updates ( #2726 )
...
Also, added additional example where an edge schema has another edge
to a type that holds an information about the relationship.
The only reason this example exists is to allow users to reduce the storage
occupied by the join-table and allow connect (via M2O) multiple edge-schemas
to an 'information'/'description' node.
2022-07-07 07:34:17 +03:00
Ariel Mashraki
8c55008a9d
dialect/sql/sqlgraph: handle edge schema in batch inserts ( #2718 )
2022-07-05 14:15:31 +03:00
Ariel Mashraki
ed783dba70
dialect/sql/sqlgraph: support edge-schema in upsert ( #2714 )
2022-07-03 23:29:35 +03:00
Ariel Mashraki
5b81d7d832
dialect/sql/sqlgraph: better support for update nodes with predicates ( #2574 )
2022-05-29 16:23:52 +03:00
Ariel Mashraki
e1c5277483
ent: initial support for edge schemas ( #2560 )
2022-05-25 15:46:00 +03:00
Ariel Mashraki
b70754d12f
dialect/sql/sqlgraph: avoid creating tx blocks for single statement batch-create operation ( #2272 )
...
For example, in PostgreSQL, every statement is executed within a transaction. Therefore, we can avoid creating transaction
blocks manually (group of statements surrounded by BEGIN and COMMIT) for CreateNode operation with single SQL statement.
Benchmark was improved from:
(4000 BatchInserts) 17.16s 4289178 ns/op 412893 B/op 4913 allocs/op
To:
(4000 BatchInserts) 9.16s 2288807 ns/op 412142 B/op 4899 allocs/op
2022-01-15 23:04:37 +02:00
Ariel Mashraki
8f88f58713
dialect/sql/sqlgraph: minor refactor changes
2021-11-07 14:01:54 +02:00
Andrey Elenskiy
62d64f2b78
dialect/sql/sqlgraph: use selector's column instead of table's column in HasNeighbors ( #2060 )
...
Allows for HasNeighbors' selector to be a generic selector instead of *SelectTable.
A use case for this is doing HasNeighbors* function on materialized queries instead
of on concrete tables only.
2021-10-25 07:46:54 +03:00
Ariel Mashraki
3e6c40886d
entc/gen: support count with field selection
...
Fixed https://github.com/ent/ent/issues/2036
2021-10-17 19:03:49 +03:00
Ariel Mashraki
4306643d16
dialect/sql/sqlgraph: support sql.Scanner types when scanning IDs ( #1987 )
...
Fixed https://github.com/ent/ent/issues/1985
2021-09-27 17:49:57 +03:00
Ariel Mashraki
0864659844
dialect/sql/sqlgraph: avoid creating tx blocks for single UPDATE statements
...
In PostgreSQL, every statement is executed within a transaction. Therefore, we can avoid
creating transaction blocks manually (group of statements surrounded by BEGIN and COMMIT)
for UpdateNodes operation with a single UPDATE statement.
Benchmark for 2000 operations was improved from:
7.98s 3992160 ns/op 4887 B/op 116 allocs/op
To:
4.42s 2209659 ns/op 4435 B/op 104 allocs/op
---
MySQL and SQLite share the same behavior. Please see #1858 for more info.
2021-09-11 08:56:37 +03:00
Ariel Mashraki
b23a0e8554
dialect/sql/sqlgraph: avoid creating tx blocks for single DELETE statements
...
In PostgreSQL, every statement is executed within a transaction. Therefore, we can avoid
creating transaction blocks manually (group of statements surrounded by BEGIN and COMMIT)
for DeleteNodes operation as it's implemented with a single statement.
Benchmark for 4000 operations was improved from:
14.54s 7270455 ns/op 3702 B/op 81 allocs/op
To:
5.36s 2679935 ns/op 2864 B/op 59 allocs/op
---
MySQL and SQLite share the same behavior. Please see https://github.com/ent/ent/pull/1858
for more info.
2021-08-27 16:02:29 +03:00
Ariel Mashraki
ea67be12a4
dialect/sql/sqlgraph: avoid creating tx blocks for single statement create operation
...
For example, in PostgreSQL, every statement is executed within a transaction. Therefore, we can avoid creating transaction
blocks manually (group of statements surrounded by BEGIN and COMMIT) for CreateNode operation with single SQL statement.
Benchmark was improved from:
(2000 Inserts) 8.41s 4206748 ns/op 4595 B/op 115 allocs/op
To:
(2000 Inserts) 4.66s 2330222 ns/op 4107 B/op 104 allocs/op
2021-08-20 21:12:24 +03:00
Ariel Mashraki
b8532f87a6
entc/gen: support for upsert with client generated ids
...
Fixed #1826
2021-08-14 17:44:04 +03:00
Ariel Mashraki
09c4306378
entc/gen: add support for upsert/on-conflict feature-flag
2021-08-04 14:01:31 +03:00
Ariel Mashraki
16c4b3379b
sqlgraph: change modifiers to onconflict options
2021-08-01 18:43:59 +03:00
Ariel Mashraki
7acf2234b6
dialect/sql/sqlgraph: allow setting stmt modifiers for create-many
2021-07-29 16:33:26 +03:00
Ariel Mashraki
b9fcbff724
dialect/sql/sqlgraph: allow setting stmt modifiers for create-one
2021-07-29 16:33:26 +03:00
Ariel Mashraki
279d6c2a12
dialect/sql/sqlgraph: add support for query modifiers
2021-07-20 13:14:39 +03:00
Ariel Mashraki
712b6a5f08
dialect/sql/sqlgraph: allow update single node without select
2021-04-14 21:54:27 +03:00
Matthew Gabeler-Lee
c53b45ddb0
all: use %w instead of %v to wrap errors ( #1275 )
...
* all: use %w instead of %v for nested errors with fmt.Errorf
* all: update generated code to use %w instead of %v for error wrapping
2021-03-03 20:05:33 +02:00
Ariel Mashraki
8a8bfe7de6
dialect/sql/sqlgraph: skip setting last-insert-id if was provided ( #1291 )
...
Fixed #1290 . Issue in BulkCreate(<T>) for m2m edges
2021-03-02 11:59:20 +02:00
Ariel Mashraki
dd4792f5b3
go: rename module from github.com/facebook/ent => entgo.io/ent ( #1226 )
2021-02-02 23:03:04 +02:00
Ariel Mashraki
2c7228c23f
dialect/sql/sqlgraph: add schema for deletion command
2021-01-24 19:57:28 +02:00
Ariel Mashraki
aeb1ccc571
entc/gen: move schemaconfig template to feature-flag
2021-01-24 19:57:28 +02:00
Ariel Mashraki
f315801779
dialect/sql/sqlgraph: apply predicate on update-node
2021-01-22 23:04:09 +02:00
Marwan Sulaiman
3439ca207f
dialect/sql/sqlgraph: pass context.Context to *sql.Selector ( #1186 )
...
* Ensure sqlgraph passes the context to *sql.Selector
* Update dialect/sql/sqlgraph/graph_test.go
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
* Update dialect/sql/sqlgraph/graph_test.go
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
* gofmt
Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com >
2021-01-18 19:41:59 +02:00
Marwan Sulaiman
13b61ff455
dialect/sql/sqlgraph: schema options for operations ( #1136 )
...
* Add schema options for sql graph
* PR Fixes
2021-01-12 09:29:01 +02:00
Ciaran Liedeman
4a1ac1eef1
dialect/sql/sqlgraph: allow arbitrary last insert id type ( #1104 )
2020-12-31 12:54:44 +02:00
Ariel Mashraki
da34571560
entc/gen: allow selecting specific fields ( #1075 )
2020-12-23 17:35:39 +02:00
Ariel Mashraki
43fa0ae9bc
dialect/sql/sqlgraph: skip empty updates ( #1043 )
2020-12-14 10:16:21 +02:00
Nathaniel Peiffer
42fa731f39
all: fix linting errors for comments ( #990 )
...
* fix: linting errors for comments
* fix: one more comment
2020-11-27 07:02:18 +02:00
Ariel Mashraki
ac8e8dac83
dialect/sql/sqlgraph: fix postgres lastinsert scanning for non-integer types ( #987 )
...
Fixed #985
2020-11-26 12:12:02 +02:00
Ariel Mashraki
e775227a11
dialect/sql/sqlgraph: avoid query on update when it's not needed ( #932 )
...
Closed #909
2020-11-10 10:01:40 +02:00
Ariel Mashraki
9743213860
dialect/sql/sqlgraph: catch selector errors before query execution
2020-09-10 22:53:25 +03:00
Ariel Mashraki
fc03257412
dialect/sql: add an option for clearing m2m edges ( #730 )
2020-09-06 17:27:31 +03:00
Ariel Mashraki
b18716931d
dialect/sql: change boolean operators wrapping ( #678 )
...
The reason is to parentheses only when it's necessary.
2020-08-20 10:08:31 +03:00
Ariel Mashraki
fd0a7f9f02
all: facebookincubator/ent => facebook/ent ( #660 )
...
ent repository is going to be migrated to facebook organization
2020-08-18 11:05:08 +03:00
Ariel Mashraki
3b77e5d71a
dialect/sql/sqlgraph: use correct column when querying m2o/o2o edges ( #629 )
...
Fixed #621
2020-07-21 10:21:51 +03:00
Ariel Mashraki
720766432a
dialect/sql/sqlgraph: initial work for batch insert ( #573 )
...
This is the first part for adding batch insert support for the framework.
The second part if the codegen.
2020-07-08 17:48:26 +03:00
Alex Snast
68db86be76
avoid multiple rows.Err calls on error path
...
Signed-off-by: Alex Snast <alexsn@fb.com >
2020-05-11 14:26:40 +03:00
Ciaran Liedeman
f59abad425
fix: checks for error after rows.Next call ( #480 )
2020-05-09 16:23:47 +03:00
Ariel Mashraki
416c374cb3
sqlgraph/convert: use json.RawMessage for JSON types ( #393 )
...
If the underlying driver does not support JSON types, driver.DefaultParameterConverter
will convert it to uint8.
2020-03-17 18:34:10 +02:00
Ariel Mashraki
d9c8d9545d
entc/gen: use NotFoundError when updating non-exist node ( #348 )
...
Fixes #341
2020-02-16 13:26:13 +02:00
Ariel Mashraki
b93958ebf4
dialect/sql/sqlgraph: add query edges function ( #274 )
2020-01-07 19:50:33 +02:00
Ariel Mashraki
c09028f58b
dialect/sql/sqlgraph: consistent scan names
2019-12-22 20:12:00 +02:00
Ariel Mashraki
a26b9626a6
entc/gen: move query-count to sqlgraph
2019-12-22 19:42:28 +02:00
Ariel Mashraki
d6d7ef565f
dialect/sql/sqlgraph: minor grammar changes
2019-12-22 15:36:03 +02:00