vastdb 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vastdb-0.1.1/CHANGELOG.md +95 -0
- vastdb-0.1.1/MANIFEST.in +1 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/PKG-INFO +1 -1
- {vastdb-0.1.0 → vastdb-0.1.1}/setup.py +3 -2
- vastdb-0.1.1/vastdb/bench/test_perf.py +29 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/bucket.py +14 -6
- {vastdb-0.1.0/vastdb/tests → vastdb-0.1.1/vastdb}/conftest.py +21 -7
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/errors.py +20 -3
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/internal_commands.py +105 -141
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/schema.py +14 -6
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/session.py +2 -3
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/table.py +16 -13
- vastdb-0.1.1/vastdb/tests/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/tests/test_imports.py +3 -5
- vastdb-0.1.1/vastdb/tests/test_nested.py +28 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/tests/test_projections.py +2 -1
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/tests/test_sanity.py +3 -4
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/tests/test_schemas.py +18 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/tests/test_tables.py +78 -31
- vastdb-0.1.1/vastdb/tests/util.py +18 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/transaction.py +3 -4
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/util.py +4 -3
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb.egg-info/PKG-INFO +1 -1
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb.egg-info/SOURCES.txt +9 -2
- vastdb-0.1.1/vastdb.egg-info/requires.txt +7 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/LICENSE +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/README.md +0 -0
- /vastdb-0.1.0/vastdb.egg-info/requires.txt → /vastdb-0.1.1/requirements.txt +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/setup.cfg +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Aggregate.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ArraySlice.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ArraySubscript.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/BinaryLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/BooleanLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Bound.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Call.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/CaseFragment.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Cast.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ConcreteBoundImpl.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ConditionalCase.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/CurrentRow.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DateLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DecimalLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Deref.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DurationLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Expression.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ExpressionImpl.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FieldIndex.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FieldRef.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Filter.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FixedSizeBinaryLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float16Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float32Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float64Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Following.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Frame.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Grouping.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int16Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int32Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int64Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int8Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralDaysMilliseconds.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralImpl.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralMonths.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Join.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/JoinKind.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/KeyValue.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Limit.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ListLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralColumn.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralImpl.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralRelation.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/MapKey.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/MapLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/OrderBy.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Ordering.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Plan.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Preceding.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Project.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/RelId.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Relation.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/RelationImpl.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SetOpKind.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SetOperation.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SimpleCase.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SortKey.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Source.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StringLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StructField.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StructLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/TimeLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/TimestampLiteral.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt16Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt32Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt64Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt8Literal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Unbounded.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/WindowCall.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Binary.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Block.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/BodyCompression.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/BodyCompressionMethod.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Bool.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Buffer.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/CompressionType.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Date.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/DateUnit.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Decimal.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryBatch.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryEncoding.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryKind.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Duration.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Endianness.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Feature.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Field.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/FieldNode.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/FixedSizeBinary.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/FixedSizeList.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/FloatingPoint.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Footer.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Int.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Interval.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/IntervalUnit.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/KeyValue.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/LargeBinary.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/LargeList.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/LargeUtf8.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/List.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Map.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Message.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/MessageHeader.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/MetadataVersion.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Null.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Precision.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/RecordBatch.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Schema.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseMatrixCompressedAxis.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseMatrixIndexCSX.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensor.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndex.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndexCOO.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndexCSF.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Struct_.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Tensor.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/TensorDim.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Time.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/TimeUnit.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Timestamp.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Type.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Union.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/UnionMode.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/Utf8.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/org/apache/arrow/flatbuf/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/AlterColumnRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/AlterProjectionTableRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/AlterSchemaRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/AlterTableRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/Column.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ColumnType.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/CreateProjectionRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/CreateSchemaRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/GetProjectionTableStatsResponse.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/GetTableStatsResponse.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ImportDataRequest.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ListProjectionsResponse.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ListSchemasResponse.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ListTablesResponse.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/ObjectDetails.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/S3File.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/VipRange.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vast_flatbuf/tabular/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb/__init__.py +0 -0
- {vastdb-0.1.0/vastdb/tests → vastdb-0.1.1/vastdb/bench}/__init__.py +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb.egg-info/dependency_links.txt +0 -0
- {vastdb-0.1.0 → vastdb-0.1.1}/vastdb.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
|
|
7
|
+
## [0.1.1] (2024-04-15)
|
|
8
|
+
[0.1.1]: https://github.com/vast-data/vastdb_sdk/compare/v0.1.0...v0.1.1
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Support date & timestamp predicate pushdown [#25]
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Add missing `requirements.txt` file to released tarball [#47]
|
|
15
|
+
|
|
16
|
+
## [0.1.0] (2024-04-11)
|
|
17
|
+
[0.1.0]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.5.3...v0.1.0
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
- Transactions are implemented using [context managers](https://docs.python.org/3/library/stdtypes.html#typecontextmanager)
|
|
21
|
+
- Database entities are derived from a specific transaction
|
|
22
|
+
- Predicate pushdown is using [ibis](https://ibis-project.org/)-like expressions
|
|
23
|
+
- Public SDK [test suite](vastdb/tests/)
|
|
24
|
+
- Internal CI with Python 3.9 - 3.12
|
|
25
|
+
- Using [`ruff`](https://github.com/astral-sh/ruff) for linting and code formatting
|
|
26
|
+
- Improved [`README.md`](README.md) with new API examples
|
|
27
|
+
|
|
28
|
+
### Removed
|
|
29
|
+
|
|
30
|
+
- Old SDK classes and methods are deprecated
|
|
31
|
+
|
|
32
|
+
## [0.0.5.3] (2024-03-24)
|
|
33
|
+
[0.0.5.3]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.5.2...v0.0.5.3
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
- Allow changing default max list_columns page size [#43]
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- Fixing insert function to use the correct tx while listing columns [#42]
|
|
40
|
+
|
|
41
|
+
## [0.0.5.2] (2024-03-19)
|
|
42
|
+
[0.0.5.2]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.5.1...v0.0.5.2
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
- Support retrieving row IDs via `VastdbApi.query()` [#31]
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
- Fixed several functions that didn't use the correct txid [#30]
|
|
49
|
+
- Fix graceful cancellation for `VastdbApi.query_iterator()` [#33]
|
|
50
|
+
|
|
51
|
+
### Removed
|
|
52
|
+
- Remove `vast_protobuf` package and `protobuf` dependency [#29]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## [0.0.5.1] (2024-03-01)
|
|
56
|
+
[0.0.5.1]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.5.0...v0.0.5.1
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
- Support latest Python (3.11+) by not requiring too old dependencies. [#16]
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## [0.0.5.0] (2024-02-25)
|
|
63
|
+
[0.0.5.0]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.4.0...v0.0.5.0
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- Created a CHANGELOG
|
|
67
|
+
|
|
68
|
+
### Fixed
|
|
69
|
+
- Wait until all files are processed during import
|
|
70
|
+
- Sync with internal `api.py` code
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
## [0.0.4.0] (2024-02-14)
|
|
74
|
+
[0.0.4.0]: https://github.com/vast-data/vastdb_sdk/compare/v0.0.2...v0.0.4.0
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
- Allow creating a table using the schema of an existing Parquet file via `create_table_from_parquet_schema()`
|
|
78
|
+
- Allow inserting RecordBatch into DB via `insert()`
|
|
79
|
+
|
|
80
|
+
### Changed
|
|
81
|
+
- Rename `vastdb_api` module to `api`
|
|
82
|
+
|
|
83
|
+
### Fixed
|
|
84
|
+
- Fix `concurrent.futures` import error
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
[#16]: https://github.com/vast-data/vastdb_sdk/pull/16
|
|
88
|
+
[#25]: https://github.com/vast-data/vastdb_sdk/pull/25
|
|
89
|
+
[#29]: https://github.com/vast-data/vastdb_sdk/pull/29
|
|
90
|
+
[#30]: https://github.com/vast-data/vastdb_sdk/pull/30
|
|
91
|
+
[#31]: https://github.com/vast-data/vastdb_sdk/pull/31
|
|
92
|
+
[#33]: https://github.com/vast-data/vastdb_sdk/pull/33
|
|
93
|
+
[#42]: https://github.com/vast-data/vastdb_sdk/pull/42
|
|
94
|
+
[#43]: https://github.com/vast-data/vastdb_sdk/pull/43
|
|
95
|
+
[#47]: https://github.com/vast-data/vastdb_sdk/pull/47
|
vastdb-0.1.1/MANIFEST.in
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include *.md LICENSE requirements.txt
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import os
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
from setuptools import find_packages, setup
|
|
3
4
|
|
|
4
5
|
long_description = """
|
|
5
6
|
`vastdb` is a Python-based SDK designed for interacting
|
|
@@ -25,7 +26,7 @@ setup(
|
|
|
25
26
|
name='vastdb',
|
|
26
27
|
python_requires='>=3.9.0',
|
|
27
28
|
description='VAST Data SDK',
|
|
28
|
-
version='0.1.
|
|
29
|
+
version='0.1.1' + suffix,
|
|
29
30
|
url='https://github.com/vast-data/vastdb_sdk',
|
|
30
31
|
author='VAST DATA',
|
|
31
32
|
author_email='hello@vastdata.com',
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import time
|
|
3
|
+
|
|
4
|
+
import pyarrow as pa
|
|
5
|
+
import pytest
|
|
6
|
+
|
|
7
|
+
from vastdb import util
|
|
8
|
+
from vastdb.table import ImportConfig, QueryConfig
|
|
9
|
+
|
|
10
|
+
log = logging.getLogger(__name__)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@pytest.mark.benchmark
|
|
14
|
+
def test_bench(session, clean_bucket_name, parquets_path, crater_path):
|
|
15
|
+
files = [str(parquets_path/f) for f in (parquets_path.glob('**/*.pq'))]
|
|
16
|
+
|
|
17
|
+
with session.transaction() as tx:
|
|
18
|
+
b = tx.bucket(clean_bucket_name)
|
|
19
|
+
s = b.create_schema('s1')
|
|
20
|
+
t = util.create_table_from_files(s, 't1', files, config=ImportConfig(import_concurrency=8))
|
|
21
|
+
config = QueryConfig(num_splits=8, num_sub_splits=4)
|
|
22
|
+
s = time.time()
|
|
23
|
+
pa_table = pa.Table.from_batches(t.select(columns=['sid'], predicate=t['sid'] == 10033007, config=config))
|
|
24
|
+
e = time.time()
|
|
25
|
+
log.info("'SELECT sid from TABLE WHERE sid = 10033007' returned in %s seconds.", e-s)
|
|
26
|
+
if crater_path:
|
|
27
|
+
with open(f'{crater_path}/bench_results', 'a') as f:
|
|
28
|
+
f.write(f"'SELECT sid FROM TABLE WHERE sid = 10033007' returned in {e-s} seconds")
|
|
29
|
+
assert pa_table.num_rows == 255_075
|
|
@@ -4,10 +4,10 @@ VAST S3 buckets can be used to create Database schemas and tables.
|
|
|
4
4
|
It is possible to list and access VAST snapshots generated over a bucket.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from . import errors, schema, transaction
|
|
8
|
-
|
|
9
|
-
from dataclasses import dataclass
|
|
10
7
|
import logging
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
|
|
10
|
+
from . import errors, schema, transaction
|
|
11
11
|
|
|
12
12
|
log = logging.getLogger(__name__)
|
|
13
13
|
|
|
@@ -27,18 +27,26 @@ class Bucket:
|
|
|
27
27
|
name: str
|
|
28
28
|
tx: "transaction.Transaction"
|
|
29
29
|
|
|
30
|
-
def create_schema(self, path: str) -> "schema.Schema":
|
|
30
|
+
def create_schema(self, path: str, fail_if_exists=True) -> "schema.Schema":
|
|
31
31
|
"""Create a new schema (a container of tables) under this bucket."""
|
|
32
|
+
if current := self.schema(path, fail_if_missing=False):
|
|
33
|
+
if fail_if_exists:
|
|
34
|
+
raise errors.SchemaExists(self.name, path)
|
|
35
|
+
else:
|
|
36
|
+
return current
|
|
32
37
|
self.tx._rpc.api.create_schema(self.name, path, txid=self.tx.txid)
|
|
33
38
|
log.info("Created schema: %s", path)
|
|
34
39
|
return self.schema(path)
|
|
35
40
|
|
|
36
|
-
def schema(self, path: str) -> "schema.Schema":
|
|
41
|
+
def schema(self, path: str, fail_if_missing=True) -> "schema.Schema":
|
|
37
42
|
"""Get a specific schema (a container of tables) under this bucket."""
|
|
38
43
|
s = self.schemas(path)
|
|
39
44
|
log.debug("schema: %s", s)
|
|
40
45
|
if not s:
|
|
41
|
-
|
|
46
|
+
if fail_if_missing:
|
|
47
|
+
raise errors.MissingSchema(self.name, path)
|
|
48
|
+
else:
|
|
49
|
+
return None
|
|
42
50
|
assert len(s) == 1, f"Expected to receive only a single schema, but got: {len(s)}. ({s})"
|
|
43
51
|
log.debug("Found schema: %s", s[0].name)
|
|
44
52
|
return s[0]
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import os
|
|
2
|
+
from pathlib import Path
|
|
2
3
|
|
|
3
|
-
import pytest
|
|
4
4
|
import boto3
|
|
5
|
-
import
|
|
5
|
+
import pytest
|
|
6
|
+
|
|
7
|
+
import vastdb
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
def pytest_addoption(parser):
|
|
9
|
-
parser.addoption("--tabular-bucket-name", help="Name of the S3 bucket with Tabular enabled", default
|
|
10
|
-
parser.addoption("--tabular-access-key", help="Access key with Tabular permissions (AWS_ACCESS_KEY_ID)", default
|
|
11
|
-
parser.addoption("--tabular-secret-key", help="Secret key with Tabular permissions (AWS_SECRET_ACCESS_KEY)"
|
|
12
|
-
parser.addoption("--tabular-endpoint-url", help="Tabular server endpoint", default
|
|
11
|
+
parser.addoption("--tabular-bucket-name", help="Name of the S3 bucket with Tabular enabled", default="vastdb")
|
|
12
|
+
parser.addoption("--tabular-access-key", help="Access key with Tabular permissions (AWS_ACCESS_KEY_ID)", default=os.environ.get("AWS_ACCESS_KEY_ID", None))
|
|
13
|
+
parser.addoption("--tabular-secret-key", help="Secret key with Tabular permissions (AWS_SECRET_ACCESS_KEY)", default=os.environ.get("AWS_SECRET_ACCESS_KEY", None))
|
|
14
|
+
parser.addoption("--tabular-endpoint-url", help="Tabular server endpoint", default="http://localhost:9090")
|
|
15
|
+
parser.addoption("--data-path", help="Data files location", default=None)
|
|
16
|
+
parser.addoption("--crater-path", help="Save benchmark results in a dedicated location", default=None)
|
|
13
17
|
|
|
14
18
|
|
|
15
19
|
@pytest.fixture(scope="session")
|
|
@@ -44,3 +48,13 @@ def s3(request):
|
|
|
44
48
|
aws_access_key_id=request.config.getoption("--tabular-access-key"),
|
|
45
49
|
aws_secret_access_key=request.config.getoption("--tabular-secret-key"),
|
|
46
50
|
endpoint_url=request.config.getoption("--tabular-endpoint-url"))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@pytest.fixture(scope="function")
|
|
54
|
+
def parquets_path(request):
|
|
55
|
+
return Path(request.config.getoption("--data-path"))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
@pytest.fixture(scope="function")
|
|
59
|
+
def crater_path(request):
|
|
60
|
+
return request.config.getoption("--crater-path")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
import requests
|
|
3
2
|
import xml.etree.ElementTree
|
|
4
|
-
|
|
5
|
-
from enum import Enum
|
|
6
3
|
from dataclasses import dataclass
|
|
4
|
+
from enum import Enum
|
|
5
|
+
|
|
6
|
+
import requests
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class HttpStatus(Enum):
|
|
@@ -114,6 +114,23 @@ class MissingProjection(Missing):
|
|
|
114
114
|
projection: str
|
|
115
115
|
|
|
116
116
|
|
|
117
|
+
class Exists(Exception):
|
|
118
|
+
pass
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
@dataclass
|
|
122
|
+
class SchemaExists(Exists):
|
|
123
|
+
bucket: str
|
|
124
|
+
schema: str
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
@dataclass
|
|
128
|
+
class TableExists(Exists):
|
|
129
|
+
bucket: str
|
|
130
|
+
schema: str
|
|
131
|
+
table: str
|
|
132
|
+
|
|
133
|
+
|
|
117
134
|
ERROR_TYPES_MAP = {
|
|
118
135
|
HttpStatus.BAD_REQUEST: BadRequest,
|
|
119
136
|
HttpStatus.FOBIDDEN: Forbidden,
|