Class: AggregateTableManager

AggregateTableManager


new AggregateTableManager(key [, db])

Construtor que a partir da chave do objeto JSON vai criar os nomes das tabelas e visões que iram fazer parte do processo da TABELA DE SOMA iAgg_M = Visão materializada iAgg_d = Visão Delta iVw_ = Visão da tabela do sistema iAGG_DELTA = Tabela delta

Parameters:
Name Type Argument Description
key Number

Chave do objeto JSON com as informações da visão que vai ser criada.

db Database <optional>

Conexão com o banco de dados onde será criada a tabela de agregação.

Members


allCreates :Array

Todos os comandos que irão ser executados para criar e popular tabelas e visões

Type:
  • Array

Methods


<static> checkFileChanged(key, fDatabase)

Verifica se o arquivo com as descrições da visão foi alterado.

Parameters:
Name Type Description
key Number

Chave que será verificada

fDatabase Database
Returns:

haveChange Retorna true se for alterada ou false se não.

Type
Object

<static> createTablesAux(createAggTask, createAggFldViews [, fDatabase])

Cria as tabelas auxiliares iAGG_TASK e iAGG_FLD_VIEWS A tabela iAGG_TASK terá informações quando as visões materializadas estiverem desatualizadas A tabela iAGG_FLD_VIEWS terá informações de todos os campos da visão do usuário.

Parameters:
Name Type Argument Description
createAggTask
createAggFldViews
fDatabase Database <optional>

<static> dropSystemTables(viewName, tableName [, fDatabase])

Deleta todas as visões e tabela Obs: Se o usuário editar ou apagar o arquivo com as definições dos campos, será possível deletar todas as tabelas e visões a partir do nome da visão e da tabela, por isso que o método é de classe.

Parameters:
Name Type Argument Description
viewName
tableName
fDatabase Database <optional>

<static> getAllDatabaseIndexes_(fDatabase)

Parameters:
Name Type Description
fDatabase
Returns:
Type
DataSet

<static> getChangedIndexes_(viewName, tableName, indexesDefinition, fDatabase)

Retorna array com a tabela e os respectivos índices que não estão criados. Ex: [TABELA, CHAVE,CLASSE]. Se passar a definição dos índices, será comparado com os índices existentes no banco, se não passar irá retornar todos os índices que estão no banco...

Parameters:
Name Type Description
viewName
tableName
indexesDefinition
fDatabase Database
Returns:
Type
Array

<static> getDropTriggerStmt_(tableName, canDropSequence, fDatabase)

Parameters:
Name Type Description
tableName string
canDropSequence boolean
fDatabase Database
Returns:
Type
Array

<static> getIndexesInfo(viewName, tableName, indexesToCheck, fDatabase)

Parameters:
Name Type Description
viewName
tableName
indexesToCheck
fDatabase Database
Returns:
Type
Array

<static> getOutdatedViewKeys(db)

Retorna um array de chaves dos iats que estão desatualizados, ou um array vazio se não tiver nenhuma chave desatualizada.

Parameters:
Name Type Description
db
Returns:
Type
Array

<static> isViewOutDated(key, id [, db])

Retorna um array de chaves dos iats que estão desatualizados, ou um array vazio se não tiver nenhuma chave desatualizada.

Parameters:
Name Type Argument Description
key number | string
id number | string
db Database <optional>
Returns:
Type
boolean

<static> keyExist(key, fDatabase)

Verifica se existe a chave na tabela iVFS

Parameters:
Name Type Description
key Number

Chave que será verificada

fDatabase Database
Returns:
Type
boolean

<static> updateDatabase(db)

Faz a consolidação de todas as visões materializadas ativas na base

Parameters:
Name Type Description
db Database

Banco de dados

Returns:

nomes das visões atualizadas

Type
Array

<static> updateNewStructureViews_(db)

Atualiza todas as visões materializadas que suportam a rotina de consolidação com marcação prévia dos registros

Parameters:
Name Type Description
db Database
Returns:

nomes das visões atualizadas

Type
Array

createAllTablesAndViews()

Cria todas as visões e tabelas necessárias:

  • visão da tabela base
  • visão Materializada
  • Tabela Delta
  • visão Delta
  • visão do usuário

createDeltaTableStmt()

Cria tabela delta. A tabela delta é responsável para registrar todas as alterações(INSERT, DELETE, UPDATE) que ocorrer na tabela do sistema. Ela tem a mesma estrutura da tabela base mais acrescentado dois campos : D_OPER NUMBER = Numero do tipo da alteração (INSERT = 1, DELETE = -1) ID INTEGER = ID para identificar a tupla que foi inserida

Returns:

Comandos SQL para construção da tabela delta

Type
Array.<string>

createDeltaViewStmt()

Cria a visão da tabela Delta. A visão delta será a visão de todas as alterações que ocorrer na tabela do sistema que estará registrado na tabela Delta de acordo com sua visão materializada.

Returns:

Comando SQL que vai criar a visão

Type
string

createMatViewStmt()

Cria visão materializada Tabela com os campos da visão da tabela base adicionando o campo fact_count(campo utilizado na hora de atualizar a visão materializada).


createTriggerStmt(tab)

Cria trigger a partir do nome da tabela do sistema. Está trigger vai ser disparada cada vez que é realizada alguma alteração na tabela do sistema, inserindo registros na tabela delta as alterações.

Parameters:
Name Type Description
tab string

Nome da tabela do sistema

Returns:

Comando Sql para criação da trigger

Type
string

createUserViewStmt()

Cria visão do usuário A visão do usuário é a união da visão materializada(tabela) + a visão delta.


createViewStmt()

Cria a visão da tabela do sistema. A visão materializada vai ser feita através desta visão.

Returns:

Comando SQL que vai criar a visão

Type
string

getAggDelta()

Retorna o nome da tabela delta

Returns:

Nome da tabela delta

Type
string

getDsAttTypeVw()

Retorna tipo, nome, flag e função de agregação: da tabela da agg_fld_views.

Returns:

dsData DataSet com os tipos dos campos.

Type
DataSet

getFields()

Retorna todos os campos da visão

Returns:

field Array de objetos com os nomes dos campos.

Type
Array

getFieldValue(dsData, fldIndex)

Método responsável para retornar o valor em formato de sql.

Parameters:
Name Type Description
dsData string

DataSet

fldIndex number

Index do campo

Returns:

value Valor do campo em formtato SQL

Type
string

getKey()

Retorna a chave do objeto

Returns:

key Chave do objeto JSON

Type
String

getPath()

Retorna o path do objeto

Returns:

path Path do objeto

Type
String

getQueryField(campo, agg)

Retorna os campos que seráo registrados na tabela agg_fld_views

Parameters:
Name Type Description
campo string

Campo da tabela do sistema

agg string

Tipo de aggregação do campo

Returns:

query Valores dos campos

Type
string

getSqlProjection(dsData, pref)

Método responsável para retorna os atributos da projeção

Parameters:
Name Type Description
dsData DataSet

DataSet com informações da tabela agg_fld_views

pref string

DV(Delta View) ou MV(Materialized View)

Returns:

sql Atributos da projeção

Type
string

getSqlWhereUpdate(dsData, dsFldData)

Cria a cláusula WHERE no momento da atualização da visão materializada.

Parameters:
Name Type Description
dsData DataSet

DataSet com as informações dos campos

dsFldData DataSet

DataSet com informações da tabela agg_fld_views


getTableName()

Retorna o nome da tabela do sistema

Returns:

tableName Nome da tabela do sistema

Type
String

getTablePk()

Retorna chave primária da tabela

Returns:

fieldPk Nome do campo que é chave primária na tabela

Type
string

getTypeGroup(type)

Método responsável para retorna o tipo de dado correto do banco

Parameters:
Name Type Description
type string

Tipo de dado

Returns:

result Tipo correto do dado no banco de dados

Type
string

getView()

Retorna o nome da visão da tabela do sistema

Returns:

Nome da visão da tabela do sistema

Type
string

getVwDelt()

Retorna o nome da visão delta

Returns:

Nome da visão delta

Type
string

getVwMat()

Retorna o nome da visão materializada

Returns:

Nome da visão materializada.

Type
string

getVwSelectStm(viewType)

Monta select para a criação das seguintes visões:

  • visão Delta
  • visão Materializada
  • visão da tabela do sistema
Parameters:
Name Type Description
viewType string

Tipo de visão a ser criada.

Returns:

qry Query

Type
string

getVwUser()

Retorna o nome da visão do usuário

Returns:

viewName Nome da visão do usuário

Type
String

isAggField_(nome)

Testa se o campo está definido como de agregação no JSON que define a tabela de soma

Parameters:
Name Type Description
nome string

do campo

Returns:

true somente se foi definido como de agregação

Type
boolean

populateMatViewStmt(qry)

Inseri registros na visão materializada(tabela) com base nas informações já existentes na visão da tabela do sistema.

Parameters:
Name Type Description
qry string

Select realizado na visão da tabela do sistema mais com o campo Count


populateTableFields()

Insere registros na tabela agg_fld_view. Antes de inserir é verificado se já existe está visão na tabela agg_fld_views, se existir verifica na tabela agg_task se já foi criada uma visão materializada dela.


updateMaterializedViewByLastId()

Atualiza visão materializada passada por parâmetro usando o algoritmo antigo em tabelas Delta sem o campo mark_id