Embedded SQL in PostgreSQL

Size: px
Start display at page:

Download "Embedded SQL in PostgreSQL"

Transcription

1 March 24, 2011

2 Michael Meskes Since 1993 Free Software Since 1994 Linux Since 1995 Debian GNU/Linux Since 1998 PostgreSQL

3 Michael Meskes Ph.D Project Manager Branch Manager since 2000 President

4 Embedded SQL Embedded SQL is a method of combining the computing power of a programming language and the database manipulation capabilities of SQL. take from wikipedia

5 PostgreSQL Programming result = PQexec(conn, "SELECT * FROM foo;"); num_rows = PQntuples(result); field = PQfnumber(result "attribute"); value = PQgetvalue(result, current_row, field); isnull = PQgetisnull(result, current_row, field); size = PQgetlength(result, current_row, field); type = PQftype(result, field);

6 Concepts of Embedded SQL SQL-Standard Ordinary C program with embedded SQL Preprocessor (ECPG) transforms SQL-Code into library calls SQL-Syntax is checked during preprocessor run Better accessability of data between C and SQL

7 Example #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { puts("hello"); EXEC SQL UPDATE tabelle SET a = a + 1; }

8 Example /* Processed by ecpg (4.6.0) */ /* These include files are added by the preprocessor */ #include <ecpglib.h> #include <ecpgerrno.h> #include <sqlca.h> /* End of automatic include section */ #line 1 "a.pgc" #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { puts("hello"); { ECPGdo( LINE, 0, 1, NULL, 0, ECPGst_normal, "update tabelle set a = a + 1", ECPGt_EOIT, ECPGt_EORT);} #line 9 "a.pgc" }

9 Connecting EXEC SQL CONNECT TO dbname AS connname USER user; For example: EXEC SQL CONNECT TO tcp:postgresql://sql.beispiel.de:5432/mydb AS myconn USER peter IDENTIFIED BY secret ;

10 Close connection EXEC SQL DISCONNECT; -- close current connection EXEC SQL DISCONNECT connname;

11 Execute SQL commands EXEC SQL CREATE TABLE foo (number integer, ascii char(16)); EXEC SQL INSERT INTO foo (number, ascii ) VALUES (9999, doodad ); EXEC SQL DELETE FROM foo WHERE number = 9999; EXEC SQL UPDATE foo SET ascii = foobar WHERE number = 9999 ;

12 Autocommit The default configuration doesn t do COMMIT automatically. So don t forget to do it yourself: EXEC SQL COMMIT;

13 Commands with host variables (1) EXEC SQL BEGIN DECLARE SECTION; int v1; char v2[100]; EXEC SQL END DECLARE SECTION; v1 = 42; strcpy(v2, "text"); EXEC SQL INSERT INTO test VALUES (:v1, :v2); EXEC SQL COMMIT;

14 Commands with host variables (2) EXEC SQL BEGIN DECLARE SECTION; int v1; VARCHAR v2[40]; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE foo CURSOR FOR SELECT a, b FROM test; do { EXEC SQL FETCH NEXT FROM foo INTO :v1, :v2; } while ();

15 Translated #line 2 "a.pgc" int v1, ind1 ; #line 3 "a.pgc" struct varchar_v2_1 { int len; char arr[ 40 ]; } v2 ; /* exec sql end declare section */ #line 4 "a.pgc" /* declare foo cursor for select a, b from test */ #line 6 "a.pgc" { ECPGdo( LINE, 0, 1, NULL, 0, ECPGst_normal, "declare foo cursor for select a, b from test", } #line 7 "a.pgc" do { { ECPGdo( LINE, 0, 1, NULL, 0, ECPGst_normal, "fetch next from foo", ECPGt_EOIT, ECPGt_int,&(v1),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_varchar,&(v2),(long)40,(long)1,sizeof(struct varchar_v2_1), ECPGt_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGt_EORT);} #line 11 "a.pgc" } while ();

16 Null Values EXEC SQL INSERT INTO test(id, val) VALUES(2, :intvar :nullind); EXEC SQL SELECT val INTO :intvar :nullind from test; EXEC SQL UPDATE test SET val = :intvar :nullind;

17 Error Trapping: Callbacks EXEC SQL WHENEVER SQLERROR STOP; EXEC SQL WHENEVER SQLWARNING SQLPRINT; EXEC SQL WHENEVER SQLERROR CALL func();

18 Error Trapping: SQLCA struct { char sqlcaid[8]; long sqlabc; long sqlcode; struct { int sqlerrml; char sqlerrmc[70]; } sqlerrm; char sqlerrp[8]; long sqlerrd[6]; char sqlwarn[8]; char sqlstate[5]; } sqlca;

19 Compile sources with ecpg ecpg prog1.pgc # (erzeugt prog1.c) cc -c -I/usr/include/postgresql prog1.c # (erzeugt prog1.o) cc -o prog prog1.o -lecpg # (erzeugt prog) Makefiles make things easier...

20 Informix Compatibility $int j = 3; $CONNECT TO :dbname; $CREATE TABLE test(i INT PRIMARY KEY, j INT); $INSERT INTO test(i, j) VALUES (7, :j); $COMMIT; $CLOSE; Additional types Additional embedded SQL statements Informix-compatible SQLDA Descriptor Areas Additional functions Additional constants

21 Migrationen EXEC SQL CONNECT SQL-Migration Variables Changes to the precompiler possible Compatibility layer

22 History Linus Tolke Import to Postgres early 1998 Compatibility layer 2003

23 Current Versions Precompiler Library 6.2 Types Library 3.1 Compatibility Library 3.2

24 Further Development On-going Performance, e.g. Auto-Prepare Standardfeatures, e.g. SQLDA Compatibility

25 We need YOU! Remarks? Feedback? Requests?

First lecture of this chapter is in slides (PPT file)

First lecture of this chapter is in slides (PPT file) First lecture of this chapter is in slides (PPT file) Review of referential integrity CREATE TABLE other_table ( b1 INTEGER, c1 INTEGER, PRIMARY KEY (b1, c1) ) CREATE TABLE t ( a integer PRIMARY KEY, b2

More information

EDB Postgres Advanced Server ECPGPlus Guide

EDB Postgres Advanced Server ECPGPlus Guide EDB Postgres Advanced Server ECPGPlus Guide EDB Postgres Advanced Server 10 August 2, 2017 EDB Postgres Advanced Server ECPGPlus Guide by EnterpriseDB Corporation Copyright 2012-2017 EnterpriseDB Corporation.

More information

EMBEDDED SQL Part 1: Static Statements

EMBEDDED SQL Part 1: Static Statements EMBEDDED SQL Part 1: Static Statements 1-1 List of Slides 1 2 Database Applications 3 How does client/server work? 4 Embedded SQL 5 Embedded SQL (cont.) 6 Application Structure 7 Declarations 8 Host Variables

More information

SQL from Applications

SQL from Applications SQL from Applications UVic C SC 370 Dr. Daniel M. German Department of Computer Science June 4, 2003 Version: 1.1.0 6 1 SQL from Applications (1.1.0) CSC 370 dmgerman@uvic.ca Overview Embedded SQL JDBC

More information

Overview. SQL from Applications. Accesing data from an application. Embedded SQL JDBC Stored Procedures. UVic C SC 370, Fall 2002

Overview. SQL from Applications. Accesing data from an application. Embedded SQL JDBC Stored Procedures. UVic C SC 370, Fall 2002 SQL from Applications UVic C SC 370, Fall 2002 Embedded SQL JDBC Stored Procedures Overview Daniel M. German Department of Computer Science University of Victoria October 15, 2002 Version: 1.00 6 1 SQL

More information

4 Application Programming

4 Application Programming 4 Application Programming 4.1 PL/SQL 4.1.1 Introduction The development of database applications typically requires language constructs similar to those that can be found in programming languages such

More information

Jim Buck Phone Twitter

Jim Buck Phone Twitter Jim Buck Phone 262-705-2832 jbuck@impowertechnologies.com Twitter - @jbuck_impower www.impowertechnologies.com Presentation Copyright 2017 impowertechnologies.com 5250 & SEU Doesn t work anymore! SEU doesn

More information

4 Application Programming

4 Application Programming 4 Application Programming 4.1 PL/SQL 4.1.1 Introduction The development of database applications typically requires language constructs similar to those that can be found in programming languages such

More information

Dynamic Embedded SQL

Dynamic Embedded SQL Dynamic Embedded SQL Fall 2017 School of Computer Science University of Waterloo Databases CS348 (University of Waterloo) Dynamic Embedded SQL 1 / 22 Dynamic SQL Goal execute a string as a SQL statement

More information

EMBEDDED SQL. Part 2: Dynamic Statements. University of Waterloo

EMBEDDED SQL. Part 2: Dynamic Statements. University of Waterloo EMBEDDED SQL Part 2: Dynamic Statements 1-1 List of Slides 1 2 Dynamic SQL 3 Dynamic SQL: a Roadmap 4 EXECUTE IMMEDIATE 5 PREPARE 6 Parametric Statements 7 Simple statement: EXECUTE 8 Query with many answers:

More information

IBM i Version 7.2. Database Embedded SQL programming IBM

IBM i Version 7.2. Database Embedded SQL programming IBM IBM i Version 7.2 Database Embedded SQL programming IBM IBM i Version 7.2 Database Embedded SQL programming IBM Note Before using this information and the product it supports, read the information in

More information

Database Embedded SQL programming

Database Embedded SQL programming System i Database Embedded SQL programming Version 6 Release 1 System i Database Embedded SQL programming Version 6 Release 1 Note Before using this information and the product it supports, read the information

More information

Cincom AD/Advantage. MANTIS Oracle Programming Android /Windows /Linux /UNIX P MANTIS

Cincom AD/Advantage. MANTIS Oracle Programming Android /Windows /Linux /UNIX P MANTIS Cincom AD/Advantage MANTIS Oracle Programming Android /Windows /Linux /UNIX P39-1372-05 MANTIS 3.3.01 Cincom AD/Advantage MANTIS Oracle Programming Android /Windows /Linux /UNIX Publication Number P39-1372-05

More information

Cincom AD/Advantage. MANTIS ODBC Programming Windows P MANTIS

Cincom AD/Advantage. MANTIS ODBC Programming Windows P MANTIS Cincom AD/Advantage MANTIS ODBC Programming Windows P39-1366-04 MANTIS 3.3.01 Cincom AD/Advantage MANTIS ODBC Programming Windows Publication Number P39-1366-04 2008, 2010, 2011, 2013 Cincom Systems, Inc.

More information

Embedded SQL. Introduction

Embedded SQL. Introduction Embedded SQL Davood Rafiei 1 Introduction Basic Idea: Use SQL statements inside a host language (C, C++, Java, ). Advantages: Can do all the fancy things you do in C/C++/Java. Still have the power of SQL.

More information

Embedded SQL. Davood Rafiei

Embedded SQL. Davood Rafiei Embedded SQL Davood Rafiei 1 Introduction Basic Idea: Use SQL statements inside a host language (C, C++, Java, ). Advantages: Can do all the fancy things you do in C/C++/Java. Still have the power of SQL.

More information

Issue 4, March HW([SUHVV Š GDWDEDVHDFFHVV

Issue 4, March HW([SUHVV Š GDWDEDVHDFFHVV 'DWDEDVH$FFHVV Issue 4, March 2002 1HW([SUHVV Š GDWDEDVHDFFHVV Copyright 2002 Micro Focus International Limited. All rights reserved. Micro Focus International Limited has made every effort to ensure that

More information

FUJITSU Enterprise Postgres Embedded SQL in C and COBOL

FUJITSU Enterprise Postgres Embedded SQL in C and COBOL FUJITSU Enterprise Postgres Embedded SQL in C and COBOL Many companies still run legacy systems that they find to be too large, complex, or vital to be rewritten using newer languages, especially since

More information

SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.

SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8. SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.4 of Garcia-Molina Slides derived from those by Jeffrey D. Ullman SQL and Programming

More information

Using SQL & CURSORS In Your Programs

Using SQL & CURSORS In Your Programs Cursored Again! Using SQL & CURSORS In Your Programs Presentation Copyright 2015, Enskill.com Jim Buck Phone 262-705-2832 jbuck@impowertechnologies.com Twitter - @j_buck51 5250 & SEU Doesn t work anymore!

More information

Outline. Lecture 1 C primer What we will cover. If-statements and blocks in Python and C. Operators in Python and C

Outline. Lecture 1 C primer What we will cover. If-statements and blocks in Python and C. Operators in Python and C Lecture 1 C primer What we will cover A crash course in the basics of C You should read the K&R C book for lots more details Various details will be exemplified later in the course Outline Overview comparison

More information

Embedded SQL /COBOL Programmers Guide. Open Client 15.5

Embedded SQL /COBOL Programmers Guide. Open Client 15.5 Embedded SQL /COBOL Programmers Guide Open Client 15.5 DOCUMENT ID: DC37696-01-1550-02 LAST REVISED: September 2010 Copyright 2010 by Sybase, Inc. All rights reserved. This publication pertains to Sybase

More information

Programming the DMCC in C

Programming the DMCC in C Programming the DMCC in C Task This tutorial will teach you how to write your first program on a dual motor control cape (DMCC) through the BeagleBone microcontroller. The DMCC is a stackable board that

More information

About these Release Notes

About these Release Notes Pro*C/C++ Release Notes 18c E84346-01 February 2018 Release Notes About these Release Notes This document contains important information about Pro*C/C++ release 18c, version 18.1. It contains the following

More information

Chapter 13 Introduction to SQL Programming Techniques

Chapter 13 Introduction to SQL Programming Techniques Chapter 13 Introduction to SQL Programming Techniques Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Outline Database Programming: Techniques and Issues Embedded

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 10 Outline Database Programming: Techniques and Issues Embedded SQL, Dynamic SQL, and SQLJ Database Programming with Function Calls: SQL/CLI and JDBC Database Stored Procedures and SQL/PSM Comparing

More information

Procedures, Parameters, Values and Variables. Steven R. Bagley

Procedures, Parameters, Values and Variables. Steven R. Bagley Procedures, Parameters, Values and Variables Steven R. Bagley Recap A Program is a sequence of statements (instructions) Statements executed one-by-one in order Unless it is changed by the programmer e.g.

More information

A Short Course for REU Students Summer Instructor: Ben Ransford

A Short Course for REU Students Summer Instructor: Ben Ransford C A Short Course for REU Students Summer 2008 Instructor: Ben Ransford http://www.cs.umass.edu/~ransford/ ransford@cs.umass.edu 1 Outline Last time: basic syntax, compilation This time: pointers, libraries,

More information

Product Documentation. InterBase Update 2. Embedded SQL Guide

Product Documentation. InterBase Update 2. Embedded SQL Guide Product Documentation InterBase 2017 Update 2 Embedded SQL Guide 2018 Embarcadero Technologies, Inc. Embarcadero, the Embarcadero Technologies logos, and all other Embarcadero Technologies product or service

More information

Lecture Notes Database Management Patrick E. O'Neil and Elizabeth O'Neil

Lecture Notes Database Management Patrick E. O'Neil and Elizabeth O'Neil Lecture Notes Database Management Patrick E. O'Neil and Elizabeth O'Neil Chapter 5: Embedded SQL Programs. Embedded SQL means SQL statements embedded in host language (C in our case). The original idea

More information

ECE264 Summer 2013 Exam 1, June 20, 2013

ECE264 Summer 2013 Exam 1, June 20, 2013 ECE26 Summer 2013 Exam 1, June 20, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it. I

More information

ECE264 Fall 2013 Exam 1, September 24, 2013

ECE264 Fall 2013 Exam 1, September 24, 2013 ECE264 Fall 2013 Exam 1, September 24, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.

More information

Embedded SQL Guide. Borland InterBase VERSION 7.5. Borland Software Corporation 100 Enterprise Way, Scotts Valley, CA

Embedded SQL Guide. Borland InterBase VERSION 7.5. Borland Software Corporation 100 Enterprise Way, Scotts Valley, CA Embedded SQL Guide VERSION 7.5 Borland InterBase Borland Software Corporation 100 Enterprise Way, Scotts Valley, CA 95066-3249 www.borland.com Borland Software Corporation may have patents and/or pending

More information

ELEC 377 C Programming Tutorial. ELEC Operating Systems

ELEC 377 C Programming Tutorial. ELEC Operating Systems ELE 377 Programming Tutorial Outline! Short Introduction! History & Memory Model of! ommon Errors I have seen over the years! Work through a linked list example on the board! - uses everything I talk about

More information

static const char FROM_DATE[] = " "; exec sql begin declare section; static const short TICKET_STATUS_ISSUED = 1;

static const char FROM_DATE[] =  ; exec sql begin declare section; static const short TICKET_STATUS_ISSUED = 1; // TicketGen.cpp - TICKET DATABASE GENERATOR // // MODULE INDEX // NAME CONTENTS // main Main line // // MAINTENANCE HISTORY // DATE PROGRAMMER AND DETAILS // 24-09-12 JS Original // #include

More information

From Java to C. Thanks to Randal E. Bryant and David R. O'Hallaron (Carnegie-Mellon University) for providing the basis for these slides

From Java to C. Thanks to Randal E. Bryant and David R. O'Hallaron (Carnegie-Mellon University) for providing the basis for these slides From Java to C Thanks to Randal E. Bryant and David R. O'Hallaron (Carnegie-Mellon University) for providing the basis for these slides 1 Outline Overview comparison of C and Java Good evening Preprocessor

More information

Chapter 9 SQL in a server environment

Chapter 9 SQL in a server environment Chapter 9 SQL in a server environment SQL in a Programming Environment embedded SQL persistent stored modules Database-Connection Libraries Call-level interface (CLI) JDBC PHP SQL in Real Programs We have

More information

Introduction to C. Sean Ogden. Cornell CS 4411, August 30, Geared toward programmers

Introduction to C. Sean Ogden. Cornell CS 4411, August 30, Geared toward programmers Introduction to C Geared toward programmers Sean Ogden Slide heritage: Alin Dobra Niranjan Nagarajan Owen Arden Robert Escriva Zhiyuan Teo Ayush Dubey Cornell CS 4411, August 30, 2013 Administrative Information

More information

Introduction to C. Ayush Dubey. Cornell CS 4411, August 31, Geared toward programmers

Introduction to C. Ayush Dubey. Cornell CS 4411, August 31, Geared toward programmers Introduction to C Geared toward programmers Ayush Dubey Slide heritage: Alin Dobra Niranjan Nagarajan Owen Arden Robert Escriva Zhiyuan Teo Cornell CS 4411, August 31, 2012 Administrative Information Outline

More information

CSE 333 Lecture 6 - data structures

CSE 333 Lecture 6 - data structures CSE 333 Lecture 6 - data structures Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia Exercises: - ex5 is out: clean up the code from section yesterday, split

More information

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.)

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.) Overview Database Application Development Chapter 6 Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Lecture 10: Potpourri: Enum / struct / union Advanced Unix #include function pointers

Lecture 10: Potpourri: Enum / struct / union Advanced Unix #include function pointers ....... \ \ \ / / / / \ \ \ \ / \ / \ \ \ V /,----' / ^ \ \.--..--. / ^ \ `--- ----` / ^ \. ` > < / /_\ \. ` / /_\ \ / /_\ \ `--' \ /. \ `----. / \ \ '--' '--' / \ / \ \ / \ / / \ \ (_ ) \ (_ ) / / \ \

More information

Announcements. CSCI 334: Principles of Programming Languages. Lecture 18: C/C++ Announcements. Announcements. Instructor: Dan Barowy

Announcements. CSCI 334: Principles of Programming Languages. Lecture 18: C/C++ Announcements. Announcements. Instructor: Dan Barowy CSCI 334: Principles of Programming Languages Lecture 18: C/C++ Homework help session will be tomorrow from 7-9pm in Schow 030A instead of on Thursday. Instructor: Dan Barowy HW6 and HW7 solutions We only

More information

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems Programs CSCI 4061 Introduction to Operating Systems C Program Structure Libraries and header files Compiling and building programs Executing and debugging Instructor: Abhishek Chandra Assume familiarity

More information

IBM -

IBM - 6.1 6.2 6.3 6.4 2 6.1 q 6.1.1 SQL 3 q 6.1.2 Ø q Ø Ø Ø call level interface q Ø Web 4 6.1 6.2 6.3 6.4 5 6.2 q 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 SQL 6 6.2.1 q q Ø Ø Ø Ø 7 6.2.2 q q CONNECT TO < > < > < > [AS

More information

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is

More information

Oracle Database. Programmer s Guide to the Oracle Precompilers 10g Release 2 (10.2) B

Oracle Database. Programmer s Guide to the Oracle Precompilers 10g Release 2 (10.2) B Oracle Database Programmer s Guide to the Oracle Precompilers 10g Release 2 (10.2) B14354-01 June 2005 Oracle Database Programmer s Guide to the Oracle Precompilers, 10g Release 2 (10.2) B14354-01 Copyright

More information

Introduction to C. Robert Escriva. Cornell CS 4411, August 30, Geared toward programmers

Introduction to C. Robert Escriva. Cornell CS 4411, August 30, Geared toward programmers Introduction to C Geared toward programmers Robert Escriva Slide heritage: Alin Dobra Niranjan Nagarajan Owen Arden Cornell CS 4411, August 30, 2010 1 Why C? 2 A Quick Example 3 Programmer s Responsibilities

More information

Arrays and Pointers in C. Alan L. Cox

Arrays and Pointers in C. Alan L. Cox Arrays and Pointers in C Alan L. Cox alc@rice.edu Objectives Be able to use arrays, pointers, and strings in C programs Be able to explain the representation of these data types at the machine level, including

More information

ECE264 Spring 2013 Final Exam, April 30, 2013

ECE264 Spring 2013 Final Exam, April 30, 2013 ECE264 Spring 2013 Final Exam, April 30, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing

More information

ITCS Implementation. Jing Yang 2010 Fall. Class 14: Introduction to SQL Programming Techniques (Ch13) Outline

ITCS Implementation. Jing Yang 2010 Fall. Class 14: Introduction to SQL Programming Techniques (Ch13) Outline ITCS 3160 Data Base Design and Implementation Jing Yang 2010 Fall Class 14: Introduction to SQL Programming Techniques (Ch13) Outline Database Programming: Techniques and Issues Three approaches: Embedded

More information

CSE 333 Midterm Exam 7/29/13

CSE 333 Midterm Exam 7/29/13 Name There are 5 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: C and Unix Overview

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: C and Unix Overview Computer Science 322 Operating Systems Mount Holyoke College Spring 2010 Topic Notes: C and Unix Overview This course is about operating systems, but since most of our upcoming programming is in C on a

More information

REXX/SQL for VM. User s Guide. Software Product Research

REXX/SQL for VM. User s Guide. Software Product Research REXX/SQL for VM User s Guide Software Product Research REXX/SQL for VM Version 1 Copyright Software Product Research 2000 SQL/Monitoring Facility is a product name owned by Software Product Research All

More information

CS 261 Data Structures. Introduction to C Programming

CS 261 Data Structures. Introduction to C Programming CS 261 Data Structures Introduction to C Programming Why C? C is a lower level, imperative language C makes it easier to focus on important concepts for this class, including memory allocation execution

More information

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2016 Programming Assignment 1 Introduction The purpose of this

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2016 Programming Assignment 1 Introduction The purpose of this UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Summer 2016 Programming Assignment 1 Introduction The purpose of this programming assignment is to give you some experience

More information

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco

CS 326 Operating Systems C Programming. Greg Benson Department of Computer Science University of San Francisco CS 326 Operating Systems C Programming Greg Benson Department of Computer Science University of San Francisco Why C? Fast (good optimizing compilers) Not too high-level (Java, Python, Lisp) Not too low-level

More information

Writing PostgreSQL Applications

Writing PostgreSQL Applications Writing PostgreSQL Applications Bruce Momjian 16th January 2003 POSTGRESQL is an object-relational database developed on the Internet by a group of developers spread across the globe. It is an open-source

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to development tools 0.1 Development tools During this course, only the make tool, compilers, and the GIT tool will be used for the sake of simplicity:

More information

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT C Review MaxMSP Developers Workshop Summer 2009 CNMAT C Syntax Program control (loops, branches): Function calls Math: +, -, *, /, ++, -- Variables, types, structures, assignment Pointers and memory (***

More information

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017)

UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall Programming Assignment 1 (updated 9/16/2017) UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 4500/8506 Operating Systems Fall 2017 Programming Assignment 1 (updated 9/16/2017) Introduction The purpose of this programming assignment is to give you

More information

Information Science. No. For each question, choose one correct answer and write its symbol (A E) in the box.

Information Science. No. For each question, choose one correct answer and write its symbol (A E) in the box. For each question, choose one correct answer and write its symbol (A E) in the box. (A E) Q16. When compiling the program below, the name of which is prog.c, the following error is reported. Which program

More information

Teradata Database. SQL Reference. Stored Procedures and Embedded SQL

Teradata Database. SQL Reference. Stored Procedures and Embedded SQL Teradata Database SQL Reference Stored Procedures and Embedded SQL Release V2R6.2 B035-1148-096A September 2006 The product described in this book is a licensed product of Teradata, a division of NCR Corporation.

More information

COMP1917: 09 Arrays and Strings

COMP1917: 09 Arrays and Strings COMP1917: 09 Arrays and Strings Sim Mautner s.mautner@unsw.edu.au August 15, 2016 Sim Mautner (UNSW) COMP1917: 09 Arrays and Strings August 15, 2016 1 / 14 Arrays int sum(int n1, int n2); int sum(int n1,

More information

Symptom. Environment. Resolution What words are reserved and cannot be used in BPC? Version 3 Validity:

Symptom. Environment. Resolution What words are reserved and cannot be used in BPC? Version 3 Validity: SAP Knowledge Base Article 1632682 - What words are reserved and cannot be used in BPC? Version 3 Validity: 16.09.2011 - active Language English Symptom What words are reserved and cannot be used in Business

More information

Chapter 11 Introduction to Programming in C

Chapter 11 Introduction to Programming in C C: A High-Level Language Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University! Gives

More information

GDB Tutorial. Young W. Lim Tue. Young W. Lim GDB Tutorial Tue 1 / 32

GDB Tutorial. Young W. Lim Tue. Young W. Lim GDB Tutorial Tue 1 / 32 GDB Tutorial Young W. Lim 2017-02-14 Tue Young W. Lim GDB Tutorial 2017-02-14 Tue 1 / 32 Outline 1 Introduction Young W. Lim GDB Tutorial 2017-02-14 Tue 2 / 32 Based on "Self-service Linux: Mastering the

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic

More information

Chapter 11 Introduction to Programming in C

Chapter 11 Introduction to Programming in C Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified by Chris Wilcox, Yashwant Malaiya Colorado State University C: A High-Level Language

More information

This exam is to be taken by yourself with closed books, closed notes, no calculators.

This exam is to be taken by yourself with closed books, closed notes, no calculators. Student ID CSE 5A Name Final Signature Fall 2004 Page 1 (12) cs5a This exam is to be taken by yourself with closed books, closed notes, no calculators. Page 2 (33) Page 3 (32) Page 4 (27) Page 5 (40) Page

More information

ORACLE: PL/SQL Programming

ORACLE: PL/SQL Programming %ROWTYPE Attribute... 4:23 %ROWTYPE... 2:6 %TYPE... 2:6 %TYPE Attribute... 4:22 A Actual Parameters... 9:7 Actual versus Formal Parameters... 9:7 Aliases... 8:10 Anonymous Blocks... 3:1 Assigning Collection

More information

Computer Systems Assignment 2: Fork and Threads Package

Computer Systems Assignment 2: Fork and Threads Package Autumn Term 2018 Distributed Computing Computer Systems Assignment 2: Fork and Threads Package Assigned on: October 5, 2018 Due by: October 12, 2018 1 Understanding fork() and exec() Creating new processes

More information

Session:17701 Multi-Row Processing Coding it in COBOL

Session:17701 Multi-Row Processing Coding it in COBOL Session:17701 Multi-Row Processing Coding it in COBOL Paul Fletcher IBM 7th October 2009 14.15-15.15 Platform:z/OS DB2 V8 promoted Multi-Row processing as one of the major performance enhancements, you

More information

CSE 333 Midterm Exam 7/22/12

CSE 333 Midterm Exam 7/22/12 Name There are 6 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes, closed

More information

CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community

CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community http://csc.cs.rit.edu History and Evolution of Programming Languages 1. Explain the relationship between machine

More information

CS 0449 Sample Midterm

CS 0449 Sample Midterm Name: CS 0449 Sample Midterm Multiple Choice 1.) Given char *a = Hello ; char *b = World;, which of the following would result in an error? A) strlen(a) B) strcpy(a, b) C) strcmp(a, b) D) strstr(a, b)

