Coder Social home page Coder Social logo

vim-simpledb's Issues

usage of ! anywhere in query causes errors

executing the sql query

SELECT 1 != 0; 

using simpledb results in the following error:

ERROR:  syntax error at or near "("
LINE 1: SELECT 1 (cat /tmp/vim-simpledb-error.txt >> /tmp/vim-simple...

which matches up with the line here: https://github.com/ivalkeen/vim-simpledb/blob/master/plugin/simpledb.vim#L44

I've seen similar errors when there is an exclamation point in a WHERE clause as well, but the provided query was the simplest/smallest reproduction of the bug.

execute fail

Not an editor command: select * from dvl_version;^@'| mysql -v -v -v -t -
D baseproject -u root -P 3316 -h 127.0.0.1 > /tmp/vim-simpledb-result.txt 2>&1

Do not hardcode \timing on

Make it option for your plugin.

And also I recommend you to wrap such actions to:

\set QUIET on
...actions...
\set QUIET off

to get rid off unwanted messages ("timing enabled", "pager enabled", etc.)

Don't hardcode keybindings

Hey. Good plugin. One suggestion similar to #7.

There should be a configuration variable to prevent default keybindings. It can be enabled by default if you like.

Like this.

ftplugin/sql.vim:

if g:simpledb_use_default_keybindings
  vnoremap <buffer> <enter> :SimpleDBExecuteSql<cr>
  nnoremap <buffer> <enter> m':SimpleDBExecuteSql <cr>g`'
  nnoremap <buffer> <leader><enter> m':'{,'}SimpleDBExecuteSql<cr>g`'
endif

plugin/simpledb.vim:

if !exists('g:simpledb_use_default_keybindings')
  let g:simpledb_use_default_keybindings=1
endif

Then if you don't want those default keybindings to be bound you can edit your personal vim configuration:

let g:simpledb_use_default_keybindings=0

Don't set filetype=sql indiscriminately

I noticed vim-simpledb does this in ftdetect/sql.vim:

" sql
au BufNewFile,BufRead *.sql set filetype=sql

" plpgsql
au BufNewFile,BufRead *.pgsql,*.plpgsql set filetype=pgsql.sql

The first part is a near direct copy of what $RUNTIME/filetype.vim does:

" SQL
au BufNewFile,BufRead *.sql         call s:SQL()

func! s:SQL()
  if exists("g:filetype_sql")
    exe "setf " . g:filetype_sql
  else
    setf sql
  endif
endfunc

So this introduces a redundant autocommand. Worse, it doesn't respect g:filetype_sql, which left me scratching my head for way too long.

It would be best to just remove the first two lines I think (and the other one too, IMHO). Failing that, respecting g:filetype_sql would be a "workable" second option.

Execute a paragraph without moving cursor

Earlier you would use this to execute the current paragraph of SQL:

:call simpledb#ExecuteSql("'{", "'}")

Now you changed that to this version that moves the cursor to the '{ mark a line above the paragraph.

:'{,'}SimpleDBExecuteSql

A small improvement would be to use this to put the cursor in the first line of the paragraph:

:'{+1,'}SimpleDBExecuteSql

But I would prefer the previous behavior where the cursor wasn't moved at all.

Could you make that possible again? Thank you!

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.