anchor.diff:  [[oracle-data-type-mappings]]
   == Data type mappings
   
  -To represent changes that occur in a table rows, the {prodname} Oracle connector emits change events that are structured like the table in which the rows exists.
  -The event contains a field for each column value.
  -Column values are represented according to the Oracle data type of the column.
  -The following sections describe how the connector maps oracle data types to a _literal type_ and a _semantic type_ in event fields.
  -
  -_literal type_:: Describes how the value is literally represented using Kafka Connect schema types: `INT8`, `INT16`, `INT32`, `INT64`, `FLOAT32`, `FLOAT64`, `BOOLEAN`, `STRING`, `BYTES`, `ARRAY`, `MAP`, and `STRUCT`.
  -
  -_semantic type_:: Describes how the Kafka Connect schema captures the _meaning_ of the field using the name of the Kafka Connect schema for the field.
  +When the {prodname} {connector-name} connector detects a change in the value of a table row, it emits a change event that represents the change.
  +Each change event record is structured in the same way as the original table, with the event record containing a field for each column value.
  +The data type of a table column determines how the connector represents the column's values in change event fields, as shown in the tables in the following sections.
  +
  +For each column in a table, {prodname} maps the source data type to a _literal type_ and, and in some cases, a _semantic type_, in the corresponding event field.
  +
  +Literal types:: Describe how the value is literally represented, using one of the following Kafka Connect schema types: `INT8`, `INT16`, `INT32`, `INT64`, `FLOAT32`, `FLOAT64`, `BOOLEAN`, `STRING`, `BYTES`, `ARRAY`, `MAP`, and `STRUCT`.
  +
  +Semantic types:: Describe how the Kafka Connect schema captures the _meaning_ of the field, by using the name of the Kafka Connect schema for the field.
  +
  +For some Oracle binary large object (BLOB) and numeric data types, you can manipulate the way that the connector performs the type mapping by changing default configuration property settings.
  +For more information about how {prodname} properties control mappings for these data types, see xref:oracle-binary-character-lob-types[Binary and Character LOB types] and xref:oracle-numeric-types[Numeric types].
   
   ifdef::product[]
  -Details are in the following sections:
  -
  +For more information about data type mappings, see the following topics:
  +
  +* xref:oracle-binary-character-lob-types[]
   * xref:oracle-character-types[]
   * xref:oracle-numeric-types[]
  -* xref:oracle-decimal-types[]
  +* xref:oracle-boolean-types[]
   * xref:oracle-temporal-types[]
   * xref:oracle-rowid-types[]
  +* xref:oracle-user-defined-types[]
  +* xref:oracle-suppplied-types[]
   
   endif::product[]
   
  
positive.code:  * P - S < 5, `INT16` +
   * P - S < 10, `INT32` +
   * P - S < 19, `INT64` +
   * P - S >= 19, `BYTES` (`org.apache.kafka.connect.data.Decimal`).
  
  |`NUMBER(P, S > 0)`
  |`BYTES`
  
negative.code:  +
  Handled equivalently to `NUMBER` (note that S defaults to 0 for `NUMERIC`).
  
  When the `decimal.handling.mode` property is set to `double`, the connector represents `NUMERIC` values as Java `double` values with schema type `FLOAT64`.
  
  When the `decimal.handling.mode` property is set to `string`, the connector represents `NUMERIC` values as their formatted string representation with schema type `STRING`.
  
  |`SMALLINT`
  |`BYTES`
  |`org.apache.kafka.connect.data.Decimal` +
  