Commit Graph

84 Commits

Author SHA1 Message Date
Ariel Mashraki
deb63d0292 dialect/sql: support passing selectors to basic predicates
Closed https://github.com/ent/ent/issues/2236
2021-12-25 15:02:49 +02:00
Ariel Mashraki
1c263c7abd dialect/sql: add support for SelectExpr (#2220) 2021-12-16 13:50:03 +02:00
Ariel Mashraki
b99ce66f40 dialect/sql: calling Update.Add after Update.Set should append expression (#2168) 2021-11-25 12:03:12 +02:00
Ariel Mashraki
a5fea077a9 dialect/sql: use identifier qualifiers for WHERE clause on upsert
Fixed https://github.com/ent/ent/issues/2126
2021-11-12 23:46:46 +02:00
Ariel Mashraki
e8e4401d27 dialect/sqltest: use postgres dialect in predicate tests 2021-11-03 13:39:39 +02:00
Ariel Mashraki
02203c3f91 dialect/sqltest: ensure predicates can be reused 2021-11-02 23:01:11 +02:00
Ariel Mashraki
a1f6de2793 dialect/sql: escape special characters in pattern matching
Resources:
- https://www.postgresql.org/docs/current/functions-matching.html\#FUNCTIONS-LIKE
- https://www.sqlite.org/lang_expr.html\#the_like_glob_regexp_and_match_operators
- https://dev.mysql.com/doc/refman/8.0/en/string-literals.html

Fixed https://github.com/ent/ent/issues/2059
2021-10-24 21:14:26 +03:00
Ariel Mashraki
963bd669fd dialect/sql: add example to SIMILAR TO predicate (#2055) 2021-10-21 12:01:58 +03:00
Ariel Mashraki
9e809635b2 entc/gen: ignore immutable fields on Upsert<T>.UpdateNewValues
Also, for some reason, the TimeMixin.UpdateTime was an immutable field,
but this was incorrent, because the codegen just skip generating
update setters to it. Removing the Immutable modifier allows users
to set this field explicitly.
2021-10-08 08:20:05 +03:00
Ariel Mashraki
5f31091dcd entc/gen: support de/incrementing values on upsert
Fixed https://github.com/ent/ent/issues/1952.
2021-09-17 14:25:34 +03:00
Ariel Mashraki
912415e1e1 dialect/sql: add Add method to UpdateSet 2021-09-16 23:41:29 +03:00
Ariel Mashraki
3c650e507e dialect/sql: use raw 0 in COALESCE function on Add calls
The second argument for COALESCE function is not a dynamic argument (always 0).
2021-09-16 23:07:45 +03:00
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
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
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
69c4e2387e dialect/sql: add (not)exists predicate for builder 2021-05-27 21:56:56 +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
efd225822c dialect/sql: add driver.Valuer to ParamFormatter example 2021-05-03 14:10:02 +03:00
Ariel Mashraki
edf473e043 dialect/sql: correct alias names for multiple join tables 2021-04-29 23:05:28 +03: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
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
d6f6c81a22 dialect/sql: allow creating predicate from raw expression (#1263) 2021-02-19 17:29:16 +02:00
Ariel Mashraki
ae0cdf0445 dialect/sql: minor test changes (#1247) 2021-02-07 19:08:22 +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
5fc907451f dialect/sql: test order by expression 2021-01-11 17:22:20 +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
Ariel Mashraki
122ee020b7 dialect/sql: add support for table options (#925) 2020-11-06 18:14:23 +02:00
Alex Snast
cd0a79e821 sql/builder: expand limit / offset into query instead of args (#816) 2020-10-04 13:13:56 +03:00
maxilozoz
21c2b3b467 dialect/sql: add left/right join support for selector builder 2020-10-01 20:03:45 +03:00
Ariel Mashraki
09be472be8 dialect/sql: add option for adding and getting error from builders 2020-09-10 22:53:25 +03:00
Ariel Mashraki
ce48ab99b8 dialect/sql/sqljson: move json predicates to a package (#735) 2020-09-07 21:22:12 +03:00
Ariel Mashraki
e4767ed83e dialect/sql: add json-eq op for predicates (#728) 2020-09-05 20:21:13 +03:00