Giter VIP home page Giter VIP logo

vorax4's Introduction

!! THIS PROJECT IS NO LONGER MAINTAINED !!

Vorax, an Oracle IDE for Geeks

Vorax is a simple yet powerful IDE for Oracle databases, built on top of the widely known Vim editor and Oracle SqlPLUS.

Features:

  • Advanced code completion
  • A nice database explorer
  • Connections manager
  • Formatted output
  • PL/SQL support
  • Integrated Oracle documentation search

Installation

  • ensure you have ruby1.9.3 or ruby2.0
  • vim 7.3 compiled with ruby support
  • install vorax.gem to get the dependent gems
gem install vorax --no-rdoc --no-ri
  • ensure you have a valid Oracle client with sqlplus available
  • install Vorax vim plugin: manually, pathogen, vundle... it's up to you.

For details don't hesitate to have a look at the project wiki.

Community

Discussion group: https://groups.google.com/d/forum/vorax-discuss

Vorax Blog: http://vorax-ide.blogspot.ro/

vorax4's People

Contributors

myshov avatar talek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vorax4's Issues

PLSQL Compiling

Vorax should be able to compile a plsql buffer: package, type, trigger, function, procedure. In case of errors, the quickfix buffer should be populated accordingly.

Completion for database links

Vorax should offer completion items for database links when the prefix is @. For example:

select * from table@<--completion here

Describe DB object under cursor

Vorax4 should be able to provide the DESC definition of the object under cursor. In addition, for tables, a verbose DESC should be available in order to see a more detailed description, including:

  • constraints
  • indexes
  • triggers
  • comments

Connection profile possible bug

Hi Alec,

I'm glad the connection profile is more enhanced than the previous version (add, edit, show, remove profiles).
However, I tried to connect to a user whose password contains chars like "@" or "/".

grant create session to muci identified by "muc@lai";

:VORAXConnect muci/"muc@lai"@fdr
ORA-12154: TNS:could not resolve the connect identifier specified

From the logfile I see:
vorax#sqlplus#UpdateSessionOwner s:properties={'cols_clear': '', 'privilege': '', 'sql_folder': '/home/ovidiu/.vim/bundle/vorax4-beta/vorax/sql/', 'sane_options': ['set define "&"', 'set pause off', 'set termout on'], 'db': '', 'user': '', 'store_set': '/tmp/vDczpmW/1.opts', 'connstr': 'muci/muc@lai@fdr'

I am able to connect using other users though. Maybe the password needs to be surrounded by double quotes?

Cheers,
Hutu

problem with loading vorax

Hello, I have a problem running Vorax in Vim
I use ruby version 1.9.3, vim is compiled with ruby 1.9.3 support, gem install vorax install correct but when I run vim a got

Vorax cannot load its ruby buddy code!
Vim(ruby):LoadError: cannot load such file -- ferret
Maybe you need to install the vorax gem using:
gem install vorax
Sorry, don't expect VoraX to work properly!

thx for helping

Scratch SQL buffer

on behalf of @ovhutu:

SQL Buffer
Is there any feature implemented for opening a new scratch sql file? The old version had "< leader >,," for this action. Maybe I'm missing the shortcut :-(

ConnectionManager stopped working

Hi Alexandru!

Eventually after rebooting Windows 7 machine ConnectionManager stopped working. It seems that problem is in ruby part and on my working machine only but I can't figure out what to do to fix it.

error

I got this error on a year-old version of Vorax and Ruby 1.9.3, so I did a fresh new installation on new Windows 7 in VirtualBox at home with last Vorax and Ruby 2.0. Everything went good and everything works (including ConnectionManager). But when I bring all soft to work (where I have no access to Internet via command tools) the problem with connection manager persisted. Other parts are working ok.

Is there a way to disable SSL-encryption for ConnectionManager? Or maybe you have some advises where to look to fix the problem?

I simply created file with connection strings and use it to quickly connect to different instances but it's not as useful as ConnectionManager.

XML syntax error with non-printing characters

Hi Alexandru,

When executing the following using TABLEZIP

