Commit Graph

139 Commits (c0d7206dccb36e562e3f58155e10ff2b10887391)

Author SHA1 Message Date
Vinícius Garcia c0d7206dcc Breaking change: Update SQLProvider interface so methods receive table info as argument 2021-06-06 20:51:13 -03:00
Vinícius Garcia 54f5b7b1eb Improve Makefile 2021-06-06 12:15:38 -03:00
Vinícius Garcia 936d387221 Minor improvment on README 2021-06-06 10:10:01 -03:00
Vinícius Garcia 1e434b0b78 Fix code identation on README.md 2021-06-03 23:22:03 -03:00
Vinícius Garcia 208ce07d6e
Update README.md 2021-06-03 23:00:19 -03:00
Vinícius Garcia 3c57bcf1d7 Minor improvement in README 2021-06-03 22:56:50 -03:00
Vinícius Garcia 2ad920968a Update README to explain the composite structs feature 2021-06-03 22:54:39 -03:00
Vinícius Garcia e5c7b44e38 Add test to QueryChunks with SELECT generation 2021-06-03 20:15:18 -03:00
Vinícius Garcia ac1f94a90b Add nested struct tests for TestQueryOne 2021-05-23 15:05:01 -03:00
Vinícius Garcia 4e201031b7 Update README to include the feature of generating the SELECT part of the query 2021-05-23 15:04:24 -03:00
Vinícius Garcia 9e4583c3f8 Add error check for preventing reflection panics in nested structs 2021-05-23 12:25:35 -03:00
Vinícius Garcia 6bd61346d9 Add more tests to the nested struct feature 2021-05-23 11:32:23 -03:00
Vinícius Garcia 0d3a75fe42 Add feature of nesting structs so we can reuse existing structs 2021-05-23 11:28:16 -03:00
Vinícius Garcia d8ca3cab8d Improve README intro 2021-05-19 23:44:03 -03:00
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