Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#160 procedures aren't supported under sybase

open
nobody
None
5
2008-04-12
2008-04-12
PatL
No

Because sybase doesn't follow the package/procedure model procedures aren't displayed correctly.
Additionally, the jdbc metadata implementation of procedure names under sybase includes the group number after their name (proc_blah;1) but that isn't how they're stored in the sybase tables, so ProcedureNode.java needs to provide an override of getName to strip off the ;number in order to correctly query the name.
Patch attached

Discussion

  • PatL
    PatL
    2008-04-12

     
    Attachments
  • Julen Parra
    Julen Parra
    2008-04-16

    Logged In: YES
    user_id=180901
    Originator: NO

    I have added this patch to CVS. However, I think it would be probably cleaner to modify the sql in the getProceduresQuery() to return the stripped names, if that's possible. Not too important, it can remain like that, at least till another database needs something like that (then a new method in the DatabaseAdapter should be added, something like formatProcedureNames(), to be called after getting the procedures).

    Good vibes.

     
  • PatL
    PatL
    2008-04-16

    Logged In: YES
    user_id=2049134
    Originator: YES

    The problem we have is that in sybase, the group number isn't a version number, it just looks like one, so one can quite happily have sp_blah;1 and sp_blah;2 co-existing in the database. So in some instances (like getProcedureBodyStatement) we need both the name and number to get the correct source out of the database, whereas in others, like uses/used by we are just searching on the name with no group number (not ideal, but it'd slow to a crawl if we had to look up the group number as well). On the plus side, I've rarely come across anybody using group numbers because they make code confusing as hell... I guess I really need to have more of a think about how else to solve it at some stage.