Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

insert_sync #16

Open
wants to merge 146 commits into
base: master
Choose a base branch
from
Open

insert_sync #16

wants to merge 146 commits into from

Conversation

jdhood1
Copy link

@jdhood1 jdhood1 commented Oct 14, 2010

Hey Jacob,

I've been using your emongo driver for a couple of months now and love it. In reading through some of the code, it seems well thought out and solid. I appreciate that. One of my coworkers, Brad Anderson, speaks highly of you. Thanks for writing and sharing emongo. One of the MongoDB guys, Richard Kreuter, is visiting us for a couple of days and asked for a recommendation between emongo and erlmongo. They want to support an Erlang driver. I recommended they take your driver and expand on it. We'll see what comes of that.

Anyway, on to business. I saw that someone added an "update_sync" function. I thought it would be nice to have a similar one for inserts. This pull request is for that change. I'm pretty new to Erlang, so I won't be insulted if you have to change it around. I only care about duplicate key errors in my particular case, so I only put in one "define" in the .hrl for that error. Obviously, others can be added as they are needed.

Thanks again and let me know if you need anything farther. It's nice to "meet" you.

Jeremy
[email protected]

@jdhood1
Copy link
Author

jdhood1 commented Aug 30, 2011

Hey Jacob,

I pulled your latest code on 8/24 and put back in my changes along with others and a few bug fixes. Take a look at the latest commit and let me know what you think. Thanks.

Jeremy

  • Added insert_sync, update_all, update_all_sync, delete_sync, find_and_modify
  • In emongo_conn:loop(...) when handling TCP Data, continue processing Tail in case another complete message is already there
  • In emongo_conn:loop(...) when handling send_sync, send Packet1 and Packet2 as one TCP packet to improve performance by a factor of around 3
  • In emongo_conn:loop(...) only throw exceptions that include the pool ID so emongo module can restart the connection
  • Other changes are miscellaneous because my editor likes to remove white spaces at the end of lines and at the end of the file -- Sorry about the pointless things that will show up in a diff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants