A Java-based rapid application development (RAD) environment for creating
applications providing named-based programmatic access to information from
columns in databases is described. For increasing the efficiency by which
named-based references to database columns are processed by application
programs, the system provides methodology for rapid lookups of column
names, using a reference cache storing 32-bit references to immutable
strings (e.g., Java strings). The reference cache is preferably
constructed as a least-recently allocated cache, thereby allowing
allocation to occur in a round-robin fashion, with the oldest item
allocated being the first item bumped from cache when the cache overflows.
Each cache entry stores a reference (e.g., four-byte pointer or handle to
a string) and an ordinal entry (i.e. the corresponding database ordinal).
As a reference to a particular database column occurs during execution of
a program, the reference cache fills with a reference to that column name
as well as the corresponding column ordinal. Accordingly, program
execution proceeds with comparison of existing items in the cache, using a
sequence of rapid, in-line comparisons involving simple data types (e.g.,
32-bit references for the column name string). This approach minimizes the
need to perform hash lookups or string comparison operations.
Um ambiente rápido Java-baseado do desenvolvimento da aplicação (RAD) para criar as aplicações que fornecem o acesso programmatic nome-baseado à informação das colunas nas bases de dados é descrito. Para aumentar a eficiência por que nome-baseou as referências às colunas da base de dados são processadas por programas de aplicação, o sistema fornecem a metodologia para lookups rápidos de nomes da coluna, usando um esconderijo da referência que armazena referências 32-bit às cordas immutable (por exemplo, cordas de Java). O esconderijo da referência está construído preferivelmente como menos-recente esconderijo alocado, permitindo desse modo que o alocamento ocorra em uma forma do redondo-round-robin, com o artigo o mais velho alocado sendo o primeiro artigo colidido do esconderijo quando o esconderijo transborda. Cada entrada do esconderijo armazena uma referência (por exemplo, ponteiro ou punho four-byte a uma corda) e uma entrada ordinal (isto é o ordinal correspondente da base de dados). Enquanto uma referência a uma coluna particular da base de dados ocorre durante a execução de um programa, o esconderijo da referência enche-se com uma referência a esse nome da coluna as.well.as o ordinal correspondente da coluna. Conformemente, a execução de programa prosegue com comparação de artigos existentes no esconderijo, usando uma seqüência das comparações rápidas, in-line que envolvem os tipos de dados simples (por exemplo, referências 32-bit para a corda do nome da coluna). Esta aproximação minimiza a necessidade executar lookups da mistura ou operações da comparação da corda.