More information

Question 1. [15 marks]

Question 1. [15 marks] Note to Students: This file contains sample solutions to the term test together with the marking scheme and comments for each question. Please read the solutions and the marking schemes and comments carefully.

More information

Migration to PostgreSQL - preparation and methodology

Migration to PostgreSQL - preparation and methodology Migration to PostgreSQL - preparation and methodology Joe Conway, Michael Meskes credativ Group September 14, 2011 Joe Conway - Open Source Presenters Intro Preparation Conversion PostgreSQL (and Linux)

More information

COBOL - DATABASE INTERFACE

COBOL - DATABASE INTERFACE COBOL - DATABASE INTERFACE http://www.tutorialspoint.com/cobol/cobol_database_interface.htm Copyright tutorialspoint.com As of now, we have learnt the use of files in COBOL. Now, we will discuss how a

More information

CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011. MIDTERM EXAMINATION Spring 2010

CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011. MIDTERM EXAMINATION Spring 2010 CS201- Introduction to Programming Latest Solved Mcqs from Midterm Papers May 07,2011 Lectures 1-22 Moaaz Siddiq Asad Ali Latest Mcqs MIDTERM EXAMINATION Spring 2010 Question No: 1 ( Marks: 1 ) - Please

More information

Lesson 6.1: Structs. This declares a collection of two integer variables to denote the two coordinates of a point in a plane.

