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