{"action":"closed","issue":{"url":"https://api.github.com/repos/quasar-analytics/quasar/issues/702","labels_url":"https://api.github.com/repos/quasar-analytics/quasar/issues/702/labels{/name}","comments_url":"https://api.github.com/repos/quasar-analytics/quasar/issues/702/comments","events_url":"https://api.github.com/repos/quasar-analytics/quasar/issues/702/events","html_url":"https://github.com/quasar-analytics/quasar/issues/702","id":73724649,"number":702,"title":"REPL doesn't play well with shell","user":{"login":"mossprescott","id":6147371,"avatar_url":"https://avatars.githubusercontent.com/u/6147371?v=3","gravatar_id":"","url":"https://api.github.com/users/mossprescott","html_url":"https://github.com/mossprescott","followers_url":"https://api.github.com/users/mossprescott/followers","following_url":"https://api.github.com/users/mossprescott/following{/other_user}","gists_url":"https://api.github.com/users/mossprescott/gists{/gist_id}","starred_url":"https://api.github.com/users/mossprescott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mossprescott/subscriptions","organizations_url":"https://api.github.com/users/mossprescott/orgs","repos_url":"https://api.github.com/users/mossprescott/repos","events_url":"https://api.github.com/users/mossprescott/events{/privacy}","received_events_url":"https://api.github.com/users/mossprescott/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/quasar-analytics/quasar/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-06T20:17:30Z","updated_at":"2015-12-11T16:43:26Z","closed_at":"2015-12-11T16:43:26Z","body":"It's possible to run queries by piping a file full of commands through java, like so: `java -jar core/target/scala-2.11/core_2.11-1.3.5-SNAPSHOT-one-jar.jar < test.slamsql`\r\n\r\nHowever, the REPL does not really seem to handle the streams properly. It seems like the commands are being run sequentially, but not blocking each other in the right way.\r\n\r\n1. If the input ends with `exit`, then the REPL exits immediately, before any command has a chance to produce any output.\r\n2. If the input does *not* end with `exit`, then the REPL hangs after running all the commands, and doesn't respond to ^C or ^Z (so has to be killed from another shell).\r\n3. All the commands are echoed (prefixed with the prompt) first, and then results are printed below. Although the results seem to be produced one at a time and in the correct order, it's hard to match them back to the commands."}}