Lesson 6.1: Structs. This declares a collection of two integer variables to denote the two coordinates of a point in a plane. Lesson 6.1: Structs Programming in C Prof. Dr. Eike Best Dr. Elke Wilkeit October 12, 2002 1 struct point { 2 int x; 3 int y; 4 }; This declares a collection of two integer variables to denote the two

More information

Two s Complement Review. Two s Complement Review. Agenda. Agenda 6/21/2011

Two s Complement Review. Two s Complement Review. Agenda. Agenda 6/21/2011 Two s Complement Review CS 61C: Great Ideas in Computer Architecture (Machine Structures) Introduction to C (Part I) Instructor: Michael Greenbaum http://inst.eecs.berkeley.edu/~cs61c/su11 Suppose we had

More information

Tutorial 1 C Tutorial: Pointers, Strings, Exec

Tutorial 1 C Tutorial: Pointers, Strings, Exec TCSS 422: Operating Systems Institute of Technology Spring 2017 University of Washington Tacoma http://faculty.washington.edu/wlloyd/courses/tcss422 Tutorial 1 C Tutorial: Pointers, Strings, Exec The purpose

More information

Contents. A Review of C language. Visual C Visual C++ 6.0

Contents. A Review of C language. Visual C Visual C++ 6.0 A Review of C language C++ Object Oriented Programming Pei-yih Ting NTOU CS Modified from www.cse.cuhk.edu.hk/~csc2520/tuto/csc2520_tuto01.ppt 1 2 3 4 5 6 7 8 9 10 Double click 11 12 Compile a single source

