Class: SQLAnywhere

Inherits:
Object
  • Object
show all
Extended by:
FFI::Library
Defined in:
lib/sqlanywhere.rb

Defined Under Namespace

Modules: API Classes: BindParam, BindParamInfo, Bool, ColumnInfo, DataInfo, DataValue, SQLAnywhereInterface

Constant Summary collapse

API_VERSION_1 =
1
API_VERSION_2 =
2
ERROR_SIZE =
256
SIZE_T =
:ulong_long
DataDirection =
enum [
  :invalid, 0,
  :input,
  :output,
  :input_output,
]
DataType =
enum [
  :invalid_type,
  :binary,
  :string,
  :double,
  :val64, # 64 bit integer
  :unsigned_val64, # 64 bit unsigned integer
  :val32,
  :unsigned_val32,
  :val16,
  :unsigned_val16,
  :val8,
  :unsigned_val8,
]
NativeType =
enum [
  # No data type.
  :no_type,
  # Null-terminated character string that is a valid date. 
  :date,
  # Null-terminated character string that is a valid time. 
  :time,
  # Null-terminated character string that is a valid timestamp.
  :timestamp,
  # Varying length character string, in the CHAR character set, with a two-byte length field.
  # The maximum length is 32765 bytes. When sending data, you must set the length field.
  # When fetching data, the database server sets the length field.
  # The data is not null-terminated or blank-padded.
  :var_char,
  # Fixed-length blank-padded character string, in the CHAR character set.
  # The maximum length, specified in bytes, is 32767.
  # The data is not null-terminated. 
  :fix_char,
  # Long varying length character string, in the CHAR character set.
  :long_var_char,
  # Null-terminated character string, in the CHAR character set.
  # The string is blank-padded if the database is initialized with blank-padded strings.
  :string,
  # 8-byte floating-point number. 
  :double,
  # 4-byte floating-point number.
  :float,
  # Packed decimal number (proprietary format). 
  :decimal,
  # 32-bit signed integer.
  :int,
  # 16-bit signed integer.
  :small_int,
  # Varying length binary data with a two-byte length field.
  # The maximum length is 32765 bytes.
  # When supplying information to the database server, you must set the length field.
  # When fetching information from the database server, the server sets the length field. 
  :binary,
  # Long binary data.
  :long_binary,
  # 8-bit signed integer.
  :tiny_int,
  # 64-bit signed integer.
  :big_int,
  # 32-bit unsigned integer.
  :unsigned_int,
  # 16-bit unsigned integer.
  :unsigned_small_int,
  # 64-bit unsigned integer.
  :unsigned_big_int,
  # 8-bit signed integer.
  :bit,
  # Long varying length character string, in the NCHAR character set.
  :long_n_varchar,
]

Class Method Summary collapse

Class Method Details

.write_size_t(location, value) ⇒ Object



15
16
17
# File 'lib/sqlanywhere.rb', line 15

def self.write_size_t(location, value)
  location.write_uint(value)
end