lidavidm commented on code in PR #1099:
URL: https://github.com/apache/arrow-adbc/pull/1099#discussion_r1344399512
##########
c/validation/adbc_validation.cc:
##########
@@ -945,6 +945,65 @@ void ConnectionTest::TestMetadataGetObjectsConstraints() {
// TODO: can't be done portably (need to create tables with primary keys and
such)
}
+void ConstraintTest(AdbcGetObjectsConstraint* constraint, std::string key_type,
+ std::vector<std::string> columns) {
+ std::string_view constraint_type(constraint->constraint_type.data,
+ constraint->constraint_type.size_bytes);
+ int number_of_columns = columns.size();
+ ASSERT_EQ(constraint_type, key_type);
+ ASSERT_EQ(constraint->n_column_names, number_of_columns)
+ << "expected constraint " << key_type
+ << " of adbc_fkey_child_test to be applied to " <<
std::to_string(number_of_columns)
+ << " column(s), found: " << constraint->n_column_names;
+
+ int column_index;
+ for (column_index = 0; column_index < number_of_columns; column_index++) {
+ std::string_view constraint_column_name(
+ constraint->constraint_column_names[column_index].data,
+ constraint->constraint_column_names[column_index].size_bytes);
+ ASSERT_EQ(constraint_column_name, columns[column_index]);
+ }
+}
+
+void ForeignKeyColumnUsagesTest(AdbcGetObjectsConstraint* constraint,
+ int column_usage_index, std::string
fk_table_name,
+ std::string fk_column_name) {
+ // Test fk_catalog
+ std::string_view constraint_column_usage_fk_catalog(
+
constraint->constraint_column_usages[column_usage_index]->fk_catalog.data,
+
constraint->constraint_column_usages[column_usage_index]->fk_catalog.size_bytes);
+
+ std::string_view sqlite_default_catalog = "main";
+ std::string_view postgresql_default_catalog = "postgres";
Review Comment:
`quirks()->catalog()` should get you the backend's catalog instead of having
to hardcode these
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]