More information

Array Initialization

Array Initialization Array Initialization Array declarations can specify initializations for the elements of the array: int primes[10] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ; initializes primes[0] to 2, primes[1] to 3, primes[2]

More information

COP Programming Concepts Spring 1999 CLOSED BOOK Exam #1 100 Points NAME

COP Programming Concepts Spring 1999 CLOSED BOOK Exam #1 100 Points NAME CLOSED BOOK Exam #1 100 Points NAME 1. The following program has (at least) 10 syntax errors. Circle each error. Write the corrected program in the blank space below. 2 points for each error you find.

More information

Computational Methods of Scientific Programming Fall 2007

Computational Methods of Scientific Programming Fall 2007 MIT OpenCourseWare http://ocw.mit.edu 12.010 Computational Methods of Scientific Programming Fall 2007 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

ITCS 4/5145 Parallel Computing Test 1 5:00 pm - 6:15 pm, Wednesday February 17, 2016 Solutions Name:...

ITCS 4/5145 Parallel Computing Test 1 5:00 pm - 6:15 pm, Wednesday February 17, 2016 Solutions Name:... ITCS 4/5145 Parallel Computing Test 1 5:00 pm - 6:15 pm, Wednesday February 17, 016 Solutions Name:... Answer questions in space provided below questions. Use additional paper if necessary but make sure

