1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

102 Commits

Author SHA1 Message Date
Mark aka walkingdevel
6ac09e605e
orm: allow structs without the id field, more flexible primary keys (#18140) 2023-05-09 00:21:42 +03:00
Mark aka walkingdevel
40a97aed1a
docs, orm: update examples (#18106) 2023-05-03 20:33:16 +03:00
Delyan Angelov
5631e2f01d
ci,cgen,orm: fix CI failures after 9f118ba 2023-05-02 21:29:58 +03:00
Alexander Medvednikov
9f118ba3f1 orm: skip via the "-" attribute 2023-05-02 17:00:54 +02:00
Mark aka walkingdevel
ca2820da5f
checker, orm: don't insert an uninitialized struct in the related table. (#18093) 2023-05-02 11:14:42 +03:00
Mark aka walkingdevel
3fb32a866c
all: like operator/keyword for V ORM (#18020) 2023-04-23 03:40:54 +03:00
walking devel
8452644ec3
orm: enforce that queries always return a Result, a query-resulting array can be used as a V array in place. (#17871) 2023-04-04 08:23:06 +03:00
Delyan Angelov
db97630117
examples, orm: fix orm example; add -d trace_orm option to see all ORM generated queries (#17770)
* orm: add tracing of the generated queries by the orm module, when a program is compiled with `-d trace_orm`

* examples: fix examples/database/orm.v, add comments, and ensure that the example can be run several times with no errors

The example demonstrates connecting to all 3 DBs in the same program, and will be added to the CI very soon,
to serve both as a regression test, if it fails, and as an example to how to use the ORM in combination with
raw SQL queries to the DBs (which are driver/wrapper specific, unlike the ORM, but can be more convenient in some situations).
2023-03-25 21:46:17 +02:00
walking devel
d0e78b1da6
parser: breaking change, let V ORM queries return arrays for *all* non-count queries, including limit = 1 (#17719) 2023-03-22 09:48:01 +02:00
Felipe Pena
9e7aeec215
sql: fix wrong field name on generated code (#17684) 2023-03-17 21:45:52 +01:00
walking devel
3682a9cf88
orm: allow use of mut db orm.Connection (#17439) 2023-03-01 00:49:30 +02:00
walking devel
b7b6c2368e
orm: allow using connections, that were explicitly casted to orm.Connection too (#17427) 2023-02-27 23:54:03 +02:00
walking devel
580dbc3f0e
orm: allow inserting empty objects with db.sqlite (SQLite uses a slightly different SQL dialect) (#17334) 2023-02-16 11:34:16 +02:00
walking devel
5d4c9dc9fc
checker: allow using struct field as ORM limit and offset. (#17330) 2023-02-15 19:47:35 +02:00
walking devel
03be525c82
orm: allow using reference objects in ORM insert. (#17279) 2023-02-11 10:02:55 +02:00
walking devel
d563739264
checker: add type checking for ORM limit, offset, and order by. (#17095) 2023-01-31 10:22:02 +02:00
walking devel
4747e70d9d
orm: make last_id() return int, instead of orm.Primitive (fix #12110) (#17151) 2023-01-29 16:00:23 +02:00
walking devel
9a86456365
cgen: support string interpolation in ORM queries (#17141) 2023-01-29 01:27:34 +02:00
walking devel
a9a04bba55
orm: support fn calls in where (#17127) 2023-01-26 22:36:30 +02:00
walking devel
2fb9bdce9a
cgen, checker: add panic in ORM for invalid queries, when there are no or {} blocks, add type checking for the fkey attribute, add tests (#16977) 2023-01-17 20:21:10 +02:00
yuyi
64558df764
vlib: move the mysql/sqlite/pg/mssql modules under vlib/db (#16820) 2023-01-13 17:02:32 +02:00
Felipe Pena
1ba1f99b9c
orm: declare missing functions to handle literal types (#16627) 2022-12-09 20:34:34 +02:00
Delyan Angelov
458e68e196
orm,sqlite,mysql,pg: cleanup import v.ast, using typeof[Type]() 2022-12-07 13:40:46 +02:00
Swastik Baranwal
ada8643ac5
checker: disallow using builtin type names for const names (#16599) 2022-12-06 15:44:25 +02:00
yuyi
017ace6ea7
vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
Delyan Angelov
f427a5241a
os,tools: add os.vtmp_dir()
Use it to consistently place all temporary files created by tests in a overridable folder specific to the user, that is easy to cleanup later.

NOTE: os.temp_dir() on macos returns `/tmp`, and using `/tmp/v` is a problem when multiple unix users are trying to access/create/write to it.
2022-11-03 10:19:51 +02:00
yuyi
992b502198
db, json, time, term: change optional to result (#16201) 2022-10-26 11:26:28 +03:00
yuyi
41dbd12bc4
tests: make error handling the same as the main function (#15825) 2022-09-21 19:45:43 +03:00
Delyan Angelov
f922ed0941
tests: unify all temporary files/folders under $VTMP/v, that can be cleaned by v wipe-cache (#15774) 2022-09-16 04:56:19 +03:00
Louis Schmieder
f249feb9da
orm: support parenthesized expressions as in select from User where (name == 'Sam' && is_customer == true) || id == 1 (#15693) 2022-09-09 21:08:48 +03:00
Hitalo Souza
95a328be98
orm: improve the README and the tests. Add an error message for foreign key tags (#15670) 2022-09-06 13:12:37 +03:00
Louis Schmieder
6110373519
orm: init or implementation (#14989) 2022-08-31 14:43:20 +03:00
cstffx
095f4bcf86
orm: add missing 'nonull' attribute description (#15348) 2022-08-05 10:27:19 +03:00
Hitalo de Jesus do Rosário Souza
e5e750d533
orm: default attribute (#15221) 2022-07-27 00:59:32 +03:00
Hitalo de Jesus do Rosário Souza
a13b8ff0c8
mysql: fix for adapting mysql types to v structs (#15100) 2022-07-19 18:29:09 +03:00
Hitalo de Jesus do Rosário Souza
3f3742122f
orm: sql type in struct by attribute (#14919) 2022-07-13 18:03:30 +03:00
Hitalo de Jesus do Rosário Souza
d4b0ebf215
doc: clear the explanation to 'sql: type' (#14915) 2022-07-09 14:04:35 +03:00
zakuro
a46bcf3571
all: v.ast.byte_type -> v.ast.u8_type (#14964) 2022-07-06 13:32:30 +03:00
Louis Schmieder
5df3d8ac75
orm: mysql fixes (#14772) 2022-06-16 20:19:49 +03:00
Louis Schmieder
a83ac948a0
orm: document & fix pg (#14533) 2022-05-26 22:53:09 +03:00
Daniel Däschle
d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
Alexander Medvednikov
af73e195da net: byte fixes 2022-04-15 15:55:39 +03:00
Alexander Medvednikov
36ec47cd20 all: replace "NB:" with "Note:" (docs/comments) 2022-03-06 20:01:22 +03:00
Delyan Angelov
fa2de89db9
orm: do not order by default, ordering is slow; also fix a bug for tables without defined primary keys 2021-12-23 16:43:22 +02:00
Louis Schmieder
d33f7d12f7
orm: fix time struct in sql stmt (#12298) 2021-10-28 22:31:41 +03:00
Yeuda By
8d5931c96c
orm: fix a typo (#12131) 2021-10-10 03:47:35 +03:00
Alexander Medvednikov
4a6d161c08 orm: postgres fixes 2021-09-30 20:00:27 +03:00
Louis Schmieder
6391f3d2da
orm: fix other int types (#11981) 2021-09-26 11:17:56 +03:00
Enzo
c8471528ce
fmt: format long sum-types with a line for each type (#11461) 2021-09-10 20:56:55 +03:00
Enzo
cc8ee5fb84
all: introduce isize and usize (#11437) 2021-09-08 05:53:39 +03:00