# Mysql_xdevapi

# Introdução

Esta extensão fornece acesso ao MySQL Document Store através da X DevAPI. A X DevAPI é uma API comum fornecida por múltiplos conectores MySQL que permitem acesso fácil a tabelas relacionais assim como a coleções de documentos, que são representadas em JSON, a partir de uma API com operações em estilo CRUD.

A X DevAPI usa do protocolo X, o protocolo cliente-servidor de nova geração do servidor MySQL 8.0.

Para informação geral sobre o MySQL Document Store, favor se referir ao capítulo » MySQL Document Store no manual do MySQL.

- Instalação/Configuração
  - Dependências
  - Instalação
  - Configurações em Execução
  - Construindo / Compilando a Partir da Fonte
- Constantes predefinidas
- Registro de Alterações
- Exemplos
- Funções de Mysql_xdevapi
  - expression — Vincula as variáveis de instrução preparada como parâmetros
  - getSession — Conecta a um servidor MySQL
- mysql_xdevapi\BaseResult — Interface BaseResult
  - BaseResult::getWarnings — Buscar alertas da última operação
  - BaseResult::getWarningsCount — Busca contagem de alertas da última operação
- mysql_xdevapi\Client — Classe Client
  - mysql_xdevapi\Client::close — Fecha o cliente
  - Client::__construct — Construtor de Client
  - Client::getClient — Obtém a sessão do cliente
- mysql_xdevapi\Collection — Classe Collection
  - Collection::add — Adiciona um documento na coleção
  - Collection::addOrReplaceOne — Adiciona ou substitui um documento na coleção
  - Collection::__construct — Construtor de Collection
  - Collection::count — Obtém a contagem de documentos
  - Collection::createIndex — Cria índice na coleção
  - Collection::dropIndex — Remove um índice da coleção
  - Collection::existsInDatabase — Verifica se uma coleção existe no banco de dados
  - Collection::find — Pesquisa por um documento
  - Collection::getName — Obtém o nome da coleção
  - Collection::getOne — Obtém um documento
  - Collection::getSchema — Obtém o objeto de esquema
  - Collection::getSession — Obtém o objeto de sessão
  - Collection::modify — Modifica documentos da coleção
  - Collection::remove — Remove documentos da coleção
  - Collection::removeOne — Remove um documento da coleção
  - Collection::replaceOne — Substitui um documento na coleção
- mysql_xdevapi\CollectionAdd — Classe CollectionAdd
  - CollectionAdd::__construct — Construtor de CollectionAdd
  - CollectionAdd::execute — Executa a instrução
- mysql_xdevapi\CollectionFind — Classe CollectionFind
  - CollectionFind::bind — Vincula valor a marcador na consulta
  - CollectionFind::__construct — Construtor de CollectionFind
  - CollectionFind::execute — Executa a instrução
  - CollectionFind::fields — Define filtro de campo de documento
  - CollectionFind::groupBy — Define critérios de agrupamento
  - CollectionFind::having — Define condição para funções de agregação
  - CollectionFind::limit — Limita o número de documentos retornados
  - CollectionFind::lockExclusive — Executa a operação com EXCLUSIVE LOCK
  - CollectionFind::lockShared — Executa a operação com SHARED LOCK
  - CollectionFind::offset — Pula um número de elementos a serem retornados
  - CollectionFind::sort — Define os critérios de ordenação
- mysql_xdevapi\CollectionModify — Classe CollectionModify
  - CollectionModify::arrayAppend — Anexa elemento a um array de campos
  - CollectionModify::arrayInsert — Insere elemento em um array de campos
  - CollectionModify::bind — Vincula valor ao marcador da consulta
  - CollectionModify::__construct — Construtor de CollectionModify
  - CollectionModify::execute — Executa operação de modificação
  - CollectionModify::limit — Limita o número de documentos modificados
  - CollectionModify::patch — Corrige documento
  - CollectionModify::replace — Substitui campo de documento
  - CollectionModify::set — Define atributo de documento
  - CollectionModify::skip — Pula elementos
  - CollectionModify::sort — Define os critérios de ordenação
  - CollectionModify::unset — Remove o valor de campos do documento
- mysql_xdevapi\CollectionRemove — Classe CollectionRemove
  - CollectionRemove::bind — Vincula valor ao marcador
  - CollectionRemove::__construct — Construtor de CollectionRemove
  - CollectionRemove::execute — Executa operação de remoção
  - CollectionRemove::limit — Limita o número de documentos a remover
  - CollectionRemove::sort — Define os critérios de ordenação