SELECT CHR(8) FROM DUAL;

I get the error below

Nokogiri::XML::SyntaxError: Invalid char in CDATA 0x8

This is a contrived example to demonstrate the problem, but I see it when selecting from tables that have encrypted or hashed values stored in them, as is sometimes the case in Oracle Applications (Oracle Financials in my case), i.e. when they have values that may contain non-printable characters.

I've tried to work out a solution to give to you but my knowledge of Ruby, Nokogiri and XML parsing is not sufficient (yet) to help, so rather than just sitting on it I thought I'd better report it.

I have found out enough to know that the XML standard forbids most characters below codepoint 32 as well as many others above U+D7FF, for what seem like fairly arbitrary reasons. Is there a way of relaxing the strictness of the parsing in Nokogiri (via ParseOptions?) to allow the data returned from Oracle to be properly parsed and displayed?

Thanks in advance, and also thank you for a fantastic plugin.

Connect to Oracle doesn't work

Hi,

I get a ruby error message (please see attached screenshot for details) while trying to connect to Oracle:

:VORAX.Connect hr/xxxx@xe

"Error detected while processing function vorax#sqlplus#Connect ...

vorax4_error

Windows 7
vim 7.3
ruby 193 (last patch)
sqlplus client available and functional

Ruby and vorax gem installation were successful, no error messages.

Any ideea what might be the reason for it ?

Thanks in advance.

Cheers,
Vlad

Fix typo in doc

Please fix typo in doc:
global vars g:vorax_dbexplorer_side and g:vorax_dbexplorer_size mistakenly
named as g:vorax_db_explorer_side and g:vorax_db_explorer_size.

PS. Thank you for a fantastic plugin.

How to save password in connection manager

Hi

I'm missing how to store schema passwords in the connection manager.
Wiki says

"From the technical point of view, the implementation is simple: a public and a private key are generated, the private key is then secured with your master password and then, the passwords from the connection profiles stored into the repository are encrypted with this key. That's it!"

but how to generate the key, and how to use it to store passwords?

Vorax Explorer window

I really liked the vorax exporer windows from the previous version.
It would be nice to have a reimplementation with some additional features:

  • explore basic objects definition like tables, indexes, views, materialized views, packages, procedures, functions, triggers, synonyms, types, sequences and maybe db links, directories, java sources?
  • also it would be nice to open other users objects
  • as well a very nice feature would be to highlight invalid objects (with an exclamation mark or different color)
  • for plsql objects a menu with 3 function should be available:
    • show error messages for invalid objects
    • recompile object
    • drop object
  • it would be useful that vorax explorer window have "NerdTree' like shortcuts for exploring the nodes, like go to parent or close current opened child.

Thank you for making this powerful tool available and keep up the good work!
Ovidiu

Wrong determining of statement when using dos fileformat

Hi, Talek!

I've just experienced some problems when working with files with dos lineendings (\r\n). When I use unix fileformat then vorax almost everytime correctly determines the borders of select-statement or pl/sql block. But when I switched to dos fileendings Vorax misses most of times.

Steps to reproduce this behaviour:

Create two identical files, one with dos lineendings, one with unix. Let's say the file is simple as

SELECT 1
  FROM dual t
 WHERE 1=1
   and 1=1
   -- some comment
   and 1=1
;


select 2 from dual;

Now, place cursor at lone ; after 1-st statement or at the line after comment line and execute statement via ,e. In file with unix-lineendings the correct one will be executed and 1 is displayed. In file with dos-lineendings the second select will be executed and 2 is displayed.

I got this error at Windows XP machine where I use not the latest version of Vorax4 but the latest commit before documentation support was added and gem has changed. That's because in order to install latest version I need to install new vorax gem and I have firewall preventing gem install so I didn't update for a while. If the error is known and was fixed - sorry for disturbance.

Problem with VORAXEdit when code has & inside it

My package's source code has some &'s inside it (html-entities). When I use VORAXEdit on it source is being loaded right to the first appearance of &-sign.

I tried to do set define off; in other buffer as well as adding it to login.sql - no help, same behavior.

