Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,11 @@ jobs:
run: |
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
curl https://install.citusdata.com/community/deb.sh | sudo bash
sudo apt-get -y install postgresql-15-citus-11.1
sudo sed -i 's/noble/jammy/g' /etc/apt/sources.list.d/citusdata_community.list # https://github.com/citusdata/citus/issues/7692
sudo apt-get update
sudo apt-get -y install postgresql-17-citus-13.0
sudo chown -R $USER:$USER /var/run/postgresql
export PATH=/usr/lib/postgresql/15/bin:$PATH
export PATH=/usr/lib/postgresql/17/bin:$PATH
cd ~
mkdir -p citus/coordinator citus/worker1 citus/worker2
initdb -D citus/coordinator
Expand Down
4 changes: 2 additions & 2 deletions src/sqlancer/citus/CitusSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ public static CitusSchema fromConnection(SQLConnection con, String databaseName)
"SELECT table_name, column_to_column_name(logicalrelid, partkey) AS dist_col_name, colocationid FROM information_schema.tables LEFT OUTER JOIN pg_dist_partition ON logicalrelid=table_name::regclass WHERE table_schema='public' OR table_schema LIKE 'pg_temp_%';")) {
while (rs.next()) {
String tableName = rs.getString("table_name");
/* citus_tables is a helper view, we don't need to test with it so we let's ignore it */
if (tableName.equals("citus_tables")) {
/* skip Citus-managed views in the public schema (citus_tables, citus_schemas, etc.) */
if (tableName.startsWith("citus_")) {
continue;
}
String distributionColumnName = rs.getString("dist_col_name");
Expand Down
5 changes: 4 additions & 1 deletion src/sqlancer/citus/gen/CitusCommon.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public static List<String> getCitusErrors() {
"functions used in the WHERE clause of modification queries on distributed tables must not be VOLATILE");
errors.add("cannot execute ADD CONSTRAINT command with other subcommands");
errors.add("cannot execute ALTER TABLE command involving partition column");
errors.add("alter table command is currently unsupported");
errors.add("could not run distributed query with FOR UPDATE/SHARE commands");
errors.add("is not a regular, foreign or partitioned table");
errors.add("must be a distributed table or a reference table");
Expand All @@ -53,13 +54,15 @@ public static List<String> getCitusErrors() {
errors.add("direct joins between distributed and local tables are not supported");
errors.add("unlogged columnar tables are not supported");
errors.add("UPDATE and CTID scans not supported for ColumnarScan");
errors.add("indexes not supported for columnar tables");
errors.add("unsupported access method for the index on columnar table");
errors.add("BRIN indexes on columnar tables are not supported");
errors.add("invalid byte sequence for encoding \"UTF8\": 0x00");
errors.add("columnar_tuple_insert_speculative not implemented");
errors.add("row field count is 1, expected 2");
errors.add("incorrect binary data format");
errors.add("invalid sign in external \"numeric\" value");
errors.add("Foreign keys and AFTER ROW triggers are not supported for columnar tables");
errors.add("could not open relation with OID 0");

// current errors in Citus (to be removed once fixed)
if (CitusBugs.bug3957) {
Expand Down
6 changes: 6 additions & 0 deletions src/sqlancer/postgres/PostgresSchema.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,12 @@ public static PostgresDataType getColumnType(String typeString) {
case "character varying":
case "name":
case "regclass":
case "regnamespace":
case "regrole":
case "regtype":
case "regproc":
case "regprocedure":
case "regoper":
return PostgresDataType.TEXT;
case "numeric":
return PostgresDataType.DECIMAL;
Expand Down
Loading