- mysql_xdevapi\ColumnResult — Classe ColumnResult
  - ColumnResult::__construct — Construtor de ColumnResult
  - ColumnResult::getCharacterSetName — Obtém o conjunto de caracteres
  - ColumnResult::getCollationName — Obtém o nome da colação
  - ColumnResult::getColumnLabel — Obtém o label da coluna
  - ColumnResult::getColumnName — Obtém o nome da coluna
  - ColumnResult::getFractionalDigits — Obtém o comprimento dos dígitos fracionários
  - ColumnResult::getLength — Obtém o comprimento do campo da coluna
  - ColumnResult::getSchemaName — Obtám o nome do esquema
  - ColumnResult::getTableLabel — Obtém o label da tabela
  - ColumnResult::getTableName — Obtém o nome da tabela
  - ColumnResult::getType — Obtém o tipo de coluna
  - ColumnResult::isNumberSigned — Verifica se é do tipo com sinal
  - ColumnResult::isPadded — Verifica se é preenchida à esquerda
- mysql_xdevapi\CrudOperationBindable — Interface CrudOperationBindable
  - CrudOperationBindable::bind — Vincula valor ao marcador
- mysql_xdevapi\CrudOperationLimitable — Interface CrudOperationLimitable
  - CrudOperationLimitable::limit — Define o limite do resultado
- mysql_xdevapi\CrudOperationSkippable — Interface CrudOperationSkippable
  - CrudOperationSkippable::skip — Número de operações a pular
- mysql_xdevapi\CrudOperationSortable — Interface CrudOperationSortable
  - CrudOperationSortable::sort — Ordena resultados
- mysql_xdevapi\DatabaseObject — Interface DatabaseObject
  - DatabaseObject::existsInDatabase — Verifica se um objeto existe em um banco de dados
  - DatabaseObject::getName — Obtém o nome do objeto
  - DatabaseObject::getSession — Obtém o nome da sessão
- mysql_xdevapi\DocResult — Classe DocResult
  - DocResult::__construct — Construtor de DocResult
  - DocResult::fetchAll — Obtém todas as linhas
  - DocResult::fetchOne — Obtém uma linha
  - DocResult::getWarnings — Obtém alertas da última operação
  - DocResult::getWarningsCount — Obtém a contagem de alertas da última operação
- mysql_xdevapi\Exception — Classe Exception
- mysql_xdevapi\Executable — Interface Executable
  - Executable::execute — Executa instrução
- mysql_xdevapi\ExecutionStatus — Classe ExecutionStatus
  - ExecutionStatus::__construct — Construtor de ExecutionStatus
- mysql_xdevapi\Expression — Classe Expression
  - Expression::__construct — Construtor de Expression
- mysql_xdevapi\Result — Classe Result
  - Result::__construct — Construtor de Result
  - Result::getAffectedItemsCount — Obtém contagem de linhas afetadas
  - Result::getAutoIncrementValue — Obtém valor de incremento automático
  - Result::getGeneratedIds — Obtém os IDs gerados
  - Result::getWarnings — Obtém alertas da última operação
  - Result::getWarningsCount — Obtém contagem de alertas da última operação
- mysql_xdevapi\RowResult — Classe RowResult
  - RowResult::__construct — Construtor de RowResult
  - RowResult::fetchAll — Obtém todas as linhas do resultado
  - RowResult::fetchOne — Obtém linha do resultado
  - RowResult::getColumnsCount — Obtém a contagem de colunas
  - RowResult::getColumnNames — Obtém o nome de todas as colunas
  - RowResult::getColumns — Obtém metadados de coluna
  - RowResult::getWarnings — Obtém os alertas da última operação
  - RowResult::getWarningsCount — Obtém a contagem de alertas da última operação
- mysql_xdevapi\Schema — Classe Schema
  - Schema::__construct — Construtor de Schema
  - Schema::createCollection — Adiciona coleção ao esquema
  - Schema::dropCollection — Remove coleção do esquema
  - Schema::existsInDatabase — Verifica se existe no banco de dados
  - Schema::getCollection — Obtém coleção do esquema
  - Schema::getCollectionAsTable — Obtém uma coleção como um objeto Table
  - Schema::getCollections — Obtém todas as coleções do esquema
  - Schema::getName — Obtém o nome do esquema
  - Schema::getSession — Obtém a sessão do esquema
  - Schema::getTable — Obtém tabela do esquema
  - Schema::getTables — Obtém tabelas do esquema
- mysql_xdevapi\SchemaObject — Interface SchemaObject
  - SchemaObject::getSchema — Obtém o objeto do esquema
- mysql_xdevapi\Session — Classe Session
  - Session::close — Fecha sessão
  - Session::commit — Confirma a transação
  - Session::__construct — Construtor de Description
  - Session::createSchema — Cria novo esquema
  - Session::dropSchema — Remove um esquema
  - Session::generateUUID — Obtém novo UUID
  - Session::getDefaultSchema — Obtém o nome de esquema padrão
  - Session::getSchema — Obtém um novo objeto de esquema
  - Session::getSchemas — Obtém os esquemas
  - Session::getServerVersion — Obtém a versão do servidor
  - Session::listClients — Obtém a lista de clientes
  - Session::quoteName — Adiciona escape
  - Session::releaseSavepoint — Libera o ponto de gravação definido
  - Session::rollback — Reverte a transação
  - Session::rollbackTo — Reverte a transação para um ponto de gravação
  - Session::setSavepoint — Cria ponto de gravação
  - Session::sql — Cria consulta SQL
  - Session::startTransaction — Inicia transação