Execution of sql statements is not working

Hello Talek!

Now on my current vacation I decided to check out your brand new version, but I faced with strange behavior of vorax. When I press e for code execution nothing happens, only cursor is jumping forward as if I just would press "e" key. I also tried select my statement and press e, but no luck...

Nevertheless Leader key is working fine - i can close/open output and profile windows with leader key. The execution of sql statements via :VORAXExec also working like a charm.

My current environment:
Vim 7.4
OS: CentOS 6.5

Issue with connection profiles when using NERDTreeChDirMode=2

Hi, Alexandru!

I've experinced an issue with connection profiles when I use NERDTreeChDirMode=2 setting of NERDTree. That causes switch of vim's cwd at each cd in NERDTree window. After such cd the connection profiles window becomes empty (I think it looks for a file with connections in a current directory and failes to find it though it has changed).

Describe from DB Explorer

On behalf of @ovhutu:
[ENHANCEMENT] should be useful to describe the object directly from DB Explorer.

Edit Database Objects

Implement ":VORAXEdit" command so that to be able to open a database object definition for edit. The implementation should take care of issue #6.

desc command problem with output compression enabled

Hi Alec,

It seems there is a problem when executing desc command against a package, with output compression enabled (either table or page level) - the name of the procedures/functions are not displayed. When switching to uncompressed output - desc behaves as expected.

Thanks,
Adrian Buboi

Disconnect session not working

Hi Alec,
Aborting a session using 'k' char is not working when the connection was lost( network issues, vpn closed..)

