GithubHelp home page GithubHelp logo

Comments (16)

bpiel avatar bpiel commented on September 14, 2024

@RyanMedlin I would start by enabling logging and checking the output. Sweet lib has log4j support and will log sql queries right before it attempts to execute them. It will also log the results. It logs these at the log4j DEBUG level.

The README has a very brief write up and example here: https://github.com/RJMetrics/sweet-liberty/blob/master/README.md#logging-with-log4j

I would set the following in the log4j.properties, instead of the first line in the README:
log4j.rootLogger=TRACE
That sets a low logging threshold and should ensure that you get the output you need.

Let me know if that gets you anywhere. I'll get back here with more details when I can.

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

yeah that what im checking now
i thought i had done that but I do not see these logs:

(log/debug (json/write-str (assoc mdc
:message "Inserting a row"
:table (:table-name table)
:row row-map
:query-result result)))

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

her is the current output..I;m not seeing the "interting a row" dont worry those auth credentials are in our test environment..

,"wjyM7gjZxxpR58hmWYf1G","1lrRqdfdB481lz12W2eI7T"]},"request-method":":post"}}
DEBUG com.rjmetrics.sweet-liberty.db: {"raw-query":["SELECT _id, identifier, name, organization_id, temperature, vendor_identifier FROM beacon WHERE _id IS NULL"]}
DEBUG com.rjmetrics.sweet-liberty.db: {"query-result":[],"raw-query":["SELECT id, identifier, name, organization_id, temperature, vendor_identifier FROM beacon WHERE id IS NULL"]}
DEBUG com.rjmetrics.sweet-liberty.handlers: {"request":{"authenticated":"true","ssl-client-cert":null,"remote-addr":"0:0:0:0:0:0:0:1","request-groups":["3HRhnUtmtXnT1UHQHClAcP"],"params":{},"servlet-context":"[email protected]{/,null}","servlet-response":"HTTP/1.1 200 \n\r\n","servlet":"ring.util.servlet.proxy$javax.servlet.http.HttpServlet$ff19274a@227f0906","route-params":{},"headers":{"user-agent":"curl/7.37.1","content-type":"application/json","content-length":"539","authorization":"Basic MUVNNTNIVDg1OTdDQzdRNVFQMFU4RE43MzpDY2R1eWFrUnNaOEFRL0hMZFhFUjJFanNDT2xmMjlDVEZWay9CY3RGbVFN","accept":"
/
","host":"localhost:8082"},"server-port":8082,"servlet-request":"(POST /v1.0/beacon)@1110014619 org.eclipse.jetty.server.Request@42297a9b","request-body":{"vendor":"QWERTY","is_mobile":"true","ble_vendor_uuid":"qwer-12340op","organization_id":"3HRhnUtmtXnT1UHQHClAcP","vendor_identifier":"QWAS12QW","name":"Beacon12345","ble_vendor_id":"123ert67hRF","hardware":"aszxdcerty","longitude":"56.1","antenna_type":"zawedc","major":"12","mac_address":"12:QW:34:12:12","ble_uuid":"1234-qwerqw-1231-123","identifier":"OkapiBeacon123PostTest","latitude":"40.3","minor":"45","uuid":"qwer1234wqer","battery_level":"123","visibility":"true","temperature":"80.5"},"content-length":539,"form-params":{},"status":200,"query-params":{},"content-type":"application/json","path-info":"/beacon","character-encoding":null,"context":"/v1.0","uri":"/v1.0/beacon","server-name":"localhost","query-string":null,"body":"org.eclipse.jetty.server.HttpInput@3130780c","scheme":":http","user-groups-permissions":{"permissions":"{PlayStudios_myVegasSlots_Belagio=[Dashboard Read]}","groups":["76l5DP3pfaw76qYhtC661Q","1Fsn8wBh5ybXIW5cJOszLZ","2MSAdqzcHqvqVdEM8vOLnS","76ZjO4bAer3giCM1so7g61","1SIGlb86IZ5Q4nHDVfCAYg","dUvMEKXPFMbmovnh24LS9","3o6XRrl1a9diFkJbTd2CSb","3HRhnUtmtXnT1UHQHClAcP","119UQWGg6qKC7Lle4Et5Gi","1POtqdjZl367yWdBWboE3L","7OpWTfozbyl8ZoaBJ1OClC","3ZRgyxvDMwKmoOZIEJtrw5","1I3159poZuMrswMYjcefKX","6owQwEXmO54fIg73izpQfH","6Id885IGtsFyV13r4hQjOs","2iVHZMgQaz5J9P2QVPVXyB","4Bqa6YFSWDhgOiwofsGDD3","4Sx66qFT3n0tWgxx4VGILF","70P06jyLa6lqRNHUre0t7l","DS6MzNORa7yOPic0jWwxR","f8nCwVHZNuoEJ07op3RRK","wjyM7gjZxxpR58hmWYf1G","1lrRqdfdB481lz12W2eI7T"]},"request-method":":post"}}
ERROR com.rjmetrics.sweet-liberty.core: {"exception-message":"ERROR: syntax error at or near ")"\n Position: 23","stack-trace":["org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)","org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)","org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)","org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)","org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)","org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365)","clojure.java.jdbc$db_do_prepared_return_keys$exec_and_return_keys__1410.invoke(

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

{
"exception-message": "ERROR: syntax error at or near ")"\n Position: 23",
"stack-trace": [
"org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)",
"org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)",
"org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)",
"org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)",
"org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)",
"org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365)",
"clojure.java.jdbc$db_do_prepared_return_keys$exec_and_return_keys__1410.invoke(jdbc.clj:692)",
"clojure.java.jdbc$db_do_prepared_return_keys.invoke(jdbc.clj:707)",
"clojure.java.jdbc$multi_insert_helper$fn__1463.invoke(jdbc.clj:897)",
"clojure.core$map$fn__4245.invoke(core.clj:2559)",
"clojure.lang.LazySeq.sval(LazySeq.java:40)",
"clojure.lang.LazySeq.seq(LazySeq.java:49)",
"clojure.lang.RT.seq(RT.java:484)",
"clojure.core$seq.invoke(core.clj:133)",
"clojure.core$dorun.invoke(core.clj:2855)",
"clojure.core$doall.invoke(core.clj:2871)",
"clojure.java.jdbc$multi_insert_helper.invoke(jdbc.clj:896)",
"clojure.java.jdbc$insert_helper$fn__1466.invoke(jdbc.clj:907)",
"clojure.java.jdbc$db_transaction_STAR_.doInvoke(jdbc.clj:580)",
"clojure.lang.RestFn.invoke(RestFn.java:425)",
"clojure.java.jdbc$insert_helper.invoke(jdbc.clj:907)",
"clojure.java.jdbc$insert_BANG_.doInvoke(jdbc.clj:999)",
"clojure.lang.RestFn.invoke(RestFn.java:442)",
"com.rjmetrics.sweet_liberty.db$insert_entity_into_storage.invoke(db.clj:64)",
"com.rjmetrics.sweet_liberty.handlers$make_create_entity_fn$fn__2434$fn__2437.invoke(handlers.clj:148)",
"com.rjmetrics.sweet_liberty.handlers$run_with_conditions.invoke(handlers.clj:39)",
"com.rjmetrics.sweet_liberty.handlers$make_create_entity_fn$fn__2434.invoke(handlers.clj:145)",
"liberator.core$decide.invoke(core.clj:98)",
"liberator.core$post_BANG_.invoke(core.clj:264)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$can_post_to_missing_QMARK_.invoke(core.clj:266)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$post_to_missing_QMARK_.invoke(core.clj:268)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$existed_QMARK_.invoke(core.clj:285)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$method_put_QMARK_.invoke(core.clj:301)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$if_match_star_exists_for_missing_QMARK_.invoke(core.clj:305)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$exists_QMARK_.invoke(core.clj:406)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$processable_QMARK_.invoke(core.clj:409)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:428)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:441)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$accept_language_exists_QMARK_.invoke(core.clj:455)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$media_type_available_QMARK_.invoke(core.clj:465)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$accept_exists_QMARK_.invoke(core.clj:468)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$is_options_QMARK_.invoke(core.clj:485)",
"liberator.core$decide.invoke(core.clj:103)",
"liberator.core$valid_entity_length_QMARK_.invoke(core.clj:488)",

from sweet-liberty.

bpiel avatar bpiel commented on September 14, 2024

@RyanMedlin I see. Looks like we forgot to log the insert statement before execution. Looks like we got it right in the other cases though. That's why you're not getting the statement in the logs. If you want to submit a PR, that'd be awesome. Otherwise, I'll take care of it myself tonight or tomorrow morning (EST).

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

yeah one step ahead of you..will submit in a bit

for some reason I'm not getting data passed in am tracing my code now:

DEBUG com.rjmetrics.sweet-liberty.db: {"row":{},"data":{},"table":"beacon","message":"Inserting a row"}

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

curl -X POST "http://localhost:8082/v1.0/beacon" -H "Authorization: Basic MUVNNTNIVDg1OTdDQzdRNVFQMFU4RE43MzpDY2R1eWFrUnNaOEFRL0hMZFhFUjJFanNDT2xmMjlDVEZWay9CY3RGbVFN" -H "Content-type: application/json" -d $' {\n
"identifier": "OkapiBeacon123PostTest",
"name": "Beacon12345",
"organization_id": "3HRhnUtmtXnT1UHQHClAcP",
"temperature": "80.5",
"vendor_identifier": "QWAS12QW",
"vendor": "QWERTY",
"ble_uuid": "1234-qwerqw-1231-123",
"ble_vendor_uuid": "qwer-12340op",
"ble_vendor_id": "123ert67hRF",
"uuid": "qwer1234wqer",
"major": "12",
"minor": "45",
"antenna_type": "zawedc",
"mac_address": "12:QW:34:12:12",
"is_mobile": "true",
"latitude": "40.3",
"longitude": "56.1",
"visibility": "true",
"battery_level": "123",
"hardware": "aszxdcerty"
\n}' -m 30 -v

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

here is the request: why woudl the data get dropped on the floor?

DEBUG com.rjmetrics.sweet-liberty.db: {"query-result":[],"raw-query":["SELECT id, identifier, name, organization_id, temperature, vendor_identifier FROM beacon WHERE id IS NULL"]}
DEBUG com.rjmetrics.sweet-liberty.handlers: {"request":{"authenticated":"true","ssl-client-cert":null,"remote-addr":"0:0:0:0:0:0:0:1","request-groups":["3HRhnUtmtXnT1UHQHClAcP"],"params":{},"servlet-context":"[email protected]{/,null}","servlet-response":"HTTP/1.1 200 \n\r\n","servlet":"ring.util.servlet.proxy$javax.servlet.http.HttpServlet$ff19274a@6c07ef17","route-params":{},"headers":{"user-agent":"curl/7.37.1","content-type":"application/json","content-length":"539","authorization":"Basic MUVNNTNIVDg1OTdDQzdRNVFQMFU4RE43MzpDY2R1eWFrUnNaOEFRL0hMZFhFUjJFanNDT2xmMjlDVEZWay9CY3RGbVFN","accept":"
/
","host":"localhost:8082"},"server-port":8082,"servlet-request":"(POST /v1.0/beacon)@2095187561 org.eclipse.jetty.server.Request@7ce20669","request-body":{"vendor":"QWERTY","is_mobile":"true","ble_vendor_uuid":"qwer-12340op","organization_id":"3HRhnUtmtXnT1UHQHClAcP","vendor_identifier":"QWAS12QW","name":"Beacon12345","ble_vendor_id":"123ert67hRF","hardware":"aszxdcerty","longitude":"56.1","antenna_type":"zawedc","major":"12","mac_address":"12:QW:34:12:12","ble_uuid":"1234-qwerqw-1231-123","identifier":"OkapiBeacon123PostTest","latitude":"40.3","minor":"45","uuid":"qwer1234wqer","battery_level":"123","visibility":"true","temperature":"80.5"},"content-length":539,"form-params":{},"status":200,"query-params":{},"content-type":"application/json","path-info":"/beacon","character-encoding":null,"context":"/v1.0","uri":"/v1.0/beacon","server-name":"localhost","query-string":null,"body":"org.eclipse.jetty.server.HttpInput@5b13178c","scheme":":http","user-groups-permissions":{"permissions":"{PlayStudios_myVegasSlots_Belagio=[Dashboard Read]}","groups":["76l5DP3pfaw76qYhtC661Q","1Fsn8wBh5ybXIW5cJOszLZ","2MSAdqzcHqvqVdEM8vOLnS","76ZjO4bAer3giCM1so7g61","1SIGlb86IZ5Q4nHDVfCAYg","dUvMEKXPFMbmovnh24LS9","3o6XRrl1a9diFkJbTd2CSb","3HRhnUtmtXnT1UHQHClAcP","119UQWGg6qKC7Lle4Et5Gi","1POtqdjZl367yWdBWboE3L","7OpWTfozbyl8ZoaBJ1OClC","3ZRgyxvDMwKmoOZIEJtrw5","1I3159poZuMrswMYjcefKX","6owQwEXmO54fIg73izpQfH","6Id885IGtsFyV13r4hQjOs","2iVHZMgQaz5J9P2QVPVXyB","4Bqa6YFSWDhgOiwofsGDD3","4Sx66qFT3n0tWgxx4VGILF","70P06jyLa6lqRNHUre0t7l","DS6MzNORa7yOPic0jWwxR","f8nCwVHZNuoEJ07op3RRK","wjyM7gjZxxpR58hmWYf1G","1lrRqdfdB481lz12W2eI7T"]},"request-method":":post"}}

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

GET is working ok:

curl -X GET "http://localhost:8082/v1.0/beacon?organization_ids=3HRhnUtmtXnT1UHQHClAcP" -H "Authorization: Basic MUVNNTNIVDg1OTdDQzdRNVFQMFU4RE43MzpDY2R1eWFrUnNaOEFRL0hMZFhFUjJFanNDT2xmMjlDVEZWay9CY3RGbVFN"
-m 30 -v

[{"name":"Datasnap - Front Door","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"KWAW-18BEH"},{"name":"Datasnap - Kitchen","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"YUA5-7JWW9"},{"name":"Datasnap - Small Office","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"TUCT-8EA7H"},{"name":"Datasnap - Stairs Entrance","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"RN4T-K8WWG"},{"name":"Datasnap - Test Beacon 1","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"GFYY-AEANK"},{"name":"Datasnap - WIndow","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"NZ16-APBA2"},{"name":"Front Entrance","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"SHDG-28AHD"},{"name":"Initial 3 - MZRW3","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"WFBZ-MZRW3"},{"name":"Kates Mobile Beacon","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"XZJY-EVVYx"},{"name":"Ryan Locator","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"YTXC-AAFNF"},{"name":"UBPQ-Z42X2","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"UBPQ-Z42X2"},{"name":"disrupt","organization_id":"3HRhnUtmtXnT1UHQHClAcP","identifier":"5ZY6-P7VRC"}]%

from sweet-liberty.

bpiel avatar bpiel commented on September 14, 2024

Yeah, at first I was wondering if there could just be a problem with your config, but I saw that the select statements looked ok in the logs you had posted before. I'm eyeballing the pipeline to see if I can spot anything that could be a gotcha.
One thing I'm considering is that we've never used this with postgres (anything besides mysql actually) before. We're relying on jdbc and honeysql to handle those differences so, it shouldn't make a difference, but...

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

Do you see anything in the debug request that would be the reason why there is no dat/row being passed into the insert function? i think its just that the :data :row data is not being passed in and a bad SQL statement is generated since there really isnt any error checking.

i see you require wrap params and we have that in our routes but ill look into why that data isnt getting passed in if you dont see anything offhand.

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

ill go ahead and submit pull request for that logging:

#3

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

i figured it out.. we are using some middleware auth that was mucking around and not setitng the params in the way your library is expecting, one i fixed the json posted to have :body-params it started working and now im on to debugging my code furthur..thanks!

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

this is the new error i get, not much useful info there in this exception so i am debugging this now:

EBUG com.rjmetrics.sweet-liberty.db: {"query-result":[null],"row":{"vendor_identifier":"QWAS12QW","temperature":80.5,"organization_id":"3HRhnUtmtXnT1UHQHClAcP","name":"Beacon12345","identifier":"OkapiBeacon123PostTest"},"table":"beacon","message":"Successfully inserted a row"}
ERROR com.rjmetrics.sweet-liberty.core: {"exception-message":null,"stack-trace":["clojure.core$val.invoke(core.clj:1502)","com.rjmetrics.sweet_liberty.db$insert_entity_into_storage.invoke(db.clj:77)","com.rjmetrics.sweet_liberty.handlers$make_create_entity_fn$fn__2435$fn__2438.invoke(handlers.clj:148)","com.rjmetrics.sweet_liberty.handlers$run_with_conditions.invoke(handlers.clj:39)","com.rjmetrics.sweet_liberty.handlers$make_create_entity_fn$fn__2435.invoke(handlers.clj:145)","liberator.core$decide.invoke(core.clj:98)","liberator.core$post_BANG_.invoke(core.clj:264)","liberator.core$decide.invoke(core.clj:103)","liberator.core$can_post_to_missing_QMARK_.invoke(core.clj:266)","liberator.core$decide.invoke(core.clj:103)","liberator.core$post_to_missing_QMARK_.invoke(core.clj:268)","liberator.core$decide.invoke(core.clj:103)","liberator.core$existed_QMARK_.invoke(core.clj:285)","liberator.core$decide.invoke(core.clj:103)","liberator.core$method_put_QMARK_.invoke(core.clj:301)","liberator.core$decide.invoke(core.clj:103)","liberator.core$if_match_star_exists_for_missing_QMARK_.invoke(core.clj:305)","liberator.core$decide.invoke(core.clj:103)","liberator.core$exists_QMARK_.invoke(core.clj:406)","liberator.core$decide.invoke(core.clj:103)","liberator.core$processable_QMARK_.invoke(core.clj:409)","liberator.core$decide.invoke(core.clj:103)","liberator.core$accept_encoding_exists_QMARK_.invoke(core.clj:428)","liberator.core$decide.invoke(core.clj:103)","liberator.core$accept_charset_exists_QMARK_.invoke(core.clj:441)","liberator.core$decide.invoke(core.clj:103)","liberator.core$accept_language_exists_QMARK_.invoke(core.clj:455)","liberator.core$decide.invoke(core.clj:103)","liberator.core$media_type_available_QMARK_.invoke(core.clj:465)","liberator.core$decide.invoke(core.clj:103)","liberator.core$accept_exists_QMARK_.invoke(core.clj:468)","liberator.core$decide.invoke(core.clj:103)","liberator.core$is_options_QMARK_.invoke(core.clj:485)","liberator.core$decide.invoke(core.clj:103)","liberator.core$valid_entity_length_QMARK_.invoke(core.clj:488)","liberator.core$decide.invoke(core.clj:103)","liberator.core$known_content_type_QMARK_.invoke(core.clj:491)","liberator.core$decide.invoke(core.clj:103)","liberator.core$valid_content_header_QMARK_.invoke(core.clj:493)","liberator.core$decide.invoke(core.clj:103)","liberator.core$allowed_QMARK_.invoke(core.clj:496)","liberator.core$decide.invoke(core.clj:103)","liberator.core$authorized_QMARK_.invoke(core.clj:499)","liberator.core$decide.invoke(core.clj:103)","liberator.core$malformed_QMARK_.invoke(core.clj:502)","liberator.core$decide.invoke(core.clj:103)","liberator.core$method_allowed_QMARK_.invoke(core.clj:505)","liberator.core$decide.invoke(core.clj:103)","liberator.core$uri_too_long_QMARK_.invoke(core.clj:508)","liberator.core$decide.invoke(core.clj:103)","liberator.core$known_method_QMARK_.invoke(core.clj:511)","liberator.core$decide.invoke(core.clj:103)","liberator.core$service_available_QMARK_.invoke(core.clj:514)","liberator.core$run_resource.invoke(core.clj:598)","liberator.core$resource$fn__3765.invoke(core.clj:616)","compojure.response$fn__958.invoke(response.clj:32)","compojure.response$fn__935$G__930__942.invoke(response.clj:9)","compojure.core$make_route$fn__1165.invoke(core.clj:99)","compojure.core$if_route$fn__1153.invoke(core.clj:45)","compojure.core$if_method$fn__1146.invoke(core.clj:30)","compojure.core$routing$fn__1171.invoke(core.clj:112)","clojure.core$some.invoke(core.clj:2515)","compojure.core$routing.doInvoke(core.clj:112)","clojure.lang.RestFn.invoke(RestFn.java:2442)","okapi.handler$fn__9409.invoke(handler.clj:300)","compojure.core$wrap_context$fn__1190.invoke(core.clj:176)","compojure.core$if_route$fn__1153.invoke(core.clj:45)","compojure.core$routing$fn__1171.invoke(core.clj:112)","clojure.core$some.invoke(core.clj:2515)","compojure.core$routing.doInvoke(core.clj:112)","clojure.lang.RestFn.applyTo(RestFn.java:139)","clojure.core$apply.invoke(core.clj:626)","compojure.core$routes$fn__1175.invoke(core.clj:117)","compojure.core$routing$fn__1171.invoke(core.clj:112)","clojure.core$some.invoke(core.clj:2515)","compojure.core$routing.doInvoke(core.clj:112)","clojure.lang.RestFn.applyTo(RestFn.java:139)","clojure.core$apply.invoke(core.clj:626)","compojure.core$routes$fn__1175.invoke(core.clj:117)","datasnap_core.api.auth_middleware$authorize_request$fn__64.invoke(auth_middleware.clj:126)","datasnap_core.api.auth_middleware$authenticate_request$fn__48.invoke(auth_middleware.clj:78)","okapi.handler$validate_dates$fn__9402.invoke(handler.clj:192)","ring.middleware.json$wrap_json_response$fn__608.invoke(json.clj:65)","ring.middleware.params$wrap_params$fn__47.invoke(params.clj:64)","ring.middleware.keyword_params$wrap_keyword_params$fn__81.invoke(keyword_params.clj:35)","ring.middleware.nested_params$wrap_nested_params$fn__130.invoke(nested_params.clj:84)","ring.middleware.params$wrap_params$fn__47.invoke(params.clj:64)","clojure.lang.Var.invoke(Var.java:379)","ring.util.servlet$make_service_method$fn__9306.invoke(servlet.clj:145)","ring.util.servlet$servlet$fn__9310.invoke(servlet.clj:154)","ring.util.servlet.proxy$javax.servlet.http.HttpServlet$ff19274a.service(Unknown Source)","org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)","org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:447)","org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)","org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)","org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)","org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)","org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)","org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)","org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)","org.eclipse.jetty.server.Server.handle(Server.java:359)","org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)","org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:931)","org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:992)","org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)","org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)","org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)","org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)","org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)","org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)","org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)","java.lang.Thread.run(Thread.java:744)"]}

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

result is being returned as null because we are not using identity columns so getGeneratedKeys jdbc call returns null. adding issue to use composite keys that are not identities in the future

result (j/insert! db-spec
table-name
row-map)

from sweet-liberty.

ryanmmmmm avatar ryanmmmmm commented on September 14, 2024

i think the main issue here is the SQL based error message was throwing me off, i wasn't sending :data properly and the SQL error was due to that. probably lower priority fix to throw some check that tells you :data is null

I am good for now closing ticket

from sweet-liberty.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.