- mysql_xdevapi\SqlStatement — Classe SqlStatement
  - SqlStatement::bind — Vincula parâmetros da instrução
  - SqlStatement::__construct — Construtor de Description
  - SqlStatement::execute — Executa a operação
  - SqlStatement::getNextResult — Obtém o próximo resultado
  - SqlStatement::getResult — Obtém resultado
  - SqlStatement::hasMoreResults — Verifica por mais resultados
- mysql_xdevapi\SqlStatementResult — Classe SqlStatementResult
  - SqlStatementResult::__construct — Construtor de SqlStatementResult
  - SqlStatementResult::fetchAll — Obtém todas as linhas do resultado
  - SqlStatementResult::fetchOne — Obtém uma única linha
  - SqlStatementResult::getAffectedItemsCount — Obtém a contagem de linhas afetadas
  - SqlStatementResult::getColumnsCount — Obtém a contagem de colunas
  - SqlStatementResult::getColumnNames — Obtém nomes de colunas
  - SqlStatementResult::getColumns — Obtém colunas
  - SqlStatementResult::getGeneratedIds — Obtém IDs gerados
  - SqlStatementResult::getLastInsertId — Obtém o ID da última inserção
  - SqlStatementResult::getWarnings — Obtém alertas da última operação
  - SqlStatementResult::getWarningsCount — Obtém contagem de alertas da última operação
  - SqlStatementResult::hasData — Verifica se o resultado tem dados
  - SqlStatementResult::nextResult — Obtém o próximo resultado
- mysql_xdevapi\Statement — Classe Statement
  - Statement::__construct — Construtor de Statement
  - Statement::getNextResult — Obtém o próximo resultado
  - Statement::getResult — Obtém resultado
  - Statement::hasMoreResults — Verifica se há mais resultados
- mysql_xdevapi\Table — Classe Table
  - Table::__construct — Construtor de Table
  - Table::count — Obtém contagem de linhas
  - Table::delete — Deleta linhas da tabela
  - Table::existsInDatabase — Verifica se uma tabela existe no banco de dados
  - Table::getName — Obtém nome da tabela
  - Table::getSchema — Obtém esquema da tabela
  - Table::getSession — Obtém a sessão da tabela
  - Table::insert — Insere linhas na tabela
  - Table::isView — Verifica se a tabela é uma visualização
  - Table::select — Seleciona linhas da tabela
  - Table::update — Atualiza linhas na tabela
- mysql_xdevapi\TableDelete — Classe TableDelete
  - TableDelete::bind — Vincula parâmetros na instrução de deleção
  - TableDelete::__construct — Construtor de TableDelete
  - TableDelete::execute — Executa a instrução de deleção
  - TableDelete::limit — Limita as linhas deletadas
  - TableDelete::orderby — Define os critérios de ordenação na deleção
  - TableDelete::where — Define condição de pesquisa na deleção
- mysql_xdevapi\TableInsert — Classe TableInsert
  - TableInsert::__construct — Construtor de TableInsert
  - TableInsert::execute — Executa instrução de inserção
  - TableInsert::values — Adiciona valores para inserção
- mysql_xdevapi\TableSelect — Classe TableSelect
  - TableSelect::bind — Vincula parâmetros de consulta de seleção
  - TableSelect::__construct — Construtor TableSelect
  - TableSelect::execute — Executa instrução de seleção
  - TableSelect::groupBy — Define critérios de agrupamento de seleção
  - TableSelect::having — Definir condição para função de agregação na seleção
  - TableSelect::limit — Limita as linhas selecionadas
  - TableSelect::lockExclusive — Executa EXCLUSIVE LOCK
  - TableSelect::lockShared — Executa SHARED LOCK
  - TableSelect::offset — Define o deslocamento limite
  - TableSelect::orderby — Define critérios de ordenamento na seleção
  - TableSelect::where — Define condição de pesquisa na seleção
- mysql_xdevapi\TableUpdate — TableUpdate class
  - TableUpdate::bind — Vincula parâmetros de consulta de atualização
  - TableUpdate::__construct — Construtor de TableUpdate
  - TableUpdate::execute — Executa instrução de atualização
  - TableUpdate::limit — Limita contagem de atualização de linhas
  - TableUpdate::orderby — Define critérios de ordenação
  - TableUpdate::set — Adiciona campo a ser atualizado
  - TableUpdate::where — Define filtro de pesquisa
- mysql_xdevapi\Warning — Classe Warning
  - Warning::__construct — Construtor de Warning

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open