Steps to reproduce:

  1. connect to db
  2. disable your network connection
  3. try to run a select under the session opened earlier
  4. try to abort the select, which will take a lot of time to receive a feedback (timeout)
  5. press 'k' to abort the session -> nothing happens and vim freezes :-(

Can you have a look at this scenario, maybe it's happening only on my terminal.

Cheers
Hutu

Vorax 4 Fails Build on Ubuntu

When I try to build the Vorax gem, the native extensions build fails on what appears to be the sdsykes-ferret build. The error message is:

fs_store.c: In function ‘fsi_close_i’:
fs_store.c:300:9: error: format not a string literal and no format arguments [-Werror=format-security]
RAISE(IO_ERROR, strerror(errno));
^
cc1: some warnings being treated as errors
make: *** [fs_store.o] Error 1

My operating system is:

Linux century 3.11.0-23-generic #40-Ubuntu SMP Wed Jun 4 21:05:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Package subtype automcomplete

Hi Alec,

I'm getting wrong data when trying to autocomplete subtypes from a package.
Seems like the name and the type of the item are switched. In my case 't_polval' is a 'subtype'. See below image.

vorax2

Good luck!

Using ALL_SOURCE table to get packages sources

Hello Alec,

Using Vorax3 to get package source code which exists in different schema through visual explorer causes ORA-31603 error if current schema does not have SELECT_CATALOG_ROLE. Reason is that Vorax3 uses DBMS_METADATA.GET_DLL function. Alec like you suggested could you please in Vorax4 use ALL_SOURCE table instead?

Thanks,

Marcin

Trailing spaces when Page Compression is used

Hi, Alexandru.

When I use Page Compression mode in Vorax Output Window (my default mode) string data in last column became right-padded with spaces to the width of column.

When Page Compression is off then data in last column is not space-padded.

Unable to select window with mouse

Ok - I've tried removing everything from my .vimrc but I still get this problem.

It's only when in Normal mode, I am unable to select any other window. If I switch to Insert mode, then click in another window, the cursor moves to that window okay.

Steps to reproduce:
Open vim
Turn on mouse mode (:set mouse=a)
:VORAXConnect user/pass@db
Botton split appears with SQLPlus
Click in the top window.
Cursor is not moved to top window

Switch to Insert mode and it works okay.

From Insert mode in button SQLPlus output window
Press escape to swtich to normal mode
Click in the top window
Cursor is not moved to top window

Oracle HTML Documentation

This feature of Vorax 3 was very useful and used by me almost daily. At least for me, its availability in Vorax 4 would add big value. Please kindly take it into consideration.
Thx,
Adrian

Incomplete autocomplete

Hi,

Autocomplete feature is not aware of the keywords '%type' and '%rowtype' when it comes to variable type. See image below.
bus_policies - a package

t_policy - a record type which looks like this
  type t_policy is record (
    itm_id business_items.id%type,
    itm_name business_items.name%type,
    ...

vorax3

Encoding::UndefinedConversionError issue

Hello Alec!
First of all I want to say a big Thank You for your work! Several weeks ago I've finally migrated on Vorax 4. It's really like IDE now, so cool features you have done!
There is some issue with I think Unicode characters. It showed up when I loaded file with this procedure (GVim 7.3, 7.4 on Windows 7):

procedure get_lines(
    dc in varchar2
) is
    json_data clob;
    json_data_processed clob;

    v_user_info ps_api.UserInfo;
    v_user_id number;
begin
    ps_api.Get_User_Info(v_user_info);
    v_user_id := v_user_info.userId;

    if nvl(dbms_lob.istemporary(json_data), 0) = 0 then
        dbms_lob.createtemporary(json_data, true, 2);
    end if;

    if nvl(dbms_lob.istemporary(json_data_processed), 0) = 0 then
        dbms_lob.createtemporary(json_data_processed, true, 2);
    end if;

    www_public.main.clob_concat(json_data,'{"success": true, "lines": [');

    for i in (
        select line_id, 'СК №'||line_id line_name
          from cb_roles_room lines
               join cb_access
                   on cb_access.role_id = lines.role_id
         where cb_access.man_id = v_user_id
    ) loop
        www_public.main.clob_concat(json_data,'{"id": '|| i.line_id ||', "name": "'|| i.line_name ||'"},');
    end loop;
    dbms_lob.copy(json_data_processed, json_data, dbms_lob.getlength(json_data) - 1);
    dbms_lob.freetemporary(json_data);
    www_public.main.clob_concat(json_data_processed,']}');

    owa_util.mime_header('application/json', FALSE, 'ISO-8859-5');
    owa_util.http_header_close;
    htp.print(json_data_processed);
end;

Vorax realted settings from vimrc:

let g:vorax_plsql_associations = {
    \  'FUNCTION' : 'sql',
    \  'PROCEDURE' : 'sql',
    \  'TRIGGER' : 'sql',
    \  'PACKAGE_SPEC' : 'sql',
    \  'PACKAGE_BODY' : 'sql',
    \  'PACKAGE' : 'sql',
    \  'TYPE_SPEC' : 'sql',
    \  'TYPE_BODY' : 'sql',
    \  'TYPE' : 'sql',
    \  'JAVA_SOURCE' : 'jsp'
    \}
let g:vorax_output_window_size = 10

PL/SQL compiling

How do I compile an entire buffer, the same way as the F9 / compile buffer command in Vorax3. I tried \c but no matter what I do, I can't get it to work. It does nothing. I've tried setting the filetype to plsql and sql.

as sysdba connection profile

on behalf of @ovhutu:

Connection Profiles:
[BUG?] can not add sysdba profiles like < sys/"password"@dbname as sysdba > . Seems that vorax saves the profile without the "as" keyword.

How to auto-complete?

Hi

this is another dumb question from a still-learning vim user. One of the vorax feature is
- Advanced code completion;
but how?
Doc speaks about it only related to the :VORAXEdit command:

  :VORAXEdit <object_type> [<owner>.]<object_name>

The <object_type> may be a PACKAGE, a TABLE, a TYPE_SPEC etc. Usually, the 
<object_type> is a sub-set of the valid types known to work with the Oracle 
package DBMS_METADATA. The <object_name> is the Oracle object you want to open 
and, very important, its type must match the provided <object_type>. Both, 
<object_type> and <object_name> have completion support.

But I'm still missing how to get it (keybinding?), and I don't know if there is autocompletion in the buffer, too.

Should I complete my vim environment with one of the autocompletion plugin? Do you have some suggests, considering that the feature related to an Oracle DB could be very complex to build, at least in my current environment (20+ schemas with thousands of objects)

Vim performance on complex queries using Vorax

Hi Alexandru!

I suffer from poor vim performance when using Vorax to work with sql files with complex queries.

SIgns of poor performance:

  • when typing typed symbols are blinking as well as | symbol
  • when moving around with hjkl the response from vim is not instantaneous -- when you release button scrolling continues for some time.

I tried to disable vorax and edit the same file -- working as usual vim with instantaneous response.
I tried to create new non-sql file with the same content -- working as usual vim with instantaneous response.

I did not mention this strange behaviour previously but now it feels frustrating.

What can cause it? Maybe there is some syntax analyser which checks statement at every move?

Example of script with poor performance

  SELECT a.dummy as dummy, a.dummy as dummy, a.dummy as dummy, a.dummy as dummy, a.dummy as dummy FROM 
  (
  WITH dummy as
  (SELECT d.dummy, d.dummy, d.dummy, d.dummy FROM dummy.dummy d
    WHERE d.dummy = 'N'
   UNION ALL
   SELECT d.dummy, d.dummy, d.dummy, d.dummy FROM dummy.dummy d
    WHERE d.dummy = 'N'
  )
  SELECT round(sum(abs(f.dummy)*r.dummy)/nullif(sum(abs(f.dummy)), 0), 4) AS dummy,
         sum(abs(f.dummy)) AS dummy,
         1 AS dummy,
         cal.dummy AS dummy,
         d2f.dummy AS dummy
    FROM dual f
    JOIN dual cal             ON 1=1
                                              AND cal.dummy = 'N'
    JOIN dual s            ON 1=1
                                              AND s.dummy = f.dummy
                                              AND cal.dummy >= s.dummy
                                              AND cal.dummy <  s.dummy
                                              AND s.dummy in (5,6,7,9)
                                              AND s.dummy = to_date('dummy','YYYYMMDD')
                                              AND s.dummy = 'N'
    JOIN dual r              ON 1=1
                                              AND r.dummy = f.dummy
                                              AND cal.dummy >= r.dummy
                                              AND cal.dummy <  r.dummy
                                              AND r.dummy = 7
                                              AND r.dummy = to_date('dummy','YYYYMMDD')
                                              AND r.dummy = 'N'
    JOIN d2f                                  ON 1=1
                                              AND d2f.dummy = f.dummy
                                              AND cal.dummy >= d2f.dummy
                                              AND cal.dummy <  d2f.dummy
   WHERE 1=1
     AND cal.dummy between to_date('dummy','YYYYMMDD')
                     and to_date('dummy','YYYYMMDD')
     AND cal.dummy >= f.dummy
     AND cal.dummy <  f.dummy
     AND f.dummy = to_date('dummy','YYYYMMDD')
     AND r.dummy IS NOT NULL
     AND f.dummy = 'N'
  GROUP BY cal.dummy, d2f.dummy
  UNION ALL
     SELECT fr.dummy dummy,
            df.dummy dummy,
            1 dummy,
            cal.dummy dummy,
            df.dummy dummy
       FROM dual df
       JOIN dual fr   ON df.dummy = fr.dummy
                                        AND df.dummy IN (48,49)
                                        AND fr.dummy = 13
                                        AND fr.dummy  <= df.dummy
                                        AND fr.dummy >= df.dummy
                                        AND fr.dummy = 'N'
                                        AND fr.dummy <= df.dummy - df.dummy + 1
                                        AND fr.dummy >= df.dummy - df.dummy + 1
       JOIN dual cal    ON cal.dummy between fr.dummy and fr.dummy-1
                                        and cal.dummy = 'N'
      WHERE df.dummy = date'5999-12-31'
        AND cal.dummy between to_date('dummy', 'yyyymmdd')
                        and to_date('dummy', 'yyyymmdd')
        and nvl(df.dummy,'N') <> 'Y'
  UNION ALL
     SELECT fr.dummy dummy,
            df.dummy dummy,
            1 dummy,
            cal.dummy dummy,
            df.uk dummy
       FROM dual df
       JOIN dual fr   ON df.dummy = fr.dummy
                                        AND df.dummy = fr.dummy
                                        AND fr.dummy = 13
                                        AND fr.dummy  <= df.dummy
                                        AND fr.dummy >= df.dummy
                                        AND fr.dummy = 'N'
                                        AND fr.dummy <= df.dummy - df.dummy + 1
                                        AND fr.dummy >= df.dummy - df.dummy + 1
       JOIN dual cal    ON cal.dummy between fr.dummy and fr.dummy-1
                                        AND cal.dummy between to_date('dummy', 'yyyymmdd')
                                                        and to_date('dummy', 'yyyymmdd')
                                        AND cal.dummy = 'N'
      WHERE 1=1
        --and rownum < 20
        AND df.dummy IN (48,49)
        AND df.dummy = date'5999-12-31'
        AND nvl(df.dummy,'N') <> 'Y'
  )
  a;

Ferret not working in Windows environment.

Hi Talek,

Thanks for a great tool, I've been using Vorax4 for a few days now and it looks very promising. Just got YouCompleteMe installed and it looks like it is playing very nicely with Vorax.

I've got the tool running on a Windows 7 Enterprise 32-bit machine and have problems since your last commit (8f9121e...) with Ferret, required by ../vorax/ruby/lib/vorax/oradoc.rb. I know you're not the maintainer of that gem, but thought you would like to know. The following is what I see when I try to install the latest vorax gem:

\Ruby193\DevKit\devkitvars.bat
Adding the DevKit to PATH...

gem install vorax
Building native extensions. This could take a while...
ERROR: Error installing vorax:
ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe extconf.rb

creating Makefile

make
generating ferret_ext-i386-mingw32.def
compiling analysis.c
compiling array.c
compiling bitvector.c
bitvector.c: In function 'frt_bv_eq':
bitvector.c:54:5: warning: ISO C90 forbids mixed declarations and code
compiling BZLIB_blocksort.c
compiling BZLIB_bzlib.c
compiling BZLIB_compress.c
compiling BZLIB_crctable.c
compiling BZLIB_decompress.c
compiling BZLIB_huffman.c
compiling BZLIB_randtable.c
compiling compound_io.c
compound_io.c: In function 'cmpdi_read_i':
compound_io.c:136:9: warning: unknown conversion type character 'l' in format
compound_io.c:136:9: warning: unknown conversion type character 'l' in format
compound_io.c:136:9: warning: too many arguments for format
compound_io.c: In function 'cw_copy_file':
compound_io.c:325:9: warning: unknown conversion type character 'l' in format
compound_io.c:325:9: warning: too many arguments for format
compound_io.c:334:9: warning: unknown conversion type character 'l' in format
compound_io.c:334:9: warning: unknown conversion type character 'l' in format
compound_io.c:334:9: warning: too many arguments for format
compiling document.c
compiling except.c
except.c:23:37: warning: initialization discards qualifiers from pointer target type
except.c:24:29: warning: initialization discards qualifiers from pointer target type
compiling ferret.c
compiling field_index.c
field_index.c: In function 'string_handle_term':
field_index.c:237:23: warning: operation on 'index->values' may be undefined
compiling filter.c
compiling fs_store.c
fs_store.c: In function 'fso_seek_i':
fs_store.c:252:9: warning: unknown conversion type character 'l' in format
fs_store.c:252:9: warning: format '%s' expects type 'char ', but argument 4 has type 'long long int'
fs_store.c:252:9: warning: too many arguments for format
fs_store.c: In function 'fsi_seek_i':
fs_store.c:306:9: warning: unknown conversion type character 'l' in format
fs_store.c:306:9: warning: format '%s' expects type 'char *', but argument 4 has type 'long long int'
fs_store.c:306:9: warning: too many arguments for format
fs_store.c: In function 'fsi_length_i':
fs_store.c:322:5: warning: implicit declaration of function 'fstati64'
fs_store.c: In function 'fs_store_new':
fs_store.c:431:17: warning: unused variable 'stt'
compiling global.c
global.c: In function 'frt_vstrfmt':
global.c:190:23: warning: assignment discards qualifiers from pointer target type
global.c: In function 'signal_to_string':
global.c:412:14: error: 'SIGBUS' undeclared (first use in this function)
global.c:412:14: note: each undeclared identifier is reported only once for each function it appears in
global.c: In function 'frt_init':
global.c:436:22: error: storage size of 'action' isn't known
global.c:443:5: warning: implicit declaration of function 'sigemptyset'
global.c:446:5: error: storage size of '__old' isn't known
global.c:446:5: warning: implicit declaration of function 'sigaction'
global.c:446:5: warning: unused variable '__old'
global.c:447:5: error: storage size of '__old' isn't known
global.c:447:5: warning: unused variable '__old'
global.c:448:5: error: storage size of '__old' isn't known
global.c:448:5: warning: unused variable '__old'
global.c:449:5: error: storage size of '__old' isn't known
global.c:449:5: error: 'SIGBUS' undeclared (first use in this function)
global.c:449:5: warning: unused variable '__old'
global.c:450:5: error: storage size of '__old' isn't known
global.c:450:5: warning: unused variable '__old'
global.c:436:22: warning: unused variable 'action'
make: *
* [global.o] Error 1

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/ferret-0.11.8.5 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/ferret-0.11.8.5/ext/gem_make.out

Easy navigation of PLSQL code

Implement a "goto definition" navigation style in the PLSQL code. For example, it should be possible to jump to the definition of a local variable when the cursor is right under it.

Explain plan functionality

Hi Alexandru,

Now I'm explaining plan by doing this things:

  • Append explain plan for before SQL statement and execute it.
  • Do select * from table(dbms_plan.display);. The output is the desired plan.

How can I implement some thing, for example, VIM function, which does the same things automatically?

Or may be Vorax provides internal tools for this?

Optionally save objects in a (non temporary) directory

Hi talek,
while I still have not migrated to vorax4 (still using vorax3) I'm looking forward to it. A feature I think would be useful would be to optionally save objects source in a non temporary directory, to create a structure like this:

${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/packages/PKG_FOO.bdy
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/packages/PKG_FOO.spc
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/functions/P_FOO.prc
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/procedures/F_FOO.fnc
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/tables/FOO.sql
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/views/VFOO.sql
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_X/triggers/TR_FOO.sql
${vorax_save_source_dir}/DB_INSTANCE/SCHEMA_Y/tables/FOO2.sql
....

This way you just need to have vorax_save_source_dir under revision control to keep track of development, and you can access objects for quick reference even without a connection with the DB.

Thanks for your effort, I really appreciate your work.

How to launch VoraX directly from command line

Hi

Previously, as a vorax3 user, I found a tip to launch VoraX with a one-shot shell command line.
It was in the Tips & Tricks page:
http://code.google.com/p/vorax/wiki/TipsAndTricks
(now dismitted)

the tip was to add in the .bashrc the following command:

vorax() { vim -c "VoraxDbExplorer" -c "VoraxConnect $1"; }

it's now working anymore because, I guess, of function name changes.

Further, I would like to launch VoraX with the VORAXScratch buffer already opened

Can you provide me a suggest to get this behaviour? It would very useful to let VoraX be fast and easy to use.

Regards.

Problem with pl/sql block execution

vorax4_beta_bug_1
As depicted in the above screenshot, when executing a pl/sql block with the cursor on the "begin" word, if the block is preceded by 1 sql statement and 1 sqlplus statement, the sqlplus statement is executed instead. Executing with the cursor anywhere below the "begin" line behaves as expected.
Thx,
Adrian

Improving documentation about "Connection profiles"

One more little suggestion about enhancing of documentation.

It's not so clear from documentation how to create new connection in the section "Connection profiles". There is only that inderect sentence:

...
m: invoke the contextual menu for the node under cursor
...

I am just working about half a year with vorax3 at work. I set up in the beginning of using of Vorax all necessary profiles. Now I created test machine at home and I forgot already how can I add new profiles. :) From force of habit I started search inside of documentation with key phrases but no luck. And after when I invoke m key, I got all necessary options.

So I don't know for you it's good idea or not, but for me I think, that more clear documentation will be one more pro to the Vorax.

I suggest something like this:

For adding new profiles and editing ones use options from contextual menu (press m) in the Connection profiles  window 

or this:

m: invoke the contextual menu for the node under cursor (for adding, editing, removing profiles)

By the way in documentation is written: "Connection profiles", but in the caption of window of Vorax: "Connect profiles". I believe that "Connection profiles" will be better, because it's really rarely that verbs are used for the captions of the windows.

Problem with INSERT .. AS SELECT and sinle-line style commented statement(s) in-between

Hi Alec,

Please see below commands for a description of the above issue.
--preparation
drop table t purge;
create table t (v varchar2(1));

  1. This works as expected
    insert into t
    select * from dual;
  2. This does not work (with one or more single-line style comments)
    insert into t
    --select * from dual;
    select * from dual;
    It outputs:
    10:59:33 SQL> insert into t
    10:59:33 2 --select * from dual;
    --select * from dual
    *
    ERROR at line 2:
    ORA-00926: missing VALUES keyword
    Elapsed: 00:00:00.00
    10:59:33 SQL> select * from dual;
    D

X
3. Switching to multi-line comment makes it work
insert into t
/select * from dual;/
select * from dual;

Thank you,
Adrian Buboi

Vorax explorer issue

Hi Alec,
I'm facing this issue when I'm trying to recompile a package from another schema.
Scenario:

  1. Create new user:
    create user admin identified by admin;
    grant create session, create procedure to admin;
  2. Connect with admin and create new package:
    create or replace package p1 as
    procedure test1;
    end;
    /
    create or replace package body p1 as
    procedure test1 as
    begin
    dbms_output.put_line('test1');
    end;
    end;
    /
  3. Connect with system(or other user with privileges on admin.p1), open package from Explorer and recompile:
    Expected result: the package admin.p1 is recompiled
    Actual result: the package p1 is created in the local schema, because the definition is not loaded with "create package admin.p1 as" but with "create package p1 as"

I've tested with other object types and I'm facing the same problem with the TYPES also.

thanks for support,
Hutu

Saving new file when Vorax is loaded

He, Alex.

I got the following strange behavior of vim when vorax plugin is loaded.

  1. Open new gvim instance with no file inside and vorax plugin is being loaded.
  2. Input something and save as some temporary file, eg. d:\1234.txt. File is written and loaded into buffer (buffer [No Name] changed to [d:\1234.txt]. That's expected.
  3. Open new tab and load there some sql file (,ss is fine).
  4. Open :newtab (new buffer [No Name]), input something and save to another temp file (eg. d:\4321.txt). File is written but buffer remainded [No Name] and not connected to the file. That's weird and very confusing.

When I did the same steps but with vorax plugin is not being loaded then on step 4 I got correct behaviour - result is the same as in step 1.

This got this on Windows 7 machine with only single vorax plugin is being loaded and rediculous _vimrc:

" no compatibility is needed
set nocompatible

" Infecting plugins via pathogen
filetype off
call pathogen#infect()
call pathogen#helptags()
filetype plugin indent on
syntax on

" Set mapleader
let mapleader=","

Connection Profiles

Hi Alec,
It would be nice and helpful if you can offer a implemention of Connection Profiles feature, at least as it was in the previous version. I'm interesting mainly on:

  • create/edit/delete connections
  • create/edit/delete groups of connections
  • move one group/connection to another group
  • use and manage connection profiles only after authenticating with a master password

Thanks and good luck!
Ovidiu

Autocomplete error in sqlbuffer

Hi,
I'm getting an error when trying to use autocomplete feature for database objects ("select * from user_obj..." for example).
See image below.

vorax1

P.S.
Vorax is my favorite IDE when working with oracle database and it's thanks to you!
Keep up the good work!

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.