CHANGELOG
2.0
2.0.0
-
[breaking change] Make
:orctable format to resolve columns by names instead of indexes.:orc_index_accesspreserves existing behavior -
[breaking change] Simplify table format to take either symbols for presets or a string if you want to specify a custom format
-
Add
:jsontable format preset
1.0
1.5.0
-
Ability to configure Egis per client
1.4.0
-
Add ability to insert data with hash values rather than arrays
1.3.0
-
Add ability to create Athena tables with SerDe
1.2.1
-
Fix testing mode error when AWS credentials missing
1.2.0
-
Add logger
1.1.0
-
Ability to specify AWS credentials profile
1.0.1
-
Fixed
aws-sdk-s3not being a runtime dependency
1.0.0
-
Added
fetch_resultmethod toAegis::QueryStatus
Unstable
0.4.0
-
Moved errors to
Aegis::Errorsmodule
0.3.6
-
Moved
NullSerializertoTypesmodule
0.3.5
-
Fixed
nilvalue serialization
0.3.4
-
Fixed table's
download_datato correctly returnnilvalues
0.3.3
-
Fixed data wiping when S3 location is empty
0.3.2
-
Fixed table options
-
Replaced usage of deprecated last argument as keyword parameters with splat operator
0.3.1
-
Fixed testing mode table location translation
0.3.0
-
[breaking change] Extracted table-related methods from
Databaseinto newTableclass (create_table,add_partitions,discover_partitions). Table objects are now being created usingDatabase.tablemethod. -
[breaking change]
.execute_querymethods inasyncmode now returnAegis::QueryStatusobjects instead of query id. -
Introduced new testing framework. All database queries executed within
Aegis.testing { ... }will be executed inside a separated “virtual environment” in the testing bucket you can now configure. -
Added a bunch of convenience methods:
-
QueryStatus.in_progress? -
Database.exists?to check whether a database with a given name already exists -
Table.upload_datato upload data to S3 directly from Ruby (especially useful in testing) -
Table.download_datato download table data into memory (especially useful in testing) -
Table.wipe_datato purge table's S3 location -
Introduced
Aegis::Typesmodule for working with Athena data types.Aegis::Types.serializer(type)returns proper type serializer which hasliteral,dumpandloadmethods. -
literalreturns a string literal you can embed within your queries. For example,Aegis::Types.serializer(:timestamp).literal(Time.now)returnstimestamp '2020-04-14 10:36:48'which you can use directly in a Athena query. -
dumpserializes Ruby value object into a string that can be used in S3 data file -
loadloads serialized string value back to Ruby object
0.2.0
-
[breaking change] Removed
permissiveparameter replacing it with bang method versions. Changed methods:Database.create,Database.drop,Database.create_table,Database.load_partitions -
[breaking change] Replaced
Database.load_partitionswith two simpler methods:Database.add_partitions,Database.discover_partitions -
[breaking change]
Database.execute_queryis async by default now
0.1.0
Initial gem implementation including core features like:
-
table schema DSL
-
database / table creation
-
partition loading
-
synchronous and asynchronous query execution
-
query status monitoring