Commit Graph

104 Commits

Author SHA1 Message Date
Rotem Tamir
f326c7dfd0 dialect/sql: report explicit error when trying to SELECT .. FOR UPDAT… (#1847)
* dialect/sql: report explicit error when trying to SELECT .. FOR UPDATE with sqlite

* remove redundant assertion
2021-08-17 12:54:23 +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
e71ccc6b6e dialect/sql/sqlgraph: fix bug in entql predicate evaluation (#1827) 2021-08-11 21:03:52 +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
b19ac669c7 dialect/sql: override column values on Updater.Set
Avoid cases like 'SET a = 1, a = 2'.
2021-08-01 09:53:26 +03:00
Ariel Mashraki
b8f8ea0f06 dialect/sql: move onconflict clause to functional options 2021-07-28 12:49:11 +03:00
Ariel Mashraki
9de519d027 dialect/sql: add expression function support 2021-07-27 11:36:56 +03:00
Andrey Elenskiy
20b616768d dialect/sql: return selector's alias as a table name (#1745)
In case selector's from clause has *Selector instead of *SelectTable,
TableName() function (used for column checking) will panic.

Instead, return selector's alias which is useful if the query returns
a table with the same schema as some entity. Essentially, this allows
materialized views to reuse the same entity code as long as columns
are matching.
2021-07-25 22:14:32 +03:00
Khadija Sidhpuri
364ab46333 dialect/sql: append UNION before ORDER BY (#1761)
* fix: builder to append UNION before ORDER_BY

* gofmt builder_test.go
2021-07-22 23:33:34 +03:00
Ariel Mashraki
6a7b3c8e7a entc/gen: add feature-flag and implementation for sql/lock
Fixed #358
2021-07-21 11:50:06 +03:00
Tony Griezmann
201c7301aa dialect/sql/schema: support for USING method in create index builder (#1730)
* Support for USING 'method' in create index

* Add USING 'method' in create index support for MySQL

* Fix USING 'method' for MySQL to be a raw string
2021-07-19 15:21:35 +03:00
Ariel Mashraki
99a9d6cf9b dialect/sql: introduce lock config options 2021-07-08 16:41:01 +03:00
bshihr
4066255641 dialect/sql/schema: add IndexBuilder.IfNotExists and use for Create() case. (#1666)
Append-only mode creates tables with the `IF NOT EXISTS` annotation.
Make indices case symmetric with this.
2021-06-30 09:09:48 +03:00
Ariel Mashraki
b8f4614bfd dialect/sql: allow adding check clauses in create table 2021-06-17 22:30:15 +03:00
Ariel Mashraki
f5c284787f dialect/sql: allow appending select columns to query 2021-06-01 11:50:16 +03:00
Ariel Mashraki
69c4e2387e dialect/sql: add (not)exists predicate for builder 2021-05-27 21:56:56 +03:00
Ariel Mashraki
961dc08d14 examples/fs: add example for recursive traversals (#1599) 2021-05-25 20:45:37 +03:00
Ariel Mashraki
02452aad89 dialect/sql: add option to prefix select queries (#1598) 2021-05-25 18:38:06 +03:00
Ariel Mashraki
5d3cc575b3 dialect/sql: add union and with-recursive api for builder (#1595) 2021-05-25 18:27:32 +03:00
Benjamin Bourgeais
d114942589 dialect/sql: improve equalfold implementation (#1572) 2021-05-19 22:30:50 +03:00
陈杨文
6d3df1469c dialect/sql: include nested builder errors on join (#1533)
* sql.Builder Join include Querier's error

* sql.Builder Join ignore nil error

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2021-05-05 17:09:55 +03:00
Ariel Mashraki
edf473e043 dialect/sql: correct alias names for multiple join tables 2021-04-29 23:05:28 +03:00
Ariel Mashraki
1908b3e35f dialect/sql/sqlbuild: replace bytes.buffer with strings.builder (#1502)
benchmark                                      old ns/op     new ns/op     delta
BenchmarkInsertBuilder_Default/sqlite3-16      285           253           -11.06%
BenchmarkInsertBuilder_Default/mysql-16        283           219           -22.70%
BenchmarkInsertBuilder_Default/postgres-16     374           340           -9.17%
BenchmarkInsertBuilder_Small/sqlite3-16        1945          1734          -10.85%
BenchmarkInsertBuilder_Small/mysql-16          1957          1741          -11.04%
BenchmarkInsertBuilder_Small/postgres-16       2393          2220          -7.23%

benchmark                                      old allocs     new allocs     delta
BenchmarkInsertBuilder_Default/sqlite3-16      5              6              +20.00%
BenchmarkInsertBuilder_Default/mysql-16        5              5              +0.00%
BenchmarkInsertBuilder_Default/postgres-16     6              7              +16.67%
BenchmarkInsertBuilder_Small/sqlite3-16        22             23             +4.55%
BenchmarkInsertBuilder_Small/mysql-16          22             23             +4.55%
BenchmarkInsertBuilder_Small/postgres-16       31             32             +3.23%

benchmark                                      old bytes     new bytes     delta
BenchmarkInsertBuilder_Default/sqlite3-16      456           168           -63.16%
BenchmarkInsertBuilder_Default/mysql-16        440           104           -76.36%
BenchmarkInsertBuilder_Default/postgres-16     480           176           -63.33%
BenchmarkInsertBuilder_Small/sqlite3-16        1624          1176          -27.59%
BenchmarkInsertBuilder_Small/mysql-16          1624          1176          -27.59%
BenchmarkInsertBuilder_Small/postgres-16       1656          1192          -28.02%
2021-04-23 11:10:33 +03:00
Ariel Mashraki
497fca4c96 entc/gen: skip selecting group-by fields if they already selected 2021-04-19 17:20:44 +03:00
Ariel Mashraki
f12ef91829 entc/gen: privatize table columns check 2021-03-29 14:35:38 +03:00
Ariel Mashraki
a3c536402a dialect/sql: add missing godoc comments (#1372) 2021-03-22 18:45:50 +02:00
Ivan Vanderbyl
afa3beca6b dialect/sql: add on-conflict handling to sql builder (#1370)
* Adds conflict handling to sql builder

* Revert some builder tests

* Fix builder test

* Revert

* Revert another line

* Update dialect/sql/builder.go

* Move conflict ops

* Refactor conflict handling builder

Co-authored-by: Ivan Vanderbyl <ivanvanderbyl@gmail.com>
Co-authored-by: Ivan Vanderbyl <ivanvanderbyl@users.noreply.github.com>
2021-03-22 12:36:43 +02:00
Ruben de Vries
68a6bd7fcd dialect/sql: add helpers for basic predicates for comparing 2 columns. (#1358) 2021-03-22 11:42:12 +02:00
Ariel Mashraki
14ed353ca9 dialect/sql: minor improvements to sql builder (#1343)
benchmark                                     old ns/op     new ns/op     delta
BenchmarkInsertBuilder_Default/default-16     6210          922           -85.15%

benchmark                                     old allocs     new allocs     delta
BenchmarkInsertBuilder_Default/default-16     86             16             -81.40%

benchmark                                     old bytes     new bytes     delta
BenchmarkInsertBuilder_Default/default-16     4098          1088          -73.45%
2021-03-17 14:36:09 +02:00
Ariel Mashraki
66ec8ceb1a dialect/sql: add ParamFormatter interafce (#1279)
Allow wrapping placeholder parameters with custom format.
For example, '?' => 'ST_GeomFromWKB(?)'.
2021-02-26 14:34:10 +02:00
Ariel Mashraki
72f8b1281f all: minor comment and style changes 2021-02-23 21:00:20 +02:00
Ariel Mashraki
d6f6c81a22 dialect/sql: allow creating predicate from raw expression (#1263) 2021-02-19 17:29:16 +02:00
Ruben de Vries
9e610c7b54 dialect/sql: fix Builder.Join implementation for postgres (#1212)
Don't use .Total() in builder.Join and purely rely on len(args).
2021-02-07 18:07:48 +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
Marwan Sulaiman
ddb25280cd dialect/sql: Add context.Context to sql.Selector (#1185) 2021-01-18 17:32:42 +02:00
Ariel Mashraki
d4d10d3977 dialect/sql: support sql expression in predicate args (#1166) 2021-01-13 14:12:01 +02:00
Ariel Mashraki
ad92b2323b dialect/sql: add option to order by expression 2021-01-11 17:22:20 +02:00
Ariel Mashraki
3f75ffabd8 dialect/sql: add expr querier 2021-01-11 17:22:20 +02:00
Ariel Mashraki
f2aa1854e4 schema/field: generate numeric builder with new godoc 2021-01-10 14:28:12 +02:00
Marwan Sulaiman
5118e82422 dialect/sql: skip schema prefix when dialect is SQLite (#1135)
* Skip schema prefix when dialect is SQLite

* Update dialect/sql/builder.go

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>

* abstract schema checks

Co-authored-by: Ariel Mashraki <7413593+a8m@users.noreply.github.com>
2021-01-05 22:10:36 +02:00
Marwan Sulaiman
cc4c3afe92 Add schema options for sql builders (#1134) 2021-01-05 19:42:53 +02:00
Ariel Mashraki
0f7ab71e24 dialect/sql: reset predicate before execute (#1092) 2020-12-28 11:45:16 +02:00
Ariel Mashraki
eca18b0894 dialect/sql: add check clause for column builder (#1065) 2020-12-20 10:33:34 +02:00
Ariel Mashraki
1270ba1bd8 dialect/sql: add support for setting the table_schema in select_table (#1001) 2020-11-30 13:36:49 +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
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
122ee020b7 dialect/sql: add support for table options (#925) 2020-11-06 18:14:23 +02:00
Ariel Mashraki
98aeb19013 entc/internal: add snapshot restore logic (#862)
Issue #852
2020-10-19 14:51:28 +03:00
maxilozoz
d6fd283f68 dialect/sql: add support for selector in the notIn predicate (#861)
* `notIn` support Selector like `in`

* `notIn` args check
2020-10-19 14:47:17 +03:00
Ariel Mashraki
16e804a788 entql: add experimental implementation for entql 2020-10-11 14:41:03 +03:00