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

Include client library version and protocol version in mon$attachments [CORE2780] #3171

Closed
firebird-automations opened this issue Nov 30, 2009 · 19 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Douglas Tosi (douglasht)

Is duplicated by CORE3938
Is related to QA650
Block progress on DNET652

Having the client library version and protocol version listed in mon$attachments would be useful. For example to track clients that need an upgrade.

Commits: 9f2a992

====== Test Details ======

Explanation about prefixes for client version:
Windows: WI
Linux: LI
MacOS: UI (intel) or UP (powerpc)
Solaris: SI (intel) or SO (spark)
HP-UX: HP
'-T' = Testing; '-V' = RC or release
Sufixes: 'Firebird' followed by space and at least one digit (letter from dimitr 10-apr-2015 09:19)

PS. Test uses SIMILAR TO in order to check format of output.
If it will fail in the future than it can be due to some bugs in SIMILAR TO.
See also test for CORE2006 with list of other tickets related to SIMILAR TO.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Dmitry Yemanov [ dimitr ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

Why would you need both the client library version and the protocol version? The latest supported protocol version is always used, so if you know the fbclient version, then you can figure out the protocol one (but not vice versa). Considering that, why would the protocol version be important to know?

@firebird-automations
Copy link
Collaborator Author

Commented by: Douglas Tosi (douglasht)

I agree with you when the client is using fbclient.dll.
But if it is using the .net provider or the java provider, client versions may not make much sense. That's why I thought protocol version would be interesting.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: Open [ 1 ] => In Progress [ 3 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: In Progress [ 3 ] => Open [ 1 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Arioch (arioch)

What is exactly the fix ? i searched for "mon$" in http://web.firebirdsql.org/download/snapshot_builds/win/3.0/Firebird-3.0.0.30050-ChangeLog.txt and found nothing related to client version ID

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

The fix was a new column MON$CLIENT_VERSION in MON$ATTACHMENTS, appopriately reported by any client library starting with v3.0. Older versions (or no client library at all like pure JDBC or .NET Provider connections) will have NULL in this field. Another field has been added to report the network protocol version tag.

@firebird-automations
Copy link
Collaborator Author

Commented by: Arioch (arioch)

why jaybird and .Net Provider are not client libraries ? they transcode internal wire protocol to a persistent published API

does that column provide to tell fbclient.dll from fbembed.dll from gds32.dll ?
I think this column should have strict specification for its format...

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

They don't use fbclient, so they would have to identify them differently. But it could be possible to do that the same way fbclient does it (from the API POV) so that their version would be seen in the same column.

@firebird-automations
Copy link
Collaborator Author

Commented by: Arioch (arioch)

It would be rather nice. And i think wire protocol should have some stricter specifications, so that all the client libs 9native, JVM, CL:R, Python, whatever) acted uniformly regarding every feature.

You can say like "JayBord is not Firebird" - but the user, who just downloaded them both from http://firebirdsql.org would never agree

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

> And i think wire protocol should have some stricter specifications
It have nothing common with wire protocol.
Application (client library) is free to [not] specify any misc flag in DPB

If *you* require client version - make check for its presence at ON CONNECT trigger...

@firebird-automations
Copy link
Collaborator Author

Commented by: Arioch (arioch)

wire protocol may have guidelines or even requirements for modern libraries to specify their version

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Link: This issue is duplicated by CORE3938 [ CORE3938 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: Done successfully

Test Details: See also test for CORE2006.
Explanation about prefixes for client version -- see letter from dimitr 10-apr-2015 09:19.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

Test Details: See also test for CORE2006.
Explanation about prefixes for client version -- see letter from dimitr 10-apr-2015 09:19.

=>

Explanation about prefixes for client version:
Windows: WI
Linux: LI
MacOS: UI (intel) or UP (powerpc)
Solaris: SI (intel) or SO (spark)
HP-UX: HP
'-T' = Testing; '-V' = RC or release
Sufixes: 'Firebird' followed by space and at least one digit (letter from dimitr 10-apr-2015 09:19)

PS. Test uses SIMILAR TO in order to check format of output.
If it will fail in the future than it can be due to some bugs in SIMILAR TO.
See also test for CORE2006 with list of other tickets related to SIMILAR TO.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

Link: This issue is related to QA650 [ QA650 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @cincuranet

Link: This issue block progress on DNET652 [ DNET652 ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants