new DBCache()
Representa o cache local.
Extends
Members
-
dbDate :Date
-
Obtém a data local correspondente a data do banco de dados. Este valor ficará em cache e será calculado com base na data atual e da última vez que este valor foi obtido do banco de dados
Type:
- Date
-
dbName :string
-
Obtém o nome da base de dados da qual este objeto faz cache.
Type:
- string
-
dbType :string
-
Obtém o tipo da base de dados da qual este objeto faz cache
Type:
- string
-
dbUTCDate :Date
-
Obtém a data UTC do banco de dados. Este valor ficará em cache e será calculado com base na data atual e da última vez que este valor foi obtido do banco de dados. Caso haja alteração do horário local este valor deve levar até 10 minutos para ser atualizado.
Type:
- Date
-
host :string
-
Obtém o endereço da base de dados da qual este objeto faz cache
Type:
- string
-
initializedSuccessfully :boolean
-
Indica se o cache local foi inicializado com sucesso, ou seja, se todas as tabelas foram carregadas em cache.
Type:
- boolean
-
lastSynchronizedVersion :number
-
Informa a última versão que foi sincronizada ao cache local.
Type:
- number
-
lobCompressionAlgorithm :string
-
Algoritmo de compressão utilizado nos campos do tipo "memo". Valores possíveis:
'zstd'
e'zlib'
.Type:
- string
Methods
-
copyTableStructure(tableName, ds)
-
Copia a definição de campos da tabela informada para o DataSet. Este método recebe um DataSet ao invés de retornar um, pois o DataSet é temporário e deve ser criado por um IdoDatabase temporário, provavelmente pela classe TiDatabase
Parameters:
Name Type Description tableName
string Nome da tabela que terá a definição de campos copiada
ds
DataSet DataSet que receberá a definição de campos.
-
fieldExists(tableName, fieldName)
-
Verifica se campo existe em uma tabela do sistema.
Parameters:
Name Type Description tableName
string Nome da tabela onde será pesquisado o campo informado.
fieldName
string Nome do campo que será buscado em tableName.
Returns:
True se o campo existir na tabela informada.
- Type
- boolean
-
findKey(key)
-
Localiza uma chave no cache local. Se a chave existir, será retornado o nome da tabela e o rowId do registro em um objeto. Tais propriedades são acessíveis através dos campos:
- tableName
- rowId.
Parameters:
Name Type Description key
number Chave do registro
Returns:
} Objeto contendo informações sobre a chave encontrada ou null caso a chave não faça parte do cache local.
- Type
- Object
Example
var object = dbCache.findKey(-1899931725) // retorna object object.tableName //retorna ivfs object.rowId // retorna o bookmark
- tableName
-
getClass(key)
-
Obtém a classe de um registro do cache local. Se a chave não for localizada será gerado um erro.
Parameters:
Name Type Description key
number Chave do registro.
Returns:
Chave da classe do registro.
- Type
- number
-
getClassFieldName(tableName)
-
Obtém o nome do campo utilizado para armazenar a classe dos registros na tabela informada.
Parameters:
Name Type Description tableName
string Nome da tabela.
Returns:
Nome do campo classe.
- Type
- string
-
getFieldValue(key, fieldName, refreshIfNotFound)
-
Pega o valor do campo de um registro.
Parameters:
Name Type Description key
number Chave do registro
fieldName
string Nome do campo que será retornado
refreshIfNotFound
boolean Returns:
Valor do campo.
- Type
- number | boolean | string | null
-
getKeyFieldName(tableName)
-
Obtém o nome do campo utilizado para armazenar a chave dos registros na tabela informada.
Parameters:
Name Type Description tableName
string Nome da tabela.
Returns:
Nome do campo chave.
- Type
- string
-
getTable(tableName)
-
Cria um DataSet da tabela informada. As alterações neste DataSet irão alterar o dbCacheEngine e todas as outras tabelas abertas
Parameters:
Name Type Description tableName
string Nome da tabela a ser obtida
Returns:
- Type
- DataSet
-
getTableClass(tableName)
-
Obtém a chave da classe que definiu a tabela.
Parameters:
Name Type Description tableName
string Nome da tabela
Returns:
Chave da classe que definiu a tabela.
- Type
- number
-
getTableNameDefinedByClass(classKey)
-
Obtém o nome da tabela definida pela classe de dados sem levar em consideração a herança de classes.
Somente será retornado um nome de tabela se a classe informada for aquela que definiu a tabela pela primeira vez em uma hierarquia de classes. Utilize o método module:@nginstack/engine/lib/database/Classes~Classes#getTableName para obter o nome da tabela associada a uma classe de dados considerando a herança de classes.
Parameters:
Name Type Description classKey
number | DBKey Chave da classe a ser verificada.
Returns:
Nome da tabela associada definida pela classe de dados.
- Type
- string
-
getTableNames()
-
Retorna a lista de nomes das tabelas do Cache Local
Returns:
lista dos nomes das tabelas
- Type
- Array
-
getVersionFieldName(tableName)
-
Obtém o nome do campo utilizado para armazenar a classe dos registros na tabela informada.
Parameters:
Name Type Description tableName
string Nome da tabela.
Returns:
Nome do campo classe.
- Type
- string
-
hasTable(tableName)
-
Determina se uma tabela existe no cache local.
Parameters:
Name Type Description tableName
string Nome da tabela
Returns:
True se a tabela existir
- Type
- boolean
-
isCachedTable(tableName)
-
Determina se os registros da tabela informada estão no cache ou se o mesmo possui apenas uma estrutura vazia da mesma.
Parameters:
Name Type Description tableName
string Nome da tabela
Returns:
True, caso os registros da tabela estejam no cache
- Type
- boolean
-
isFromCache(ds)
-
Indica se o DataSet informado foi gerado a partir do cache local.
Parameters:
Name Type Description ds
DataSet O DataSet cuja origem se deseja determinar.
Returns:
Indica se a origem do DataSet é o cache local.
- Type
- boolean
-
newTableStructure(tableName)
-
Devolve uma nova instância de um DataSet temporário com a estrutura da tabela informada.
Parameters:
Name Type Description tableName
string Nome da tabela para a qual se deseja um dataset montado com sua estrutura.
Returns:
Retorna o dataset com a estrutura da tabela informada.
- Type
- DataSet
-
recordFieldExists(key, fieldName)
-
Verifica se o registro, determinado pela sua chave, possui um dado campo. Este método só funciona para registros presentes no cache local.
Parameters:
Name Type Description key
number Chave do registro o qual se quer testar.
fieldName
string Nome do campo que será buscado em key.
Returns:
Indica se o campo existe.
- Type
- boolean
-
refresh( [wait] [, timeout])
-
Sincroniza o cache local com o banco de dados.
Parameters:
Name Type Argument Default Description wait
boolean <optional>
false Se for
true
indicará que o método irá aguardar a finalização do sincronismo do cache local ou o timeout para executar o próximo comando.timeout
number <optional>
30000 Tempo em milissegundos que o método irá esperar antes de prosseguir a execução. Para um timeout infinito utilize -1.
Returns:
Retorna
true
se o cache local for sincronizado com sucesso dentro do tempo indicado portimeout
ou se o parâmetro waitfor
false`.- Type
- boolean
Example
const dbCache = require('@nginstack/engine/context/dbCache'); dbCache.refresh(true);
-
tableContainsKey(tableName, key)
-
Indica se uma chave está contida na tabela informada.
Parameters:
Name Type Description tableName
string A tabela a ser verificada se contém key.
key
number A chave a ser pesquisada.
Returns:
True se a tabela informada contiver a chave.
- Type
- boolean
-
tryGetClass(key)
-
Tenta obter a classe de um registro do cache local, se o registro não for encontrado o retorno será nulo.
Parameters:
Name Type Description key
number Chave do registro.
Returns:
Chave da classe do registro.
- Type
- number