Ariel Mashraki
92ff734815
dialect/sql: add support for window functions ( #2431 )
2022-03-27 20:53:36 +03:00
Ariel Mashraki
412947d274
dialect/sql: avoid passing bool arguments on bool predicates ( #2405 )
2022-03-15 22:52:49 +02:00
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
Alexander Melentyev
147b1f59ae
all: small typo fixes ( #2095 )
2021-11-01 17:47:06 +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
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
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