Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support long Teradata object names #402

Merged
merged 2 commits into from
Jul 19, 2015

Conversation

MMatten
Copy link
Contributor

@MMatten MMatten commented Jul 17, 2015

  • Add support for long table and column names in Teradata.
  • Add new CoreTests test to test long names for all supported DB types.

resolves #400

@MMatten
Copy link
Contributor Author

MMatten commented Jul 17, 2015

Long tables/column names are supported in Teradata from version 14.10.

Teradata Express is only available up to version 14 at the moment so we'll need assistance to test names between 31 and 128 characters.

@javornikolov
Copy link
Contributor

Thanks @MMatten .
Looking at the travis output: here is the the dbfit build.

@MMatten
Copy link
Contributor Author

MMatten commented Jul 17, 2015

Thanks. I'll need to ask the raiser of #400 to download this and test with Teradata 14.10+.

@MMatten
Copy link
Contributor Author

MMatten commented Jul 17, 2015

The new CoreTests test it an attempt to add consistent structure to the tests even when the content has to vary by DBMS. I guess we could end up with lots of !define variables with this approach though.

@javornikolov
Copy link
Contributor

The new CoreTests test it an attempt to add consistent structure to the tests even when the content has to vary by DBMS. I guess we could end up with lots of !define variables with this approach though

What about DB2, Derby, HSQLDB, MS SQL Server?

@MMatten
Copy link
Contributor Author

MMatten commented Jul 17, 2015

What about DB2, Derby, HSQLDB, MS SQL Server?

Aha! I've forgotten to commit the symlink updates in the properties.xml files...

@MMatten MMatten force-pushed the support-long-teradata-object-names branch from e2223e7 to ed78169 Compare July 17, 2015 19:25
@MMatten
Copy link
Contributor Author

MMatten commented Jul 17, 2015

Missing symlinks added for adaptors not using all of CoreTests.

Note that adapters that have a 128 char name length limit use the names from the !defines set in FitNesseRoot/DbFit/AcceptanceTests/content.txt.

':dbfit-java:teradata:check',
':dbfit-java:derby:integrationTest',
':dbfit-java:hsqldb:integrationTest'
':dbfit-java:core:check'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would vote for keeping the commas at the end of line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok for the fastbuild.

The pain is on the integrationBuild - when I uncomment ':dbfit-java:teradata:integrationTest' I have to remember to remove the comma from the end of ':dbfit-java:sqlserver:integrationTest' - always forget!

Ok to have different formatting/style?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leading comma is a bit unnatural for people to read. Besides - I think we rarely commit changes to this list. If its some personal customization - it's perhaps better to keep customizations in separate (optional) non-version controlled file which to load if present (since it will be personal, anyone can use own style and formatting).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I don't mind that.

Any ideas on how to extend the build customisation using another (non version controlled) file (or something like environment variables)?

@MMatten
Copy link
Contributor Author

MMatten commented Jul 18, 2015

I've reverted the comma position in build.gradle and added an idea for your feedback please - using the user's gradle.properties to exclude integrationBuild tasks.

I've not bothered making this iterate over a list of DB type names/integration test tasks but just to show the basic idea.

What do you think?

@javornikolov
Copy link
Contributor

Let's extract to a separate PR the configuration of excluded/included integration tests. (Seems a bit off-topic in the context of Teradata long names support). The rest looks OK to me.

@MMatten MMatten force-pushed the support-long-teradata-object-names branch from 586ff10 to 4233a58 Compare July 19, 2015 08:40
@MMatten
Copy link
Contributor Author

MMatten commented Jul 19, 2015

Good idea. It's getting too in depth for this PR.

Now removed from this one.

javornikolov added a commit that referenced this pull request Jul 19, 2015
@javornikolov javornikolov merged commit 92d659d into master Jul 19, 2015
@javornikolov javornikolov deleted the support-long-teradata-object-names branch July 19, 2015 10:05
@javornikolov javornikolov added this to the Next milestone Jul 19, 2015
@javornikolov javornikolov mentioned this pull request Aug 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Long object name in Teradata
2 participants