More information

Chapter 11 Introduction to Programming in C

Chapter 11 Introduction to Programming in C Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University C: A High-Level Language! Gives

More information

COMP s1 Lecture 1

COMP s1 Lecture 1 COMP1511 18s1 Lecture 1 1 Numbers In, Numbers Out Andrew Bennett more printf variables scanf 2 Before we begin introduce yourself to the person sitting next to you why did

More information

CSE 333 Lecture 7 - final C details

CSE 333 Lecture 7 - final C details CSE 333 Lecture 7 - final C details Steve Gribble Department of Computer Science & Engineering University of Washington Today s topics: - a few final C details header guards and other preprocessor tricks

More information

UNDEFINED BEHAVIOR IS AWESOME

UNDEFINED BEHAVIOR IS AWESOME UNDEFINED BEHAVIOR IS AWESOME Piotr Padlewski piotr.padlewski@gmail.com, @PiotrPadlewski ABOUT MYSELF Currently working in IIIT developing C++ tooling like clang-tidy and studying on University of Warsaw.

More information

Oracle Database Programmer's Guide to the Oracle Precompilers. 12c Release 2 (12.2)

Oracle Database Programmer's Guide to the Oracle Precompilers. 12c Release 2 (12.2) Oracle Database Programmer's Guide to the Oracle Precompilers 12c Release 2 (12.2) E85800-01 January 2017 Oracle Database Programmer's Guide to the Oracle Precompilers, 12c Release 2 (12.2) E85800-01 Copyright

More information

Lecture 2, September 4

Lecture 2, September 4 Lecture 2, September 4 Intro to C/C++ Instructor: Prashant Shenoy, TA: Shashi Singh 1 Introduction C++ is an object-oriented language and is one of the most frequently used languages for development due

More information

Slide Set 9. for ENCM 335 in Fall Steve Norman, PhD, PEng

Slide Set 9. for ENCM 335 in Fall Steve Norman, PhD, PEng Slide Set 9 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary October 2018 ENCM 335 Fall 2018 Slide Set 9 slide 2/32

More information

CSE 333 Lecture 5 - data structures & modules

CSE 333 Lecture 5 - data structures & modules CSE 333 Lecture 5 - data structures & modules Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia HW1 out now, due in 2 weeks minus ε. Start early and make steady

More information

PRINCIPLES OF OPERATING SYSTEMS

PRINCIPLES OF OPERATING SYSTEMS PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)

More information

C-String Library Functions

C-String Library Functions Strings Class 34 C-String Library Functions there are several useful functions in the cstring library strlen: the number of characters before the \0 strncat: concatenate two strings together strncpy: overwrite

More information