Fix some ifdef issues

This commit is contained in:
divanik 2024-10-25 13:37:12 +00:00
parent 31490438d9
commit ca040906c3
4 changed files with 24 additions and 25 deletions

View File

@ -84,15 +84,15 @@ private:
};
#if USE_AVRO
# if USE_AWS_S3
#if USE_AWS_S3
using StorageS3IcebergConfiguration = DataLakeConfiguration<StorageS3Configuration, IcebergMetadata>;
# endif
# if USE_AZURE_BLOB_STORAGE
#if USE_AZURE_BLOB_STORAGE
using StorageAzureIcebergConfiguration = DataLakeConfiguration<StorageAzureConfiguration, IcebergMetadata>;
# endif
# if USE_HDFS
#if USE_HDFS
using StorageHDFSIcebergConfiguration = DataLakeConfiguration<StorageHDFSConfiguration, IcebergMetadata>;
# endif
@ -100,7 +100,7 @@ using StorageLocalIcebergConfiguration = DataLakeConfiguration<StorageLocalConfi
#endif
#if USE_PARQUET
# if USE_AWS_S3
#if USE_AWS_S3
using StorageS3DeltaLakeConfiguration = DataLakeConfiguration<StorageS3Configuration, DeltaLakeMetadata>;
# endif
#endif

View File

@ -11,8 +11,6 @@
namespace DB
{
#if USE_AWS_S3 || USE_AZURE_BLOB_STORAGE || USE_HDFS
namespace ErrorCodes
{
extern const int BAD_ARGUMENTS;
@ -65,8 +63,6 @@ static std::shared_ptr<StorageObjectStorage> createStorageObjectStorage(
partition_by);
}
#endif
#if USE_AZURE_BLOB_STORAGE
void registerStorageAzure(StorageFactory & factory)
{
@ -236,10 +232,10 @@ void registerStorageIceberg(StorageFactory & factory)
#endif
#if USE_AWS_S3
#if USE_PARQUET
void registerStorageDeltaLake(StorageFactory & factory)
{
#if USE_AWS_S3
factory.registerStorage(
"DeltaLake",
[&](const StorageFactory::Arguments & args)
@ -254,11 +250,13 @@ void registerStorageDeltaLake(StorageFactory & factory)
.supports_schema_inference = true,
.source_access_type = AccessType::S3,
});
#endif
}
#endif
void registerStorageHudi(StorageFactory & factory)
{
#if USE_AWS_S3
factory.registerStorage(
"Hudi",
[&](const StorageFactory::Arguments & args)
@ -273,6 +271,6 @@ void registerStorageHudi(StorageFactory & factory)
.supports_schema_inference = true,
.source_access_type = AccessType::S3,
});
}
#endif
}
}

View File

@ -41,10 +41,11 @@ void registerStorageS3Queue(StorageFactory & factory);
#if USE_PARQUET
void registerStorageDeltaLake(StorageFactory & factory);
#endif
#endif
#if USE_AVRO
void registerStorageIceberg(StorageFactory & factory);
#endif
#endif
#if USE_AZURE_BLOB_STORAGE
void registerStorageAzureQueue(StorageFactory & factory);

View File

@ -228,7 +228,7 @@ template class TableFunctionObjectStorage<LocalDefinition, StorageLocalConfigura
#if USE_AVRO
void registerTableFunctionIceberg(TableFunctionFactory & factory)
{
# if USE_AWS_S3
#if USE_AWS_S3
factory.registerFunction<TableFunctionIceberg>(
{.documentation
= {.description = R"(The table function can be used to read the Iceberg table stored on S3 object store. Alias to icebergS3)",
@ -242,23 +242,23 @@ void registerTableFunctionIceberg(TableFunctionFactory & factory)
.categories{"DataLake"}},
.allow_readonly = false});
# endif
# if USE_AZURE_BLOB_STORAGE
#endif
#if USE_AZURE_BLOB_STORAGE
factory.registerFunction<TableFunctionIcebergAzure>(
{.documentation
= {.description = R"(The table function can be used to read the Iceberg table stored on Azure object store.)",
.examples{{"icebergAzure", "SELECT * FROM icebergAzure(url, access_key_id, secret_access_key)", ""}},
.categories{"DataLake"}},
.allow_readonly = false});
# endif
# if USE_HDFS
#endif
#if USE_HDFS
factory.registerFunction<TableFunctionIcebergHDFS>(
{.documentation
= {.description = R"(The table function can be used to read the Iceberg table stored on HDFS virtual filesystem.)",
.examples{{"icebergHDFS", "SELECT * FROM icebergHDFS(url)", ""}},
.categories{"DataLake"}},
.allow_readonly = false});
# endif
#endif
factory.registerFunction<TableFunctionIcebergLocal>(
{.documentation
= {.description = R"(The table function can be used to read the Iceberg table stored locally.)",
@ -268,29 +268,31 @@ void registerTableFunctionIceberg(TableFunctionFactory & factory)
}
#endif
#if USE_AWS_S3
# if USE_PARQUET
#if USE_PARQUET
void registerTableFunctionDeltaLake(TableFunctionFactory & factory)
{
#if USE_AWS_S3
factory.registerFunction<TableFunctionDeltaLake>(
{.documentation
= {.description = R"(The table function can be used to read the DeltaLake table stored on object store.)",
.examples{{"deltaLake", "SELECT * FROM deltaLake(url, access_key_id, secret_access_key)", ""}},
.categories{"DataLake"}},
.allow_readonly = false});
#endif
}
# endif
#endif
void registerTableFunctionHudi(TableFunctionFactory & factory)
{
#if USE_AWS_S3
factory.registerFunction<TableFunctionHudi>(
{.documentation
= {.description = R"(The table function can be used to read the Hudi table stored on object store.)",
.examples{{"hudi", "SELECT * FROM hudi(url, access_key_id, secret_access_key)", ""}},
.categories{"DataLake"}},
.allow_readonly = false});
}
#endif
}
void registerDataLakeTableFunctions(TableFunctionFactory & factory)
{
@ -298,11 +300,9 @@ void registerDataLakeTableFunctions(TableFunctionFactory & factory)
#if USE_AVRO
registerTableFunctionIceberg(factory);
#endif
#if USE_AWS_S3
# if USE_PARQUET
#if USE_PARQUET
registerTableFunctionDeltaLake(factory);
# endif
registerTableFunctionHudi(factory);
#endif
registerTableFunctionHudi(factory);
}
}