125 Commits

Author SHA1 Message Date
Vinícius Garcia
edecbf8191 Add feature of omiting the "SELECT" part of the query
Now the 3 functions that allow you to write plain SQL queries
also work if you omit the `SELECT ...` part of the query.

If you do this the code will check and notice that the first
token of the query is a "FROM" token and then automatically
build the SELECT part of the query based on the tags of the struct.

Everything is cached, so the impact on performance should be negligible.

The affected functions are:

- Query()
- QueryOne()
- QueryChunks()
2021-05-16 17:38:18 -03:00
Vinícius Garcia
d275555df5 Update TODO list 2021-05-15 10:53:12 -03:00
Vinícius Garcia
cb84b02e2e Improve README so the fact that the benchmark results are good is enphasized 2021-05-10 09:38:45 -03:00
Vinícius Garcia
56aa77135c Add support to the sqlserver driver =] 2021-05-09 22:33:03 -03:00
Vinícius Garcia
2dd55131d5 Add README instructions on how to run the tests 2021-05-08 13:02:01 -03:00
Vinícius Garcia
bbad31ce4d Add support to the mysql driver 2021-05-08 12:43:11 -03:00
Vinícius Garcia
3a90b03a37 Refactor dialect.go so its easier to add new dialects 2021-05-08 11:56:57 -03:00
Vinícius Garcia
398f7f43d7 Update README code example to use the new constructor 2021-04-06 10:21:07 -03:00
Vinícius Garcia
1fc58339fb Update README 2021-03-12 11:05:12 -03:00
Vinícius Garcia
35c1f42317 Remove var args from Insert and Update, so they actually perform atomic operations in the database 2021-03-12 11:01:36 -03:00
Vinícius Garcia
df7db29464 Rename files kisssql* to ksql* 2021-03-11 22:08:18 -03:00
Vinícius Garcia
8b8fb092d8 Replace all instances of lower-cased kisssql for ksql 2021-03-10 10:11:18 -03:00
Vinícius Garcia
fd659b9c0c Rename kiss_orm* files to kisssql* 2021-03-08 17:01:53 -03:00
Vinícius Garcia
3d14ed0296 Add an example call to the Transaction function on README 2021-03-08 16:11:59 -03:00
Vinícius Garcia
1972ccd989 Fix typo on README 2021-03-08 13:34:45 -03:00
Vinícius Garcia
568c61bdba Replace all ocurrencies of KissORM for KissSQL 2021-03-08 11:18:52 -03:00
Vinícius Garcia
0bd858efee Update TODO list on README 2021-03-04 22:59:26 -03:00
Vinícius Garcia
b38a83ff36 Improve the signature of the New() function so it`s more readable 2021-03-04 22:58:27 -03:00
Vinícius Garcia
d91c7cfcfd Update benchmark 2021-03-04 22:30:33 -03:00
Vinícius Garcia
ff4952da65 Partially update example_service to include the JSON feature
Its only partial because currently the function `structs.FillStructWith`
doesn't support the attributes tagged as `kissorm:"?,json"`

The task of updating the FillStructWith was updated to include this
behavior
2021-03-04 22:24:15 -03:00
Vinícius Garcia
6f1885d3a0 Update examples/crud to include the JSON feature 2021-03-04 22:11:58 -03:00
Vinícius Garcia
097cd943fd Update README file 2021-03-02 22:53:10 -03:00
Vinícius Garcia
665bd35a85 Update TestQueryChunks to include the new json feature 2021-03-02 22:49:20 -03:00
Vinícius Garcia
8c425e93d5 Update TestQuery to include the json feature 2021-03-02 22:38:47 -03:00
Vinícius Garcia
587c620a75 Update TestQueryOne to include the json feature 2021-03-02 22:16:29 -03:00
Vinícius Garcia
d56edab07a Rerun make setup and go mod tidy 2021-03-02 22:00:34 -03:00
Vinícius Garcia
0cf36fcdef Fix make setup recipe 2021-03-02 21:59:16 -03:00
Vinícius Garcia
3d989464a6 Update TestInsert to also test the json feature 2021-03-02 21:58:13 -03:00
Vinícius Garcia
9e3af68fd5 Update tests to work with a JSON field (currently only set to nil) 2021-02-28 20:48:03 -03:00
Vinícius Garcia
3faaa4d152 Add feature for automatically serialize fields tagged as "*,json"
This commit implements the features, but it still needs tests
to confirm it is working.
2021-02-28 13:07:32 -03:00
Vinícius Garcia
f5b7ab8028 Refactor the structInfo struct so it can accept more information 2021-02-28 12:25:42 -03:00
Vinícius Garcia
933ded26f4 Test Insert when the ID retrieval is not supported 2021-02-27 13:00:55 -03:00
Vinícius Garcia
c768876908 Add error test cases to TestInsert 2021-02-27 11:25:04 -03:00
Vinícius Garcia
67a0b2f1cc Add test cases for when the QueryChunks callback returns an error 2021-02-26 23:20:22 -03:00
Vinícius Garcia
1d4adece95 Add error test cases for QueryChunk() 2021-02-26 23:14:44 -03:00
Vinícius Garcia
6fe450d057 Fix a few tests that were still hardcoded to use only one db provider 2021-02-26 22:47:09 -03:00
Vinícius Garcia
e044d1fc30 Add error test case to QueryOne() for invalid SQL 2021-02-26 22:43:32 -03:00
Vinícius Garcia
e7e89b63ef Add error test case to Query() for invalid SQL 2021-02-26 22:41:14 -03:00
Vinícius Garcia
f0e5674e79 Add tests with slice of pointers for the Query function 2021-02-26 22:13:15 -03:00
Vinícius Garcia
304e5bde49 Extract struct helper functions into the structs package 2021-02-16 00:01:19 -03:00
Vinícius Garcia
203b141aca Add support for tables with composite keys 2021-02-15 20:57:51 -03:00
Vinícius Garcia
e1e711dc91 Add a Benchmark comparing us with the sqlx package 2021-01-22 21:25:14 -03:00
Vinícius Garcia
f655576bb3 Fix some comments so the linter stops complaining 2021-01-21 16:10:14 -03:00
Vinícius Garcia
f9a6372b8a Remove error check when dropping test tables
It was prevent the tests from running
2021-01-21 16:03:04 -03:00
Vinícius Garcia
77631f480c Smal improvement on the README file 2021-01-20 11:03:38 -03:00
Vinícius Garcia
ded48b3a7d Remove undocumented and unused function ChangeTable 2021-01-17 20:41:03 -03:00
Vinícius Garcia
0f49ad180d Sort README #TODO List in order of priority 2021-01-17 20:29:51 -03:00
Vinícius Garcia
47dc19087f Use errors.Wrap(sql.ErrNoRows, "..") to make ErrRecordNotFound more idiomatic 2021-01-17 20:27:12 -03:00
Vinícius Garcia
f06706b081 Fix scanRows to ignore extra columns from query without errors 2021-01-17 20:26:34 -03:00
Vinícius Garcia
0b97dbcff7 Improve reflection checks on Insert() function 2021-01-17 19:25:21 -03:00