Dynamically debugging user-defined functions and stored...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06253368

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates in general to programming development environments performed by computers, and in particular, to the use of a dynamic debugging tool usable in a programming development environment for Internet and Intranet applications.
2. Description of Related Art
With the fast growing popularity of the Internet and Intranets, especially Web-based networks, there is also a fast growing demand for Internet and Intranet access to databases. However, it is especially difficult to use relational database management system (RDBMS) software with Web-based networks. One of the problems with using RDBMS software with Web-based networks is the lack of programming development environments that can be used to develop both Web-based and RDBMS-based applications.
For example, Web-based networks operate using the HyperText Transfer Protocol (HTTP) and the HyperText Markup Language (HTML). HTTP is the protocol used by Web clients and Web servers to communicate between themselves using these hyperlinks. HTML is the language used by Web servers to create and connect together documents that contain these hyperlinks. This protocol and language results in the communication and display of graphical information that incorporates hyperlinks. Hyperlinks are network addresses that are embedded in a word, phrase, icon or picture that are activated when the user selects a highlighted item displayed in the graphical information.
In contrast, most RDBMS software uses a Structured Query Language (SQL) interface. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American Nationals Standard Organization (ANSI) and the International Standards Organization (ISO). Thus, there is a need in the art for methods of accessing RDBMS software across an Internet or Intranet, and especially via Web-based networks. Further, there is a need for simplified development environments for such systems.
There is also a need for a development environment with a rapid and flexible debugging capability, particularly with respect to the user-defined functions or stored procedures supported by RDBMS utilities. One way of implementing a debugging capability is to append the source code for the user-defined functions or stored procedures with debugging-related instructions which allow the software developer to determine the value of system or process variables and insert new variables if desired. Unfortunately, this involves compiling the debugging instructions along with the functional source code, resulting in object or machine code with both debugger and functional instructions inseparably integrated together.
This results in many disadvantages. For example, in the multi-tiered environment, this requires the user to undertake the time consuming process of recreating or rebuilding the database stored procedures or user-defined functions, even if all that is required is to execute the debug instructions or to avoid execution of the debugging instructions. Recreation or rebuilding the database stored procedures or user-defined functions may be required even if a single field or instruction in the executable is changed.
Further, the need to debug is transitory, but the lifetime of a properly operating stored procedure or user-defined function is not. Once the user-defined function or stored procedure is debugged, the software developer must rebuild these procedures or leave them in the code, increasing storage requirements and processing time. Also, although stored procedures and user-defined functions may be built on many databases at the same time, it is practical to debug only one of them. Switching from one database (for debugging purposes) to many others (for production and delivery) requires changing build targets or keeping two copies of build options. Accordingly, there is a need for a software development environment tool that supports a debugging capability without the need to rebuild or recompile stored procedures or user-defined functions. The tool must operate such that after software development, the stored procedure or user-defined function must operate properly when called by a program developed a wide variety of languages, including those other than that used by the software development environment. Similarly, the language of the software development environment must be able to call a stored procedure or user-defined function in another language, while still supporting debug functions. Because many platforms may be used to implement the software development tool, and the resulting software product must operate with a wide variety of operating systems, the debugging capability must operate with a multi-platform database system, and require no operating system specific technologies. The present invention satisfies that need.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for debugging a computer program or routine. The method comprises the steps of accepting an instruction set defining the computer program in the computer and storing data sufficient to invoke a debugger in a database table accessible by the computer. In one embodiment, the task of storing data invoking the debugger is performed by storing the instruction set in a database table accessible by the computer, and storing in a related database a debug flag which indicates if the debugger is to be invoked. In one embodiment, the instruction set comprises computer program instructions and a debug flag. In another embodiment, the location of the debug flag and/or the instruction set is stored in a data link library (DLL) associated with the computer program.
Although other solutions to the foregoing design requirements are possible, none provide the functionality and flexibility of the present invention. For example, debugging may be accomplished by setting an environmental variable on the server indicating that debugging operations are to be performed. While this solution is operable, it is not operating system independent, and it would be difficult to support these environment variables with many user-defined functions or stored procedures operating on the same computer, potentially implemented using different languages. Similar problems would be encountered if a debug flag were simply written in binary in the executable and written over when the debug functions were no longer desired. A hidden argument could be added to the user-defined function or the stored procedure, but this solution would not permit a user-defined function or stored procedure developed using one language to operate when called by a program developed in another language or environment, nor would the VAB program be able to call a stored procedure or user-defined function written in another language or implemented in another development environment.
The present invention provides a dynamic debugging capability which provides all of the advantages of debugging without the need to rebuild user-defined functions or stored procedures. The present invention lets the software developer set the debug flag for a stored procedure or a user-defined function for a single database (such as the IBM's DB
2
database) without rebuilding by storing the debug flag in special tables in the database selected for debugging. In an alternative embodiment, the present invention also provides this functionality by appending tables with additional columns or rows. This design is compatible with a multi-server, multi-database environment, allows development and debugging and end-product interoperability with a wide variety of computer software languages, and is operating system independent.


REFERENCES:
patent: 4910663 (1990-03-01), Bailey
patent: 5655073 (1997-08-01), Nishikado et al.
patent: 5675800 (1997-10-01), Fisher, Jr. et al.
patent: 5771385

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Dynamically debugging user-defined functions and stored... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamically debugging user-defined functions and stored..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamically debugging user-defined functions and stored... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2504892

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.